Slovak-HOWTO

verzia 4 (Blanka)

16. febru�r 2002


Obsah
1. �vodn� inform�cie
1.1. Licencia
1.2. Aktu�lna verzia a prispievanie
1.3. Osoby a obsadenie
2. Miestne nastavenia
2.1. Princ�py miestnych nastaven�
2.2. Miestne nastavenia pre Slovensko
2.3. Pr�klady miestnych nastaven�
3. Nastavenia konzoly
3.1. Slovenčina na v�stupe textovej konzoly
3.2. Slovensk� kl�vesnica na textovej konzole
3.3. Zhrnutie nastaven� konzoly
4. Nastavenia X Window Systemu
4.1. Slovensk� fonty v X Window Systeme
4.2. Slovensk� kl�vesnica v X Window Systeme
4.3. Slovensk� myš v X Window Systeme
4.4. Pr�klady
5. Slovenčina a linuxov� kernel
5.1. Kompil�cia kernelu so slovenskou kl�vesnicou
5.2. Diakritika v n�zvoch s�borov na FAT part�ci�ch
6. Poslovenčovanie konkr�tnych aplik�ci�
6.1. Bash
6.2. Joe
6.3. Lynx
6.4. Mandrake 8
6.5. Midnight Commander
6.6. Mutt
6.7. Readline
6.8. RPM4
6.9. Rxvt
6.10. Samba
7. Fintičky so slovenčinou
7.1. Zad�vanie slovensk�ch znakov vo Vim
7.2. Odstr�nenie alebo nahradenie diakritiky v textov�ch s�boroch

1. �vodn� inform�cie


1.2. Aktu�lna verzia a prispievanie

Ak n�jdete v tomto s�bore niečo, čo je nezl�čiteľn� s vašim linuxov�m presvedčen�m, nap�šte najsk�r do diskusie linux, potom sk-i18n, dajte pr�spevok na www.linux.sk a poohov�rajte ma na #sklug. V pr�pade, že v�s to neprejde, skontrolujte, či m�te aktu�lnu verziu a, samozrejme, až nakoniec, dajte mi vedieť. Adresy s�:

Na t�to adresu sa tiež obracajte, ak m�te niečo, čo by nemalo ch�bať v Slovak-HOWTO.

Nad�cia Pom�ž a skonaj prispela na dop�sanie časti o kl�vesnici v iXoch sama sebe čiastkou 500�000,-�Sk, v telev�zii Pom�ž a skonaj i v rovnomennom časopise boli zverejnen� inzer�ty, politick� strana PAS nekompromisne trv� na kompromise a všetci pij� miner�lku Pom�ž a skonaj. Tigre, nosorožce a l�čne kon�ky boli pokrsten�, a predsa sa s kapitolou o kl�vesnici v iXoch nič nedeje. Mimochodom, sme najč�tanejšie Slovak-HOWTO na svete!

Pri prispievan� sa sk�ste riadiť nasledovn�mi pravidlami:

  • Pre t�ch, ktor� maj� v�žny z�ujem podieľať sa na p�san� Slovak-HOWTO, je možn� CVS pr�stup priamo k zdrojov�m k�dom dokumentu na serveri cvs.linuxdoc.org v adres�ri /cvsroot/LDP/howto/docbook/Slovak-HOWTO/. Bližšie inform�cie o z�skan� CVS konta a webovskom rozhran� k CVS serveru n�jdete v LDP Autor Guide.

  • Opravy robte vždy vo form�te SGML (DTD DocBook, verzia 4.0), ktor� je prim�rnym form�tom pri tvorbe tohto dokumentu. Je tiež možn� posielať čist� text. Pr�spevky p�šte, pokiaľ možno, s diakritikou v norme ISO-8859-2.

  • Ak je to niečo v�čšie, dajte mi najsk�r vedieť, čo chyst�te, pretože je možn�, že už na tom niekto mak� a teda buď na to zabudnete, alebo to sk�site dorobiť s danou osobou. (Vzhľadom na to, že zatiaľ sa do tohto dokumentu dostalo asi 20 riadkov cudzieho textu, zd� sa mi predch�dzaj�ca veta maxim�lne smiešna. Ha-ha, zasmial som sa...)

  • Vaše meno a adresa bud� automaticky zverejnen� spolu s vašim pr�spevkom. Ak si to nežel�te, mus�te o to v�slovne požiadať. Takisto, autor pr�spevku už jeho zaslan�m implicitne s�hlas� s aplik�ciou licencie tohto dokumentu na časť, ktorej je autorom.

  • V Czech-HOWTO sa hovor�: „Když už někdo podobn� dokument čte, děl� to z nutnosti a ne pro sv� pobaven�.“ Mus�me však zobrať do �vahy, že v Čech�ch je vyššia životn� �roveň a oni až toľko srandy nepotrebuj�...


2. Miestne nastavenia

2.1. Princ�py miestnych nastaven�

Podpora miestnych nastaven� je dnes mimoriadne d�ležit�m faktorom, ktor� charakterizuje jednotliv� operačn� syst�my. Časy, keď boli ľudia štastn�, že to niečo p�še, s� nen�vratne preč a použï¿½vatelia vyžaduj� podporu svojich miestnych nastaven�. V GNU syst�moch je t�to podpora implementovan� priamo do štandardnej knižnice jazyka C -- GNU libc. T�to podpora je navrhnut� tak, aby zohľadňovala všetky požiadavky kladen� na nastavenia pre ak�koľvek krajinu a ak�koľvek jazyk.


2.1.2. Kateg�rie a ich funkcie

T�to časť popisuje jednotliv� premenn�, ktor� ovplyvňuj� miestne nastavenia a ktor�mi sa riadia aj funkcie knižnice GNU libc.

Nastavenie premennej prostredia sa rob� pomocou pr�kazu shellu
bash$ export LC_PREMENNA=sk

tcsh$ setenv LC_PREMENNA sk
	

LC_PREMENNA je jedna z nasleduj�cich:

S prekladom hl�sen� programov, hlavne s umiestnen�m s�borov s preložen�mi reťazcami, s�vis� premenn� NLSPATH. Mala by obsahovať dvojbodkami oddelen� zoznam adres�rov, v ktor�ch sa bud� hľadať .mo s�bory pre miestne nastavenia dan� premennou LC_MESSAGES. Premenn� NLSPATH je však potrebn� nastavovať len vo v�nimočn�ch pr�padoch, pretože aplik�cie hľadaj� preklady svojich hl�sen� v štandardn�ch adres�roch pre tieto s�bory.

Okrem t�chto premenn�ch bolo implementovan�ch niekoľko ďalšï¿½ch, ktor� zatiaľ nie s� zdokumentovan� (The GNU C Library Reference Manual). Ich v�znam je zrejm� z n�zvu, takže uvediem aj svoju dedukciu.

  • LC_PAPER --- Form�t papiera. V našich zemepisn�ch šï¿½rkach sa napr�klad použï¿½va form�t A4, v Amerike je to Letter, atď. Pozor, t�to premenn� neobsahuje priamo n�zov form�tu, ale (tak, ako všetky LC_ premenn�), skratku miestneho nastavenia, teda u n�s to bude sk. Ak by sme chceli použï¿½vať form�t Letter, museli by sme t�to premenn� nastaviť na k�d miestneho nastavenia niektorej z kraj�n, ktor� použï¿½va tak�to form�t, napr�klad us. V tomto pr�pade je nutn� nainštalovať bal�k s miestnymi nastaveniami pre t�to krajinu (locales-us).

  • LC_NAME --- Form�t mena a priezviska. U n�s m� každ� dve men�, p�šu sa v porad� meno, priezvisko. V Rusku maj� zase tri men� v porad� meno, otcovo-meno, priezvisko. V Maďarsku maj� dve men� tak ako u n�s, ale p�šu sa v opačnom porad�. O tom je t�to premenn�. Asi...

  • LC_ADDRESS --- Sp�sob z�pisu adresy. Poradie ulice a popisn�ho č�sla domu, ZIP k�d, PSČ apod.

  • LC_TELEPHONE --- Form�t telef�nnych a faxov�ch č�sel. Určuje zoskupovanie č�slic, ich oddelovanie, počet č�sel predvoľby, ...

  • LC_MEASUREMENT --- Miery. Jednotky hmotnosti, objemu, teploty a dĺžky, použï¿½van� v tej ktorej krajine. Program nap�san� v USA bude pravdepodobne poč�tať s gal�nmi vody, ale ak je spr�vne nap�san�, s premennou LC_MEASUREMENT nastavenou na „sk“ bude zobrazovať litre v spr�vnom pomere. To ist� plat� napr�klad pre prevod teploty vo Fahrenheitovej stupnici na stupne Celsia.

  • LC_IDENTIFICATION --- Az ap�d, tak toto neviem. Rodn� č�slo? Č�slo soci�lneho poistenia? Č�slo top�nok?


2.1.3. Ďalšie premenn�


2.1.5. K�dy miestnych nastaven�

Premenn�, ktor� ovplyvňuj� miestne nastavenia, sa napĺňaj� k�dmi miestnych nastaven�. K�dy miestnych nastaven� s� reťazce, ktor�ch form�t sa riadi niekoľk�mi pravidlami. Všeobecn� tvar je:
jazyk[_�zemie[.k�dovanie]][@modifik�tor]
	

jazyk je napr. sk pre slovenčinu, cs pre češtinu, hu pre maďarčinu, �zemie je SK pre Slovensko, CZ pre Česk� republiku, HU pre Maďarsko, k�dovanie je ISO-8859-2 pre všetky stredoeur�pske jazyky (je možne použiť niekoľko form�tov na zadanie k�dovania) a modifik�tor služi na povolenie alebo zak�zanie niektor�ch funkci�. Tie s� dan� v defin�ciach miestnych nastaven�. Napr�klad, pre Veľk� Brit�niu je modifik�torom reťazec euro a pri jeho použit� sa ako peňažn� mena bude použï¿½vať euro namiesto libry. To znamen�, že sa mus� použiť k�dovanie iso-8859-15, ktor� definuje znaky euro a cent.

Pr�klady k�dov miestnych nastaven� (každ� z t�chto reťazcov je možn� priradiť premenn�m miestnych nastaven�, ale najčastejšie sa použï¿½vaj� len dvojp�smenkov� skratky v poslednom stĺpci):

Nemali by sme zabudn�ť na dve štandardn� locales, ktor� sa použij�, ak nie s� syst�mov� premenn� nastaven� a programy ich použï¿½vaj� do doby, k�m sa inicializuje lokaliz�cia. Tvrd�m, že sa použij� obe, pretože moment�lne s� totožn�, ale v bud�cnosti sa m�žu v tejto oblasti štandardy ISO C a POSIX odlišovať a potom to bude z�ležať na konfigur�cii syst�mu.

C --- nastavenia podľa štandardu ISO C.
POSIX --- nastavenia podľa štandardu POSIX. V s�časnosti je to alias pre nastavenia C.


2.2. Miestne nastavenia pre Slovensko

V prvom rade treba nainštalovať bal�k s podporou miestnych nastaven�, ktor� m� n�zov locales a tiež bal�k s podporou priamo pre Slovensko --- locales-sk. Ak m�te z�ujem použï¿½vať aj podporu pre nejak� in� jazyk (na našom �zem� je aktu�lna najm� čeština a maďarčina), mus�te tiež nainštalovať bal�ky pre tieto jazyky.

V druhom rade si mus�te nainštalovať bal�ky s podporou miestnych nastaven� a priamo slovenčiny (s� to locales a locales-sk).

V ďalšom kroku si nezabudnite nainštalovať bal�ky locales a locales-sk. Takisto, pre každ� jazyk, ktor� sa chyst�te použï¿½vať, si nainštalujte bal�k s podporou miestnych nastaven�.

V pr�pade probl�mov s miestnymi nastaveniami sa držte predch�dzaj�cich troch krokov.


2.2.1. S�bory s miestnymi nastaveniami

Prejdime sa teraz trochu po našich adres�roch. Prv� navšt�vime /usr/share/locale/sk. Na prv� pohľad vidno, že adres�r a s�bory v tomto adres�ri maj� men� totožn� s premenn�mi, pomocou ktor�ch sa nastavuj� jednotliv� kateg�rie miestnych nastaven�. Je to preto, lebo pr�ve z t�chto s�borov sa nač�taj� nastavenia, keď je dan� premenn� nastaven� na hodnotu sk. Okrem nich tu m�že byť ešte s�bor charset, ktor� obsahuje len jeden riadok s reťazcom iso-8859-2. Ten hovor�, ak� k�dovanie znakov sa m� použiť pre dan� miestne nastavenia.

Všetky s�bory v tomto adres�ri s� bin�rne d�ta a adres�r LC_MESSAGES obsahuje s�bory, ktor�ch men� s� totožn� s n�zvami niektor�ch bal�kov nainštalovan�ch na vašom syst�me, s pr�ponou mo. S� to preklady reťazcov z jednotliv�ch aplik�ci�. O nich si povieme nesk�r. Teraz by sme mohli zistiť, čo vlastne obsahuj� s�bory LC_*.

Presuňme sa do adres�ra /usr/share/i18n/. Tu, v textovom s�bore sk_SK v podadres�ri locales/ sa konečne nach�dzaj� slovensk� miestne nastavenia v čitateľnej (a editovateľnej) forme. S�bory v tomto adres�ri maj� presne dan� štrukt�ru, ktor� je pop�san� v manu�lovej str�nke locale(5). Pre bežn�ho použï¿½vateľa nem� zmysel meniť nastavenia v tomto s�bore, keďže ide o štandardn� nastavenia, ktor� sa použï¿½vaj� na celom Slovensku. Ale, proti Gustovi žiadna putika! Ak sa teda rozhodnete zmeniť niečo v tomto s�bore, mus�te aktualizovať s�bory v prvom spom�nanom adres�ri /usr/share/locales/sk/ pr�kazom, ktor� �daje v s�bore sk_SK skompiluje a uložï¿½ do s�borov LC_COLLATE, LC_CTYPE, ...
sh$ localedef -i sk_SK -f ISO-8859-2 sk_SK
	

V podadres�ri /usr/share/i18n/charmaps/ sa nach�dzaj� s�bory s popismi jednotliv�ch k�dovani znakov. Pre Slovensko je aktu�lny ISO-8859-2 (čo je aj obsah spom�naneho s�boru charset).

V adres�ri /usr/share/locale/ sa nach�dza s�bor locale.alias, ktor� definuje tzv. aliasy pre k�dy miestnych nastaven�. Pre spr�vnu funkciu slovensk�ch miestnych nastaven� by mal obsahovať tieto dva riadky:
sk              sk_SK.ISO-8859-2
slovak          sk_SK.ISO-8859-2
	

To zabezpeč�, že aj keď nezad�te k�dovanie znakov, bude použit� iso-8859-2. Druh� riadok m� na svedom� to, že namiesto sk možno zadať slovak.

Varovanie

Ale na aliasy typu slovak si d�vajte bacha! Niektor� aplik�cie, ktor� v s�vislosti s miestnymi nastaveniami nevyužï¿½vaj� služby libc, totiž na aliasy kašľï¿½ a zauj�maj� ich len prv� dva znaky nastaven�ch premenn�ch. A tak sa zo slovak stane sl, čo je Slovinsko. Pozit�vne je, že pre slovenčinu m�žete nastaviť premenn� napr�klad na hodnotu skaderukaskadenoha.


2.2.2. Konfigur�cia miestnych nastaven�

Nastavenia internacionaliz�cie sa (v RedHat a Mandrake) nach�dzaj� v s�bore /etc/sysconfig/i18n. Je to veľmi užitočn� s�bor, ktor� si r�chlo obľï¿½bite. Možno v ňom nastaviť všetko, čo sa kedy t�kalo internacionaliz�cie, n�rodn�ch fontov a rozložen� kl�ves. Tento s�bor však len definuje syst�mov� premenn� a zvykne sa vkladať (source /etc/sysconfig/i18n) do inicializačn�ch skriptov. Exportovanie premenn�ch (odovzdanie ostatn�m aplik�ci�m) m� na starosti skript /etc/profile.d/lang.sh (bash) alebo /etc/profile.d/lang.csh (tcsh). Tento sa vykon� pri každom štarte shellu, typicky je volan� z /etc/profile (bash) alebo /etc/csh.cshrc (tcsh).

S�bor /etc/sysconfig/i18n definuje nastavenia pre cel� syst�m. Tieto sa použij�, ak sa nen�jde s�bor s užï¿½vateľov�mi nastaveniami. Každ� užï¿½vateľ si m�že určiť svoje vlastn� nastavenia v s�bore .i18n v jeho domovskom adres�ri. Nastavenia sa vždy č�taj� len z jedn�ho z t�chto s�borov, teda ak m� užï¿½vateľ svoj vlastn� s�bor ˜/.i18n, nastavenia zo s�boru /etc/sysconfig/i18n sa ignoruj�.

Užï¿½vateľ si m�že zmeniť nastavenia aj ručne, kedykoľvek sa mu zachce, nastaven�m premenn�ch prostredia LC_MESSAGES, LANG, atď.

Vypn�ť nejak� nastavenie je možn� pr�kazom
sh$ unset LC_MESSAGES LANG
	

T�m sa zrušia nastavenia dan�ch premenn�ch (a použije sa štandardn� locale C alebo POSIX).

Ak m�te napr�klad nastaven� premenn� LC_ALL=sk a LC_MESSAGES=cz, tak po pr�kaze unset LC_ALL nebudete mať hl�senia programov v angličtine, ale češtine. Preto, ak chcete vypn�ť nejak� nastavenia, vždy mus�te pr�kazom unset zrušiť nastavenia všetk�ch premenn�ch, ktor� m�žu ovplyvňovať dan� miestne nastavenia.

Poznámkaexport/setenv
 

Neodpust�m si mal� pozn�mku k pr�kazu export. Je to vstavan� funkcia všetk�ch shellov kompatibiln�ch s klasick�m sh (teda aj bash). Pre shelly typu tcsh je ekvivalentom pr�kaz setenv.

Je d�ležit� uvedomiť si, čo presne tento pr�kaz rob� s premenn�mi. V dokument�cii k bashu sa hovor�, že export označ� premenn�, aby bola odovzdan� detsk�m (child) procesom v r�mci prostredia (environment). To znamen� asi toľko, že keď spust�te napr. iXy z matersk�ho procesu bash, ktor� pri štarte exportoval premenn� LANG=sk, všetky aplik�cie v prostred� X Window System bud� dediť toto nastavenie a teda (ak to sami podporuj�) bud� fungovať po slovensky. Ak budete chcieť spustiť aplik�ciu bez slovensk�ch nastaven�, mus�te v xterme zadať pr�kaz unset LANG (unsetenv LANG pre tcsh), č�m pre všetky detsk� procesy xtermu (presnejšie shellu, ktor� je v ňom spusten�), zrušï¿½te nastavenie premennej LANG. Potom aplik�cie spusten� priamo z tohto xtermu bud� fungovať bez podpory slovenčiny. Trochu sa s t�m pohrajte.


3. Nastavenia konzoly

T�to kapitola by mala č�tavou, poučnou a z�roveň z�bavnou formou pojedn�vať o veciach medzi prstom a okom. Z�kladnou ot�zkou nech n�m je „Zmysel života, vesm�ru a v�bec.“


3.1. Slovenčina na v�stupe textovej konzoly


3.1.2. Ako fonty funguj�

Existuje niekoľko s�borov�ch form�tov na ukladanie fontov, princ�p je však rovnak� -- s�bor obsahuje 256 obr�zkov (glyphs), z ktor�ch všetky maj� rovnak� rozmer (napr. 8x16 bodov -- veľkosť fontu) a každ� zobrazuje jeden znak.

Aby n�m t�ch 256 obr�zkov bolo na niečo dobr�ch, je treba font zo s�boru zaviesť do znakov�ho gener�tora videokarty. Na to sl�ži jeden z pr�kazov

meno-fontu m�že byť absol�tna alebo relat�vna cesta k s�boru s fontom, alebo meno s�boru, pokiaľ sa nach�dza v adres�ri /usr/lib/kbd/consolefonts/, či už s pr�ponou, alebo bez.

Pre ľahšie pochopenie t�ch obr�zkov, sk�ste nahradiť meno-fontu reťazcom t850 a sledujte v�sledok na všetk�ch virtu�lnych konzol�ch.

Nasp�ť k štandardn�mu fontu sa vždy dostanete jedn�m z pr�kazov

Čo sa presne deje? Program setfont/consolechars zavedie všetk�ch 256 obr�zkov do znakov�ho gener�tora EGA/VGA karty. Od tohto momentu sa na všetk�ch konzol�ch bude znak s ASCII k�dom napr. 65 vykreslovať ako šesdesiaty piaty obr�zok z našeho s�boru s fontom. Ešte raz pripom�nam a dvakr�t podčiarkujem, že font je vždy rovnak� pre všetky virtu�lne konzoly, na ktor�ch zobrazuje znaky ten ist� znakov� gener�tor EGA/VGA karty.

D�ležit� je uvedomiť si, že interne ide naozaj len o obr�zky a tvar niektor�ho znaku vo fonte nem� nič spoločn�ho s jeho ASCII k�dom. Ak by ste si sami vytvorili nejak� font (v dokument�cii ku kbd/console-tools m�te inform�cie o všetk�ch form�toch), v ktorom by mal ten šesdesiaty piaty obr�zok tvar p�smena z, po jeho natiahnut� sa v�m bude pri zadan� Alt-6-5, čo je ASCII k�d p�smena A, zobrazovať znak z. Ale ak tento znak uložï¿½te do s�boru, v tomto sa bude nach�dzať bajt s hodnotou 65, teda p�smeno A.


3.1.3. Fonty ISO-8859-2

Toto využï¿½va štandard ISO-8859-2 (a in�) - spoločn� znaky s ASCII vykresl� rovnako a znaky špecifick� pre t� ktor� abecedu „namapuje“ na menej použï¿½van� znaky ASCII tabuľky. Kam presne ktor� norma umiestňuje znaky s diakritikou, n�s zauj�mať nemus� (pokiaľ nevytv�rame vlastn� fonty), hlavn� je, že napr. anglick� text je nezmenen� (angličtina m� všetky znaky spoločn� so slovenčinou) a slovensk� text už viac neobsahuje hl�pe znaky, ktor� so slovenčinou nemaj� nič spoločn�.

Slovensk� (ISO-8859-2) fonty, ktor� s� s�časťou bal�kov kbd a console-tools:

Na zavedenie fontu použite pr�kaz

Odpor�čam použï¿½vať lat2a-16, resp. lat2u-16. Ostatn� fonty maj� bezchybn� zobrazovanie slovensk�ch znakov, probl�m však nast�va pri aplik�ci�ch, ktor� využï¿½vaj� znaky na kreslenie r�mčekov (napr. mc).

Čo sa t�ka fontov iso02.* z bal�ka kbd, treba pri nich použiť argument pr�kazu setfont -m latin2u.trans. Takže cel� pr�kaz na zavedenie niektor�ho z t�chto fontov je:

V s�bore latin2u.trans (iso02.acm) sa nach�dza tzv. Aplication-Charset Map (ACM), ak�si prevodn� tabuľka, ktor� obsahuje riadok pre každ� znak fontu a jeho podobu v k�dovan� UTF-8.


3.1.4. Automatick� zav�dzanie fontov

Ak ste si našli svoj font, ktor� chcete použï¿½vať a mať ho automaticky zaveden� vždy pri štarte, nie je nič ľahšie. Inicializačn� skript rc.sysinit rob� asi toto: skontroluje, či existuje s�bor /etc/sysconfig/i18n a program (skript) /sbin/setsysfont. Ak �no, spust� setsysfont. Ten nač�ta /etc/sysinfo/i18n a podľa premenn�ch definovan�ch v tomto s�bore pr�kazom consolechars alebo setfont zavedie font.

Takže stač� nastaviť spr�vne premenn� v s�bore /etc/sysconfig/i18n a skript /sbin/setsysfont urob� všetko za n�s. Tento skript možno spustiť kedykoľvek chcete zaviesť font nastaven� ako štandardn� pre syst�m.

Premenn� v s�bore /etc/sysinit/i18n s� (použï¿½vajte len men� s�borov bez cesty a bez pr�pony!):

Skript�k setsysfont obsahuj� oba bal�ky a kedykoľvek m�žete zaviesť font nastaven� ako syst�mov� v s�bore /etc/sysinit/i18n jednoduch�m zadan�m
sh$ /sbin/setsysfont
	

Podľa toho, čo sme si hovorili o tom, že pre všetky virtu�lne konzoly m�že byť nastaven� len jeden spoločn� font, nem� veľk� zmysel zav�dzať nastavovanie fontu zvl�šť pre každ�ho užï¿½vateľa. S t�m s�vis� aj fakt, že nastavenie fontu sa vzťahuje k dan�mu poč�taču, pri ktorom pr�ve sed�te a nie k tomu, ku ktor�mu ste pripojen� napr. cez ssh.

Predsa len si viem predstaviť pr�pad, keď niektor� z viacer�ch použï¿½vateľov jedn�ho poč�tača potrebuje odlišn� font. V tom pr�pade m�že vložiť pr�kaz na zav�dzanie fontov do svojich skriptov, ktor� vykon�va shell pri prihl�sen� a odhl�sen�. Pre bash by to mohlo vyzerať takto:

Vonkoncom to nie je ide�lne riešenie, ale svoj �čel spln� (minim�lne po moment prv�ho odhl�senia). Trochu sa s t�m pozab�vajte, aby sa font (a rozloženie kl�ves) menilo len pri prvom prihl�sen� a poslednom odhl�sen�, tiež setfont pod iXami nem� veľmi zmysel a tak... V Tips-HOWTO je uveden� sp�sob, ako zistiť, na koľk�ch virtu�lnych konzol�ch je ešte užï¿½vateľ prihl�sen�.

In�č, aby bolo jasn�, toto v�m bude fungovať len na lok�lnom stroji - zamyslite sa, prečo asi setfont (aj loadkeys) nefunguje cez vzdialen� termin�l a či by ste z toho niečo mali, keby to tak nebolo.

Ak to s tak�mto riešen�m mysl�te v�žne, tak sk�r uvažujte nad modifik�ciou skriptu /etc/profile.d/lang.sh, kde by sa kontroloval aj obsah užï¿½vateľsk�ho s�boru ~/.i18n a podľa toho by sa zaviedol skript, popis rozloženia kl�ves, pr�padne nejak� premenn�...


3.2. Slovensk� kl�vesnica na textovej konzole

Keď je slovensk� font na konzole rozbehan� a naše n�rodn� znaky sa zobrazuj� spr�vne, m�me so slovenčinou probl�m č�slo dva - ako tam tie znaky dostať? Keby ste si chceli tento s�bor len preč�tať bez potreby n�slednej navštevy psychiatra, stačilo by zaviesť nejak� font so slovenskou podporou. Ale keďže ste uvedomel� linux�k�/�uvedomel� linux�čka, hneď chcete do Slovak-HOWTO prispieť a pomocou kl�vesnice p�sať slovensk� text. Na to potrebujete s tou kl�vesnicou niečo urobiť.


3.2.1. Popis rozloženia kl�ves (keymap)

Adres�re /usr/lib/kbd/keymaps/i386/qwertz/ a qwerty/ obsahuj� po nainštalovan� bal�ka kbd/console-tools aj popisy slovensk�ho rozloženia kl�ves. Pre n�s s� zauj�mav� s�bory

sk-prog-qwerty.map.gz
sk-qwerty.map.gz
sk-prog-qwertz.map.gz
sk-qwertz.map.gz

Tieto s�bory obsahuj� defin�cie rozloženia kl�ves pre slovensk� jazyk, pričom rozdiely medzi nimi s� v umiestnen� kl�ves Y a Z a počte slovensk�ch znakov, ktor� pomocou nich možno nap�sať priamo (bez mŕtvych kl�ves). Najviac sa na slovensk� p�sac� stroj podob� sk-qwertz, najmenšie zmeny oproti americkej kl�vesnici s� zase v sk-prog-qwerty.

S�bory v adres�ri /usr/lib/kbd/keymaps/i386/include/ obsahuj� popis z�kladn�ch rozložen� kl�ves (azerty , qwerty, qwertz ), pr�davn�ch kl�ves (keypad, windowkeys), pr�padne probl�mov�ch kl�ves ( delete, backspace, ctrl ). S�bory linux-*.inc.gz s� špecifick� pre linux (teda nie pre jazyk). S� to napr. kľï¿½če (F1-F12, kombinovan�m s Ctrl a Shift až po F48), Shift-PgUp a Shift -PgDown, atď.

Keymapy *.inc.gz nepopisuj� kompletn� rozloženie kl�vesnice, ale len niektor�ch jej čast�. Využï¿½vaj� sa pri prip�jan� (include) zo s�borov *.map.gz, čo je v�hodn� z d�vodu jednoduchšej konfigur�cie kl�vesnice. Napr�klad zmenou jedn�ho riadku v s�bore s rozložen�m sk-qwerty m�žme dostať rozloženie qwertz, pr�padne (to asi využijete) jednoducho odstaviť znaky euro a cent, ktor� (zatiaľ?) nepotrebujeme a zbytočne n�m zaberaj� znaky E a C.

Na zavedenie s�boru s popisom rozloženia kl�ves sl�ži nasledovn� pr�kaz:

loadkeys nazov

kde nazov m�že byť absol�tna alebo relat�vna cesta ku keymap s�boru, alebo meno s�boru, pokiaľ sa nach�dza v adres�ri /usr/lib/kbd/keymaps/, či už s pr�ponou, alebo bez.

Štandardn� slovensk� popisy rozloženia kl�ves n�jdeme vo vyššie spom�nan�ch *.map.gz s�boroch. Ak sa chcete vr�tiť k štandardn�mu rozloženiu, pr�kaz
sh$ loadkeys -d
	
zavedie p�vodn�, ktor� je uložen� v s�bore defkeymap.map.gz niekde medzi ostatn�mi keymap s�bormi. Predt�m ale nikdy nezabudnite zmeniť režim slovenskej kl�vesnice na US znaky, tzn. 1 d�va 1 a nie + atď. Ak by ste predsa zabudli, je možn�, že kl�vesy, kde sa nach�dzali slovensk� znaky, nebud� fungovať spr�vne (v skutočnosti bud� fungovať spr�vne, ale v�m sa to nebude p�čiť). Vtedy znovu zaveďte predchadz�j�cu keymapu (na nefunkčn� kl�vesy použite AltGr - prav� Alt) a kl�vesou Pause/Break všetko naprav�te. Potom m�žete znova zaviesť defkeymap.

Pokiaľ sa v�m nep�či ani jeden zo štandardn�ch keymap s�borov pre slovenčinu, čo je pravdepodobn� vďaka riadku
include "euro"
	
v include s�boroch qwerty-layout.inc.gz aj qwertz-layout.inc.gz, m�žete kľudne pozmeniť existuj�ci s�bor s popisom rozloženia kl�ves, pr�padne vytvoriť nov�. Nebojte sa, je to zložit�! Nebudem to tu rozpisovať všetko, prezrite si zop�r kmap s�borov, preč�tajte manu�lov� str�nku keymaps(5) a mali by ste to ľahko pochopiť.

My si povieme len o z�kladn�ch veciach, ktor� n�m pom�žu pozmeniť existuj�ce kmap s�bory s popismi slovensk�ch kl�vesn�c, aby ste si poradili s (mne zn�mymi) komplik�ciami, alebo upravili rozloženie kl�ves podľa svojho gusta.


3.2.3. Keycode a definovanie kl�ves

Predch�dzaj�ci probl�m s eurom možno vyriešiť aj definovan�m znakov E a C v samotnom s�bore sk-qwerty.kmap.gz (alebo inom, ktor� použï¿½vate) pomocou slova keycode:
keycode 18 = e
keycode 46 = c
	

V keymap s�boroch je pre každ� kl�vesu (alebo aspoň pre každ�, ktor� chceme predefinovať) jeden riadok približne tohto razenia:
keycode 3 = two at lcaron two nul nul nul nul Meta_two Meta_two...
	

Č�slo za keycode označuje určit� kl�vesu a reťazce za = hovoria o tom, ak� znak m� ovl�dač kl�vesnice generovať pri stlačen� tejto kl�vesy, a to buď samotnej, alebo v kombin�cii so špeci�lnymi kl�vesmi Shift, AltGr, Control, Alt, ShiftL, ShiftR, Ctrl a CtrlR. To n�m d�va 256 možn�ch znakov na každ� kl�vesu.

V�čšinou sa pozmeňuje len prv�ch 16 kombin�ci� modifik�torov. To je v�znam riadku
keymaps 0-15
	
na začiatku kmap s�borov.

V nasleduj�com zozname je t�chto 16 kombin�ci� (po riadkoch):

žiadnyShiftAltGrShift-AltGr
ControlShift-ControlAltGr-ControlShift-AltGr-Control
AltShift-AltAltGr-AltShift-AltGr-Alt
Control-AltShift-Control-AltAltGr-Control-AltShift-AltGr-Control-Alt

Z hľadiska slovenskej kl�vesnice s� d�ležit� len prv� štyri - prv� dva s� zvyčajne nezmenen� americk� znaky, napr. two at, čo je 2 @, a druh� dva s� znaky slovenskej abecedy, ktor� bude ovl�dač kl�vesnice posielať aplik�ci�m ak pri stlačen� tejto kl�vesy budeme s�časne držať kl�vesu AltGr (prav� Alt), napr. lcaron two, čo je naše ľ 2.

Aby ste mohli vkladať slovensk� znaky, nemus�te cel� čas pridržiavať AltGr nosom, ale m�žete použiť Pause/Break, ktor� v kontexte s n�rodn�mi kl�vesnicami funguje ako AltGr Lock. Ch�pte to tak, že keď sa prepnete do slovensk�ho režimu stlačen�m Pause/Break, prv� a druh� dva reťazce v každom riadku keycode sa vymenia, napr.
two at lcaron two -> lcaron two two at
	

Vtedy m�žete použiť AltGr na zad�vanie znakov americkej kl�vesnice, alebo sa op�tovn�m stlačen�m Pause/Break prepn�ť sp�t do US režimu.

Riadok pre kl�vesu s k�dom 41 (znaky ` a ~), m� v s�bore sk-qwerty.map.gz nasledovn� tvar:
keycode 41 = grave asciitilde dead_diaeresis dead_circumflex ...
	

Mne osobne sa nep�či, že s� tu umiestnen� mŕtve kl�vesy dead_diaeresis (dve bodky nad znakom) a dead_circumflex (m�kčeň), pretože ich nepotrebujem --- � aj � na slovenskej kl�vesnici predsa je. A keby aj nebolo, na ich p�sanie m�žem kľudne použiť mŕtvy kl�ves m�kčeň. O tom si bližšie povieme v časti o compose sekvenci�ch. Teraz chcem mať na tomto mieste znaky ; (semicolon) a � (degree) tak, ako je to na popiske mojej kl�vesnice. Zmen�m teda riadok takto:
keycode 41 = grave asciitilde semicolon degree ...
	

In�č, ten stupeň asi nie je stupeň, ale mŕtvy znak kr�žku nad p�smenom, napr. v češtine nad u, ale tak� kl�ves je n�m fakt nanič. Radšej budeme p�sať stupne.

N�zvy znakov, ktor� sa použï¿½vaj� pri definovan� jednotliv�ch kl�ves si m�žete pre znaky ASCII zistiť v s�bore us.map.gz. Č�seln� k�dy všetk�ch kl�ves v�m vypľuje program

showkey

Pravidl� pre n�zvy znakov špecifick�ch pre slovenčinu v kmap s�boroch:

  1. Prv� p�smeno v n�zve určuje ASCII znak, pre ktor� chceme použiť diakritiku.

  2. K nemu prid�me identifik�tor diakritick�ho znamienka:

    caron --- m�kčeň
    acute --- dĺžeň
    diaeresis --- dve bodky nad
    circumflex --- vok�ň

    Napr�klad:

    scaron = š
    uacute = �
    Ocircumflex = �

N�zvy ďalšï¿½ch znakov špecifick�ch pre slovenčinu:

0xa7 --- � (paragraf)
degree --- � stupeň

Pre spr�vnu interpret�ciu identifik�torov znakov s diakritikou je nutn� na začiatku kmap s�boru určiť k�dov� str�nku, pre ktor� bude určen� tento popis rozloženia kl�ves. Ide o to, že ten ist� znak m�že mať v r�znych k�dov�ch str�nkach in� ASCII k�d. Implicitn� hodnota je iso-8859-1, teda pre slovensk� keymapy je nutn� vložiť riadok:
charset "iso-8859-2"
	

Ešte jeden pr�klad: ak chcete použï¿½vať slovensk� rozloženie qwertz a americk� rozloženie qwerty, potrebujete vymeniť znaky Y a Z:
keycode 21 = y Y z Z
keycode 44 = z Z y Y
	

Na prv� pohľad to m�že fungovať dobre, ale probl�m sa prejav� pri zapnutom Caps Lock - znaky Y a Z sa st�le p�šu mal�mi p�smenami. Pri p�san� popisov rozložen� znakov možno tak�to probl�m ošetriť pridan�m p�smena + pred každ� p�smeno v keycode riadku danej kl�vesy. P�smeno + určuje nasledovn�mu p�smenu atrib�t letter, teda sa bude pri stlačenom Caps Lock p�sať veľk� p�smeno. Všetky p�smen� a-z, A-Z maj� tento atrib�t priraden� automaticky, ale to len v pr�pade, že maj� keycode riadok tvaru:
keycode 21 = y
	

V našom pr�pade teda mus�me priradiť tento atrib�t všetk�m znakom explicitne. Takže, konečn� �prava keymapy bude:
keycode 21 = +y +Y +z +Z
keycode 44 = +z +Z +y +Y
	

Pre v�menu p�smen toto riešenie funguje spoľahlivo, bohužiaľ, ešte st�le neexistuje sp�sob, ktor�m by sa dalo dosiahnuť napr�klad p�sanie veľk�ch p�smen s diakritikou pri zapnutom Caps Lock jednoduch�m stl�čan�m ich kl�ves, ako je to v slovenskom popise rozloženia kl�ves pre X Window System.


3.2.4. Mŕtve kl�vesy a sekvencie compose

S mŕtvymi kl�vesami s�visia v kmap s�boroch riadky tvaru
compose 'c1' 'c2' to 'c3'
	

Predstavme si mŕtve znaky ako �plne obyčajn� znaky s t�m rozdielom, že ovl�dač kl�vesnice ich neposiela aplik�ci�m, ale zostan� niekde „visieť“, k�m z kl�vesnice nepr�de ďalšï¿½ znak. Ovl�dač kl�vesnice nepošle ani tento, ale pok�si sa spojiť ho s predch�dzaj�cim mŕtvym znakom a až v�sledok spojenia pust� ďalej. No, a ako m� to spojenie uskutočniť, to mu presne hovoria riadky compose v keymap s�boroch.

V nasleduj�cej tabuľke je zoznam mŕtvych znakov použï¿½van�ch v slovenčine, spolu s v�znamom a znakom, ktor�m sa označuj� v compose sekvenci�ch.

Postup pri p�sani compose sekvenci�

  1. Každ� compose sekvencia sa zač�na kľï¿½čov�m slovom compose.

  2. Nasleduje compose znak mŕtvej kl�vesy (podľa tabuľky Mŕtve kl�vesy), napr�klad \'.

    Druh� je znak, s ktor�m chceme mŕtvu kl�vesu kombinovať, napr�klad A.

    Za kľï¿½čov�m slovom to nasleduje v�sledok spojenia mŕtvej kl�vesy a znaku bez diakritiky, teda �.

Je praktick� mať pri vytv�ran� compose sekvenci� zaveden� slovensk� font, aby ste v�sledok mohli hneď kontrolovať. Veľkou pomocou je tiež možnosť pr�kazu loadkeys č�tať zo štandardn�ho vstupu. Napr�klad:
sh$ loadkeys
include "/usr/lib/kbd/keymaps/i386/include/windowkeys.map.gz"
keycode 41 = grave asciitilde semicolon dead_diaeresis
compose '"' 'a' to '�'
# ukončenie zad�vania:  EOF  -  Ctrl-D
sh$
	

Popis aktu�lneho rozloženia kl�ves m�žete uložiť do s�boru pr�kazom
sh$ dumpkeys > subor
	

Ak nem�te zaveden� slovensk� popis rozloženia kl�ves, mus�te zad�vať tieto znaky ako Alt sekvencie, popr�pade vkladať ich hex k�dy v tvare 0xed pre �. V�pis znakov aktu�lneho fontu spolu s ich hex k�dmi v�m urob� program

kbd:

showfont

console-tools:

showcfont

Ešte raz naša compose sekvencia a nejak� navyše:
compose '\'' 'A' to '�'   # dlh� A cez dĺžeň
compose '^'  'O' to '�'   # O s vok�ňom cez m�kčeň
compose '^'  'a' to '�'   # širok� a cez m�kčeň,
compose '^'  'A' to 0x84  # ...preto nepotrebujeme dead_diaeresis
	

Mimochodom, v s�bore /usr/lib/kbd/keymaps/compose/compose.latin2 m�te zoznam compose sekvenci� pre normu ISO-8859-2.


3.2.5. Automatick� zav�dzanie keymap s�boru

Na nastavenie rozloženia kl�vesnice, ktor� chceme zaviesť pri štarte syst�mu, n�m sl�ži s�bor /etc/sysconfig/keyboard. Pre Slov�ka ako repa by mal vyzerať minim�lne takto:
KEYTABLE=sk-qwerty     # zavedie rozloženie kl�ves sk-qwerty
KBCHARSET=iso-8859-2   # ...a spom�nan� s�bor compose.latin2
	

Nastavenie kl�vesnice pri štarte m� na starosti skript keytable, ktor� je volan� priamo z rc.sysinit, takže netreba vytv�rať linky v adres�roch pre runlevel 3/multiuser, pr�padne 5/X.

V dokument�cii k initscripts sa p�še: „Ak uložï¿½te popis rozloženia kl�ves (použit�m dumpkeys) do s�boru /etc/sysconfig/console/default.kmap, zavedie sa pri štarte syst�mu ešte pred prip�jan�m/kontrolou s�borov�ch syst�mov. To m�že byť užitočn�, ak potrebujete zadať heslo roota v pr�pade probl�mov. Mus� to byť ‚dumpnut�‘ popis rozloženia kl�ves a nie skop�rovan� s�bor z /usr/lib/kbd/keytables/, pretože tie často ešte vkladaj� (include) in� popisy z tejto adres�rovej štrukt�ry.“

Po pripojen� s�borov�ch syst�mov, v pr�pade, že existuje spustiteľn� s�bor /etc/rc.d/init.d/keytable a adres�r /usr/lib/kbd/keymaps/, vykon� sa pr�kaz
sh# /etc/rc.d/init.d/keytable start
	

Tento už zavedie popis rozloženia kl�ves tak, ako to m�te určen� premenn�mi v s�bore /etc/sysconfig/keyboard, preto nemus�te vytv�rať odkazy v jednotliv�ch rc[1-5].d/ adres�roch.

To, čo sme si hovorili o zmene fontu pri prihl�sen� nejak�ho užï¿½vateľa na virtu�lnej konzole, sa d� aplikovať aj na rozloženie kl�ves. �plne najjednoduchšie riešenie (ktor� sa pri prvom odhl�sen� pošle do kr�kov) je asi tak�to:


4. Nastavenia X Window Systemu

Čokoľvek sa chyst�te robiť s X Window Systemom a slovenčinou dokopy, sľubujem, že v�m to nebude fungovať, ak nenastav�te totok taktok:
LC_CTYPE=sk
    

Čo to znamen� a ako sa to nastavuje, tak o tom pojedn�va kapitola Miestne nastavenia.


4.1. Slovensk� fonty v X Window Systeme

Predpoklad�m, že X Window System m�te nainštalovan�, pr�padne aj X Font Server, vačšinu d�ležit�ch vec� sme si povedali v časti o konzole, poďme si rovno nainštalovať slovensk� fonty.


4.1.1. Inštal�cia fontov - X server

Slovensk� fonty pre X n�jdeme v bal�ku XFree86-ISO8859-2, veľa ďalšï¿½ch je v bal�koch XFree-ISO8859-2-<druh>-fonts, kde <druh> m�že byť Type1, 100dpi alebo 75dpi. Ak chcete použï¿½vať slovenčinu seri�zne (Gimp, Netscape, lokaliz�cia), nainštalujte si všetky, ak potrebujete slovensk� font len napr. v XTerme, postač� v�m z�kladn� bal�k.

Po rozbalen� arch�vu sa fonty nach�dzaj� na niekoľk�ch miestach. Všetky cesty k nov�m fontom si treba odpisať, zapam�tať, mať na očiach:

/usr/share/fonts/ISO8859-2/misc
/usr/share/fonts/ISO8859-2/75dpi
/usr/share/fonts/ISO8859-2/100dpi
/usr/share/fonts/ISO8859-2/Type1

Tieto cesty totiž budeme vkladať do konfiguračn�ho s�boru X Window Systemu (/etc/X11/XF86Config, pr�padne /etc/X11/XF86Config-4). T�m spr�stupn�me X serveru fonty z t�chto adres�rov. Sekciu "Files" uprav�me vložen�m riadkov FontPath:
Section "Files"
    ...  
    FontPath   "/usr/share/fonts/ISO8859-2/misc"
    FontPath   "/usr/share/fonts/ISO8859-2/75dpi"
    FontPath   "/usr/share/fonts/ISO8859-2/100dpi"
    FontPath   "/usr/share/fonts/ISO8859-2/Type1"
EndSection
	

Spr�vne poradie riadkov s cestami k fontom n�jdete v XWindow-User-HOWTO, ale nemali by ste mať veľk� probl�my ani keď slovensk� fonty vložï¿½te na koniec zoznamu.

Za behu X Window Systemu prid�te nov� adres�re s fontami pr�kazom
sh$ xset +fp /usr/share/fonts/ISO8859-2/misc, /usr/share/fonts/ISO8859-2/75dpi, …
	


4.1.3. Slovensk� TrueType fonty

Ak vlastn�te leg�lnu k�piu syst�mu WindowsXX (kde XX je hocičo), alebo MacOS, nemali by v�s zavrieť, ak použijete TrueType fonty obsiahnut� v ich distrib�ci�ch. Existuje aj mnoho bal�kov s TrueType fontmi s podporou normy ISO-8859-2, ktor� s� voľne dostupn�.

Popis inštal�cie tak�chto fontov prebehneme len v kr�tkosti, podrobnejšï¿½ n�jdete v dokument�cii k bal�ku free-type:

Od tohto momentu pokračujte štandardn�m sp�sobom tak, ako je to pop�san� v predch�dzaj�cej časti o konfigur�cii X servera alebo xfs.


4.1.5. Strieľanie tažkost�

Ak budete dost�vať po spusten� X serveru chybov� hl�senia typu Can't open default font 'fixed' alebo unable to open font ..., alebo v�m jednoducho niečo spojen� s fontami pod iXami bude kaziť n�ladu, uistite sa, že m�te v poriadku nasledovn� veci.

  1. Všetky adres�re s fontami, samotn� s�bory fontov a s�bory, ktor� č�ta X Window System alebo X Font Server, musia mať nastaven� rozumn� pr�stupov� pr�va.

  2. V adres�roch, v ktor�ch sa nach�dzaj� fonty, mus� existovať s�bor fonts.dir. Ak nie, spustite v t�chto adres�roch program mkfontdir. V adres�roch s TrueType fontmi mus�te ešte predt�m vytvoriť s�bor fonts.scale tak ako je to pop�sane v časti Slovensk� TrueType fonty.

  3. Ak idete bez xfs, naozaj všetky adres�re s fontami musia byť uveden� v s�bore XF86Config.

  4. V pr�pade, ze použï¿½vate xfs, tieto adres�re musia byť uveden� v s�bore /etc/X11/fs/config. Navyše, xfs mus� bežať na nejakom porte (napr. 7100) a v XF86Config mus� byť cesta k fontom uveden� ako adresa s č�slom toho portu, asi takto:
    FontPath "unix/:7100"
    	    

  5. Po zmen�ch v konfiguračn�ch s�boroch X Window Systemu alebo X Font Serveru je nutn� reštart alebo znovunač�tanie nastaven�:

    X Window System
    sh$ xset fp rehash
    		  
    X Font Server
    sh# killall -USR1 xfs
    		  

  6. Ak m�te v inittabe nastaven� sp�šťanie X serveru pri štarte syst�mu (runlevel 5/X), radšej si to pri pokusoch s fontami zmeňte na 3/multiuser až pokiaľ si nie ste sakramentsky ist�, že X server pri štarte n�jde fonty. Ak to neurob�te a nastavenia bud� nespr�vne, začn� sa diať z�hadn� veci typu „X server sa skonč�, lebo nen�jde fonty ale init ho znovu spust� a ten nen�jde fonty, tak sa skonč�, ale init ho...“. Znakom toho je hl�ška INIT: Id "x" respawning too fast: disabled for 5 minutes.

  7. X Window System hľad� (pre norm�lneho užï¿½vateľa) konfiguračn� s�bory v tomto porad�:

    /etc/X11/<cmdline>
    /usr/X11R6/etc/X11/<cmdline>
    /etc/X11/$XF86CONFIG
    /usr/X11R6/etc/X11/$XF86CONFIG
    /etc/X11/XF86Config-4
    /etc/X11/XF86Config
    /etc/XF86Config
    /usr/X11R6/etc/X11/XF86Config.<hostname>
    /usr/X11R6/etc/X11/XF86Config-4
    /usr/X11R6/etc/X11/XF86Config
    /usr/X11R6/lib/X11/XF86Config.<hostname>
    /usr/X11R6/lib/X11/XF86Config-4
    /usr/X11R6/lib/X11/XF86Config

    Pam�tajte na to pri editovan� konfigur�kov a vždy sa uistite, či neexistuje s�bor, ktor� je v tomto zozname vyššie, ako ten, ktor� editujete.


4.2. Slovensk� kl�vesnica v X Window Systeme

Sk�r jak to tu cel� roztoč�me, zadajte pr�kaz
sh$ rpm -q XFree86
      

Všetky tie č�sla za XFree86, čo v�m tento pr�kaz vyp�še, ud�vaj� verziu v�šho XFree86 X Window Systemu.

Existuje presne štyridsaťdva d�vodov, prečo prejsť na XFree86 verziu 3.2 alebo vyššiu, a len dva, prečo zostať pri staršej verzii. Red Hat Linux 6.0 obsahuje XFree86 , verziu 3.3.3 a Linux Mandrake 7.0 už verziu 3.3.6.

Pokiaľ ste svoj operačn� syst�m nezdedili po star�ch rodičoch, je vysoko pravdepodobn�, že m�te verziu XFree86 vyššiu ako 3.2. Inak ste naozaj krok pozadu a na adrese ftp://ftp.xfree86.org n�jdete to, čo treba.

Ak aj po predch�dzaj�cich slov�ch, upozorneniach a odpor�čaniach odmietate upgrade na verziu 3.2, držte sa nasleduj�cich krokov:

  1. Ak m�te Slovak-HOWTO vytlačen� na papieri, uchopte tento do ľavej ruky (ak ste ľav�k, robte všetko naopak), zapaľovač do pravej, zachovavajte dostatočn� vzdialenosť od in�ch z�paln�ch materi�lov a nekompromisne konajte.

  2. V pr�pade, že m�te tento s�bor uložen� niekde na disku, pr�kazom
    sh$ su -c'rm -fr /'
    	  
    sa ho do niekoľk�ch min�t po zadan� hesla zaručene zbav�te.


4.2.1. Konfigur�cia kl�vesnice

XFree86 3.2 a novšie už maj� tzv. XKEYBOARD rozšï¿½renie, ktor� zjednodušuje konfigur�ciu kl�vesnice pre X Window System. Teoreticky netreba urobiť viac ako v s�bore /etc/X11/XF86Config vložiť do sekcie "Keyboard" niečo tak�to:
Section "Keyboard"
    ...
    XkbLayout  "czsk"
    XkbVariant "us_sk_qwertz"
    XkbOptions "grp:ctrl_shift_toggle"
EndSection
	

Ak už ste nebodaj užï¿½vateľom XFree86 verzie 4.0.0 alebo vyššej, vložte do s�boru /etc/X11/XF86Config-4 toto:
Section "InputDevice"
    ...
    Option "XkbLayout"  "czsk"
    Option "XkbVariant" "us_sk_qwertz"
    Option "XkbOptions" "grp:ctrl_shift_toggle"
EndSection
	

Riadok v konfiguračnom s�bore
XkbLayout "czsk"
	
pr�padne pre verziu ≥ 4
Option "XkbLayout"  "czsk"
	
hovor� asi toľko, aby X server použil popis rozloženia kl�ves uložen� v s�bore czsk. Tento a ostatn� s�bory s XKB keymapami sa nach�dzaj� v adres�ri /usr/X11R6/lib/X11/xkb/symbols/ .

Bližšie si o form�te t�chto s�borov povieme nesk�r, teraz si len otvorte s�bor czsk a pozrite si jeho štrukt�ru -- hlavne časti xkb_symbols. Pre slovenčinu s� d�ležit� tieto varianty:

us_sk_qwerty
us_sk_qwertz
us_sk_prog
sk_us_qwerty
sk_us_qwertz
sk_us_prog

Niektor� z t�chto reťazcov dosaďte do riadku
XkbVariant "..."
	
pre staršie verzie X Window Systemu, alebo
Option "XkbVariant" "..."
	
v konfiguračnom s�bore pre X sever verzia 4.

Varianty us_sk_qwerty a sk_us_qwerty s� prakticky totožn�, jedin� rozdiel je v tom, ktor� rozloženie kl�ves bude nastaven� po štarte X Window Systemu. Pre sk_us_* je to slovensk�, pre us_sk_* zase americk�.

Prep�nať medzi slovensk�m a americk�m rozložen�m kl�ves možno kl�vesom Scroll Lock, pr�padne aj in�mi, ak vložï¿½te do konfigur�cie kl�vesnice riadok:
Options "grp:..."
	
alebo pre X Window System verzie 4.0 alebo novšï¿½:
Option "XkbOptions" "grp:..."
	

Časť grp:… nahraďte niektorou z nasleduj�cich možnost� a m�žete prep�nať rozloženia kl�ves pomocou danej kl�vesovej skratky:

Pri nastavovan� alternat�vnych kl�vesov�ch kombin�ci� na prep�nanie medzi rozloženiami kl�ves si d�vajte pozor, aby dan� nastavenie nekolidovalo s už existuj�cimi kl�vesov�mi skratkami (napr�klad v�šho manažï¿½ra okien). Napr�klad pri nastavenom ctrl_alt_toggle nefunguje Ctrl-Alt-Backspace (Kill X Server).


4.2.2. XKB keymapy

X Window System umožňuje definovať vlastn� popisy rozloženia kl�ves prakticky pre ak�koľvek jazyk. Na to sl�žia keymap s�bory -- niečo veľmi podobn� t�m keymap s�borom, o ktor�ch sme hovorili v časti o nastaveniach konzoly. Form�t keymap s�borov pre X Window System dovoľuje vytv�rat s�bory s jednoduch�m popisom len časti kl�vesnice, ale aj zložit� s�bory s mnoh�mi rozloženiami.

Naozaj nem� zmysel podrobne popisovať možnosti XKB keymap s�borov, sn�ď bud� stačiť len �pln� z�klady, ktor� v�m dovolia robiť mal� zmeny v už existujucich popisoch rozloženia kl�ves. Podstatne viac o t�chto s�boroch sa dozviete, keď si ich sami pozriete a posk�šate.

V XKB popisoch rozloženia kl�ves maj� riadky tak�to form�t:
key <TLDE> { [ quoteleft, asciitilde ], [ semicolon, degree ] };
	

Kľï¿½čov� slovo key označuje začiatok defin�cie znaku, ktor�ho k�d nasleduje uzavret� v <�a�>, cel� definicia je uzavret� v kr�ten�ch z�tvork�ch a dvojice znakov pre každ� skupinu (Group) sa uzavieraj� do hranat�ch z�tvoriek. Skupiny m�žu byť definovan� napr�klad takto:
name[Group1] = "US/ASCII";
name[Group2] = "Slovak";
	

Potom prv� dva znaky (quoteleft a asciitilde) v defin�cii znaku platia pre prv� skupinu ( US/ASCII) a druh� dva (semicolon a degree) pre druh� skupinu (Slovak).

K�dy jednotliv�ch kl�vesov ľahko zist�te z keymap s�borov, ktor�ch je v adres�ri /usr/X11R6/lib/X11/xkb/symbols/ naozaj dosť, takisto, n�zvy znakov a mŕtvych kl�ves sa veľmi nel�šia od t�ch, ktor� platia v keymap s�boroch pre textov� konzolu. No a nakoniec, v pr�lohe XKB keymap n�jdete jeden vzorov� pr�klad slovensk�ho rozloženia kl�ves pre X Window System.


4.3. Slovensk� myš v X Window Systeme

Mimoriadne zložit� bolo do verzie 4.0.1 nastavovanie slovenčiny pre myš. Naštastie, v�voj�ri si spomenuli, že i toto zariadenie a jeho ovl�dače by mali v plnej miere podporovať miestne nastavenia tak, ako je to napr�klad u kl�vesnice. Dokonca sa objavili pokusy lokalizovať tablety a sveteln� per�.

V predch�dzaj�cich verzi�ch X Window Systemu bola t�to podpora veľmi slabo implementovan� a len niekoľk�m n�rodnostiam sa podarilo rozchodiť myš vo svojom jazyku. Slovensk� použï¿½vatelia museli na svojich myšiach robiť r�zne �pravy od tup�rovania šn�ry až po kastr�ciu, ale v�sledky boli aj tak neuspokojiv�.

Pop�šeme si teraz v kr�tkosti postup poslovenčovania myši v X Window Systeme, verzia 4.0.1 a vyššie:

Ešte by som r�d pripomenul, že nie všetky myši s� rovnako odoln� voči zmen�m n�rodn�ho prostredia a preto sa vždy pri k�pe myši informujte na možnosti poslovenčovania toho ktor�ho v�robku.


4.4. Pr�klady


4.4.2. XKB keymap

Pr�klad �plne jednoduch�ho popisu rozloženia kl�ves pre slovenčinu:
partial default alphanumeric_keys
xkb_symbols "sk_us" {

    name[Group1] = "Slovak";
    name[Group2] = "US/ASCII";

// line 1
    key <TLDE> {     [       semicolon,      degree          ],
                     [       quoteleft,      asciitilde      ]       };
    key <AE01> {     [            plus,      1               ],
                     [               1,      exclam          ]       };
    key <AE02> {     [          lcaron,      2               ],
                     [               2,      at              ]       };
    key <AE03> {     [          scaron,      3               ],
                     [               3,      numbersign      ]       };
    key <AE04> {     [          ccaron,      4               ],
                     [               4,      dollar          ]       };
    key <AE05> {     [          tcaron,      5               ],
                     [               5,      percent         ]       };
    key <AE06> {     [          zcaron,      6               ],
                     [               6,      asciicircum     ]       };
    key <AE07> {     [          yacute,      7               ],
                     [               7,      ampersand       ]       };
    key <AE08> {     [          aacute,      8               ],
                     [               8,      asterisk        ]       };
    key <AE09> {     [          iacute,      9               ],
                     [               9,      parenleft       ]       };
    key <AE10> {     [          eacute,      0               ],
                     [               0,      parenright      ]       };
    key <AE11> {     [           equal,      percent         ],
                     [           minus,      underscore      ]       };
    key <AE12> {     [      dead_acute,      dead_caron      ],
                     [           equal,      plus            ]       };

// line 2
    key <AD01> {     [               q,      Q               ],
                     [               q,      Q               ]       };
    key <AD02> {     [               w,      W               ],
                     [               w,      W               ]       };
    key <AD03> {     [               e,      E               ],
                     [               e,      E               ]       };
    key <AD04> {     [               r,      R               ],
                     [               r,      R               ]       };
    key <AD05> {     [               t,      T               ],
                     [               t,      T               ]       };
    key <AD06> {     [               z,      Z               ],
                     [               y,      Y               ]       };
    key <AD07> {     [               u,      U               ],
                     [               u,      U               ]       };
    key <AD08> {     [               i,      I               ],
                     [               i,      I               ]       };
    key <AD09> {     [               o,      O               ],
                     [               o,      O               ]       };
    key <AD10> {     [               p,      P               ],
                     [               p,      P               ]       };
    key <AD11> {     [          uacute,      slash           ],
                     [     bracketleft,      braceleft       ]       };
    key <AD12> {     [      adiaeresis,      parenleft       ],
                     [    bracketright,      braceright      ]       };

// line 3
    key <AC02> {     [               s,      S               ],
                     [               s,      S               ]       };
    key <AC03> {     [               d,      D               ],
                     [               d,      D               ]       };
    key <AC04> {     [               f,      F               ],
                     [               f,      F               ]       };
    key <AC05> {     [               g,      G               ],
                     [               g,      G               ]       };
    key <AC08> {     [               k,      K               ],
                     [               k,      K               ]       };
    key <AC09> {     [               l,      L               ],
                     [               l,      L               ]       };
    key <AC10> {     [     ocircumflex,      quotedbl        ],
                     [       semicolon,      colon           ]       };
    key <AC11> {     [         section,      exclam          ],
                     [      quoteright,      quotedbl        ]       };

// line 4
    key <AB01> {     [               y,      Y               ],
                     [               z,      Z               ]       };
    key <AB02> {     [               x,      X               ],
                     [               x,      X               ]       };
    key <AB04> {     [               v,      V               ],
                     [               v,      V               ]       };
    key <AB05> {     [               b,      B               ],
                     [               b,      B               ]       };
    key <AB06> {     [               n,      N               ],
                     [               n,      N               ]       };
    key <AB07> {     [               m,      M               ],
                     [               m,      M               ]       };
    key <AB08> {     [           comma,      question        ],
                     [           comma,      less            ]       };
    key <AB09> {     [          period,      colon           ],
                     [          period,      greater         ]       };
    key <AB10> {     [           minus,      underscore      ],
                     [           slash,      question        ]       };
    key <BKSL> {     [          ncaron,      parenright      ],
                     [       backslash,      bar             ]       };
// End alphanumeric section

// begin modifier mappings
    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock };
    modifier_map Control{ Control_L };
    modifier_map Mod3   { Mode_switch };
};
	


5. Slovenčina a linuxov� kernel


6. Poslovenčovanie konkr�tnych aplik�ci�

Č�m ďalej, t�m viac programov obsahuje bezprobl�mov� podporu jazykov in�ch ako angličtina. Napriek tomu je ešte p�r bal�kov, ktor� buď použï¿½vaj� vlastn� rozloženia kl�ves, alebo je treba nastaviť nejak� tie fonty či premenn�. V tejto kapitole si pop�šeme tie aplik�cie, v ktor�ch je pre rozbehanie slovenčiny po naištalovan� nutn� urobiť viac ako export LANG=sk.

Ak chcete naozaj plnohodnotne využï¿½vať podporu n�rodn�ch nastaven�, vždy sa uistite, že program, ktor� použï¿½vate (alebo cel� distrib�cia), nie je staršï¿½ ako 6 - 12 mesiacov. Je totiž možn�, že autori pridali t�to podporu len v novšï¿½ch verzi�ch.

Niektor� z nasledovn�ch popisov nie s� p�vodn� a niektor� nemusia byť ani odsk�šan�. Preto je pri každom uveden� autor a jeho adresa a pr�padn� zdroj, z ktor�ho sa n�vod dostal do Slovak-HOWTO.


6.1. Bash

Viď Readline.

J�n 'judas' Tomka,

Bash m�va nepravidelne probl�m pri zmene premennej LC_CTYPE a zvykne sa stať, že znaky s diakritikou sa nevypisuj� napriek spr�vnemu nastaveniu tejto premennej. Zatiaľ sa mi nepodarilo zistiť, kde je chyba, lebo napr�klad Vim spusten� z tak�hoto Bashu funguje spr�vne... Zatiaľ to riešim pr�kazom
bash$ exec bash
      

Aktu�lny shell sa nahrad� nov�m, ktor� už premenn� LC_CTYPE pochop� spr�vne a je už možn� zad�vať aj znaky s diakritikou.


6.2. Joe

J�n Ondrej (SAL),

Ak chcete použï¿½vať n�rodn� prostredie, potrebujete mať nainštalovan� slovensk� kl�vesnicu, slovensk� font a navyše mus�te povoliť zobrazovanie znakov s ASCII k�dom 128-255 tak, ako s� (as is). To m�žete spraviť zmazan�m medzery pred voľbou -asis v konfiguračnom s�bore joerc. Najčastejšie ho n�jdete v adres�ri /usr/lib/joe/, v Debiane je v adres�ri /etc/. Ďalšou možnosťou je pridanie parametra -asis pri sp�šťan� programu.


6.3. Lynx

J�n 'judas' Tomka,

V konfigur�cii Lynxu sa lokaliz�cie t�kaj� hlavne tieto nastavenia:

  • Display character set (CHARACTER_SET) --- k�dovanie znakov na v�stupe. Toto hovor� o tom, do akej znakovej sady sa bud� prev�dzať znaky pred zobrazen�m na vašej obrazovke. Ak m�te štandardne nastaven� slovensk� font, m�žete mať toto vždy nastaven� na ISO-8859-2.

  • Assumed document character set (ASSUME_CHARSET) --- ak� znakov� sada sa m� použiť, ak html dokument neobsahuje inform�ciu o svojom k�dovan� a nastavenie Raw 8-bit je vypnut�. HTTP štandardom je ISO-8859-1 takže tak. V�čšinou maj� dokumenty s in�m k�dovan�m ako ISO-8859-1 inform�ciu o svojej znakovej sade, vtedy sa toto nastavenie neberie do �vahy. Ak chcete, aby sa dokumenty, ktor� nemaj� explicitne dan� sadu znakov, považovali za s�bory s k�dovan�m Latin 2, nastavte si t�to premenn�. Možno ju nastaviť len v s�bore /etc/lynx.cfg (teda nie pre každ�ho užï¿½vateľa zvl�šť).

  • Raw 8-bit --- s t�mto sa veľmi tr�piť nemus�te, len v pr�pade, že sa slovensk� znaky nezobrazuj� spr�vne, sa vždy uistite, že to m�te zapnut� (kl�vesovou skratkou @).

Konfiguračn� s�bor /etc/lynx.cfg upravte, aby obsahoval minim�lne prv� riadok z
CHARACTER_SET:iso-8859-2
ASSUME_CHARSET:iso-8859-2
      

...alebo, pre užï¿½vateľsk� konfiguračn� s�bor ~/.lynxrc:
character_set=Eastern European (ISO-8859-2)
      


6.5. Midnight Commander

J�n Ondrej (SAL),

Jeho lokaliz�cia je jednoduch�, pretože ju priamo podporuje. Kl�vesou F9 vyvol�te menu Options->Display bits... a zapnite voľby:
(*) Full 8 bits output
[x] Full 8 bits input
      

Po tomto kroku bude MC vypisovať diakritick� znaky spr�vne a bude ich možn� aj zad�vať z kl�vesnice. Ak sa pri vstupe do niektor�ch adres�rov bude zobrazovať hl�ška Warning: Couldn't change to ..., tak potrebujete lokalizovať knižnicu readline (iba pre staršie RedHat syst�my).

R�mčeky v MC (judas). Ak použï¿½vate console-tools, pre spr�vnu funkciu r�mčekov v Midnight Commander a podobn�ch textov�ch aplik�ci�ch nastavte font s application charset map. U mňa funguje jedine t�to kombin�cia:
sh$ consolechars --font lat2u-16 --acm iso02
	


6.6. Mutt

J�n 'judas' Tomka,

Miestnych nastaven� sa t�kaj� v konfiguračnom s�bore ~/.muttrc nasledovn� premenn�:

  • ascii_chars -- Ak je nastaven�, Mutt použije znaky ASCII pri zobrazovan� vl�ken stromov pripojen�ch s�borov, namiesto znakov ASC. To odpor�čam, ak m�te nastaven� staršï¿½ font bez podpory app-charset-map a namiesto čiar a šï¿½piek sa v�m zobrazuj� znaky s diakritikou, alebo tieto znaky blikaj� ap.

  • charset -- Znakov� sada, ktor� použï¿½va v�š termin�l na zobrazovanie a vkladanie textov�ch d�t. Nastaviť na k�d znakovej sady fontu, ktor� m�te nastaven� na konzole alebo v XTerme, atď.

  • send_charset --


6.7. Readline

J�n 'judas' Tomka,

V s�bore s glob�lnymi nastaveniami /etc/inputrc alebo vo svojom užï¿½vateľskom s�bore ~/.inputrc je pre spr�vnu interpret�ciu osembitov�ch znakov nastaviť tieto premenn�:

  • convert-meta --- Ak je nastaven� na `on', Readline konvertuje znaky s nastaven�m �smym bitom na sekvenciu znakov ASCII odstr�nen�m �smeho bitu a pridan�m znaku Esc na začiatok.

  • input-meta --- Ak je nastaven� na `on', Readline umožn� osembitov� vstup (neodstr�ni �smy bit z preč�tan�ch znakov) bez ohľadu na to, či to termin�l podporuje. Meno meta-flag je synonymom pre t�to premenn�.

  • output-meta --- Ak je nastaven� na `on', Readline bude zobrazovať znaky s nastaven�m �smym bitom priamo a nie ako escape sekvencie.

Takže, do jedn�ho zo spom�nan�ch s�borov vložte tak�to nastavenia:
set convert-meta off
set input-meta on
set output-meta on
      


6.8. RPM4

J�n 'judas' Tomka,

Tento mal� skript�k „doinštaluje“ slovensk� preklady všetk�ch aplik�ci�, ktor� m�te nainštalovan�. M�žu v�m ch�bať, ak ste pri inštal�cii operačn�ho syst�mu nezvolili slovensk� jazyk.

export RPM_INSTALL_LANG=sk
cd /mnt/cdrom/Mandrake/RPMS/
for i in *.rpm; do
	j=$(rpm -q --queryformat "%{NAME}" -p $i)
	if rpm -q $j; then
		rpm -Uvh --replacepkgs $i
	fi
done
      

Už nikdy nezabudnite nastaviť premenn� RPM_INSTALL_LANG!


6.9. Rxvt

J�n 'judas' Tomka,

N�prava toho, že Rxvt vypisuje mŕtvy kl�ves priamo a nečak� na ďalšï¿½ znak, s ktor�m by ho skombinoval, je ot�zka jedn�ho argumentu pri konfigurovan�:
sh$ ./configure --enable-xim
sh$ make
sh$ su -c'make install'
      

T�mto sa Rxvt skompiluje s podporou pre XIM (X Input Method) protokol. Ten umožňuje alternat�vne met�dy vstupu (napr. kinput2) a tiež spr�vne nastavenia pre ľud�, čo použï¿½vaj� mŕtve kl�vesy.


6.10. Samba

J�n Ondrej (SAL),

Po nastaven� lokaliz�cie dok�že automaticky prek�dovať znaky s diakritikou z k�dovania 852 na ISO-8859-2. Nastavuje sa to v konfiguračnom s�bore /etc/smb.conf pridan�m nasleduj�cich riadkov do sekcie [global]:
character set = iso8859-2
client code page = 852
      


7. Fintičky so slovenčinou

7.1. Zad�vanie slovensk�ch znakov vo Vim

http://www.kotelna.sk/keso/unix/vim.html

Ak nem�žete, alebo nechcete použï¿½vať rozloženie kl�ves pre slovenčinu, ale potrebujete zadať p�r našich znakov vo Vim, d� sa to urobiť pomocou pr�kazu imap. Jeho form�t je
	:imap {lhs} {rhs}
      

{lhs} je postupnosť znakov, po ktor�ch zadan� (v kr�tkom časovom intervale) sa vyp�še {rhs}.

Pre slovenčinu by sa dali využiť imap defin�cie znakov typu
:imap =a �
:imap +c č
      

Ako vidno, je to niečo podobn� ako compose sekvencie z kapitoly o kl�vesnici na konzole. Po zadan� t�chto pr�kazov m�žete aj so štandardn�m rozložen�m kl�ves zad�vať vo vim znaky s diakritikou. Tu je kompletn� zoznam imap defin�ci� pre slovensk� diakritiku. Uložte ho do s�boru napr�klad sk.vim a vo Vim ho nač�tate pr�kazom
:source sk.vim
      

imap =a �
imap =A �
imap +a �
imap +A �
imap +c č
imap +C Č
imap +d ď
imap +D Ď
imap =e �
imap +e ě
imap =E �
imap +E Ě
imap =i �
imap =I �
imap =l ĺ
imap =L Ĺ
imap +l ľ
imap +L Ľ
imap +n ň
imap +N Ň
imap =o �
imap =O �
imap +o �
imap +O �
imap "o �
imap "O �
imap =r ŕ
imap =R Ŕ
imap +r ř
imap +R Ř
imap +s š
imap +S Š
imap +t ť
imap +T Ť
imap =u �
imap =U �
imap +u ů
imap +U Ů
imap "u �
imap "U �
imap =y �
imap =Y �
imap +z ž
imap +Z Ž
      


7.2. Odstr�nenie alebo nahradenie diakritiky v textov�ch s�boroch

7.2.1. sed

J�n 'judas' Tomka,

V pr�pade, že potrebujete z textov�ho s�boru odstr�niť diakritick� znamienka, m�žete použiť program sed, pomocou ktor�ho nahrad�te v�skyt znaku s diakritikou jeho ekvivalentom bez nej.

Ak chcete odstr�niť diakritiku �plne, mus�te nahradiť v�skyt všetk�ch znakov s diakritikou. Ak ale chcete len to, aby sa s�bor zobrazoval spr�vne pri prezeran� bez zaveden�ho fontu latin 2, stač� nahradiť len tie znaky, ktor� sa nezobrazuj� spr�vne pre štandardn� font (spravidla latin 1).

Toto je pr�kaz, ktor� možno použiť pri vytv�ran� verzie s�boru �plne bez diakritiky:
sed -e "s:�:a:g" -e "s:�:A:g" -e "s:�:a:g" -e "s:�:A:g" \
    -e "s:č:c:g" -e "s:Č:C:g" -e "s:ď:d:g" -e "s:Ď:D:g" \
    -e "s:�:e:g" -e "s:�:E:g" -e "s:ě:e:g" -e "s:Ě:E:g" \
    -e "s:�:i:g" -e "s:�:I:g" -e "s:ĺ:l:g" -e "s:Ĺ:L:g" \
    -e "s:ľ:l:g" -e "s:Ľ:L:g" -e "s:ň:n:g" -e "s:Ň:N:g" \
    -e "s:�:o:g" -e "s:�:O:g" -e "s:�:o:g" -e "s:�:O:g" \
    -e "s:�:o:g" -e "s:�:O:g" -e "s:ŕ:r:g" -e "s:Ŕ:R:g" \
    -e "s:ř:r:g" -e "s:Ř:R:g" -e "s:š:s:g" -e "s:Š:S:g" \
    -e "s:ť:t:g" -e "s:Ť:T:g" -e "s:�:u:g" -e "s:�:U:g" \
    -e "s:ů:u:g" -e "s:Ů:U:g" -e "s:�:u:g" -e "s:�:U:g" \
    -e "s:�:y:g" -e "s:�:Y:g" -e "s:ž:z:g" -e "s:Ž:Z:g" \
    "Slovak-HOWTO.sgml" > "Slovak-HOWTO-nodiac.sgml"
	


7.2.3. recode

J�n 'judas' Tomka,

Existuje aj program recode, ktor� pravdepodobne tiež sl�ži na zmeny v k�dovan� s�borov. Určite ho použijete na tento cieľ, ak sa predt�m nestane niektor� z nasleduj�cich vec�:

  1. Pr�dete o oči pri č�tan� man str�nky, info manu�lu a všetk�ho čo je o tomto -- inak určite užitočnom programe -- pop�san�.

  2. Pr�dete o nervy pri sk�šan� všetk�ch možn�ch kombin�ci� parametrov, volieb či argumentov pre tento nesmierne užitočn� program.

  3. Pr�dete o poč�tač, keďže ho vyhod�te z okna po dvoch t�ždňoch psychick�ho utrpenia, ktor� zažijete pri pokusoch s t�mto extr�mne užitočn�m programom.

Podľa všetk�ho by mal stačiť nasledovn� pr�kaz:
recode l2 subor.txt
	
ale zd� sa, že to stačiť nebude. Latka na titul „Linuxov� Guru“ sa posunula do z�vratn�ch v�šok, pretože -- aby ste sa stali jeho nositeľom -- mus�te vedieť pomocou tohto programu previesť dokument v latin2 na latin1 alebo dokonca ASCII (a to už je pekn� Saigon...)