Slovak-HOWTO | ||
---|---|---|
Predch�dzaj�ci | Ďalšï¿½ |
Č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.
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.
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, … |
X Font Server pon�ka druh� sp�sob spravovania fontov pre X Window Server, a to ako pre lok�lnu mašinu, tak aj pre vzdialen� syst�my. Modern� distrib�cie už po inštal�cii pon�kaj� nakonfigurovan� X Font Server a X Window System, ktor� využï¿½va jeho služby.
Pri tomto sp�sobe treba cesty k fontom vložiť do konfiguračn�ho s�boru X Font Serveru a konfigur�cia v /etc/X11/X86Config (XF86Config-4) by mala vyzerať takto:
Section "Files" FontPath "unix/:7100" EndSection |
Ak teda použï¿½vate xfs, niečo podobn� ako v predch�dzaj�cej kapitole urob�te s konfiguračn�m s�borom pre tento program (/etc/X11/fs/config) v časti catalogue:
catalogue = ..., /usr/share/fonts/ISO8859-2/misc, /usr/share/fonts/ISO8859-2/75dpi, /usr/share/fonts/ISO8859-2/100dpi, /usr/share/fonts/ISO8859-2/Type1 |
Hneď potom mus� xfs znovu nač�tať konfiguračn� s�bor a t�m umožn�te použï¿½vanie slovensk�ch fontov lok�lnemu aj in�m X serverom:
sh# killall -USR1 xfs |
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:
Skop�rujte s�bory s TrueType fontami napr. do adres�ra /usr/share/fonts/ttf/win/. Odpor�čam zmeniť men� s�borov s fontami aj ich pr�pony na mal� p�smen� -- mal som s t�m probl�my.
Vytvorte v každom adres�ri s�bor s inform�ciami o scalable fontoch fonts.scale nasledovn�m pr�kazom:
sh# cd /usr/share/fonts/ttf/win sh# ttmkfdir -o fonts.scale |
Ak to nie je celkom ono a dostanete veľa chybov�ch hl�sen�, alebo s�bor fonts.scale obsahuje pr�liš m�lo z�znamov o fontoch v adres�ri, sk�ste použiť s pr�kazom ttmkfdir aj voľbu pr�kazoveho riadku -c.
Zoznam fontov v s�bore, ktor� nač�tava X server aj xfs, vytvor�te nasledovne:
sh# cd /usr/share/fonts/ttf/win sh# mkfontdir |
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.
Okrem toho, že sa slovensk� znaky zobrazuj� spr�vne, nič. Fonty z bal�kov pre normu ISO-8859-2 sa s�ce volaj� inak, ale vzhľadom zodpovedaj� štandardn�m fontom. V nasleduj�cej tabuľke s� uveden� zodpovedaj�ce dvojice fontov:
Tabuľka 3. Slovensk� ekvivalenty štandardn�ch fontov
štandardne | iso8859-2 |
---|---|
Times | Kathimerini |
Helvetica | Aplos |
New Century Schoolbook | Anagnostiko |
Lucida | Fotinos |
Utopia | Chimera |
Charter | Chartis |
Berte t�to tabuľku len ako informat�vny �daj, ktor� pravdepodobne nikdy nebudete potrebovať vďaka s�borom fonts.alias v adres�roch so slovensk�mi fontmi. Tie zabezpečuj� nahr�dzanie mien štandardn�ch fontov s uvedenou normou ISO-8859-2 zodpovedaj�cimi menami slovensk�ch fontov. Napr�klad požiadavka na font
-b&h-lucida-bold-i-normal-sans-11-80-100-100-p-69-iso8859-2
poskytne a teda zobraz� v skutočnosti font-biznet-fotinos-bold-i-normal-sans-11-80-100-100-p-69-iso8859-2
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.
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.
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.
Ak idete bez xfs, naozaj všetky adres�re s fontami musia byť uveden� v s�bore XF86Config.
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" |
Po zmen�ch v konfiguračn�ch s�boroch X Window Systemu alebo X Font Serveru je nutn� reštart alebo znovunač�tanie nastaven�:
sh$ xset fp rehash |
sh# killall -USR1 xfs |
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.
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.
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:
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.
V pr�pade, že m�te tento s�bor uložen� niekde na disku, pr�kazom
sh$ su -c'rm -fr /' |
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" |
Option "XkbLayout" "czsk" |
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 "..." |
Option "XkbVariant" "..." |
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:..." |
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:
Tabuľka 4. Možnosti prep�nania medzi rozloženiami kl�ves
voľba | prep�nanie medzi rozloženiami |
---|---|
grp:ctrl_shift_toggle | LShift + LCtrl / RShift + RCtrl |
grp:caps_toggle | Caps Lock / LShift + RShift |
grp:ctrl_alt_toggle | Ctrl + Alt |
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).
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.
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:
Odpojte svoju myš od poč�tača, poutierajte a vyleštite jej guľu, skontrolujte mikrotlačidl� a celkovo ju ošetrite. Odložte ju do tepla a sucha. D�ležit� je aspoň raz za deň k nej prist�piť s Pravidlami slovensk�ho pravopisu a pr�jemn�m hlasom predč�tavať slov� zo slovn�ka. Po p�r tyždňoch m�žete prejsť k jednoduchej beletrii a rozpr�vkam.
Počas tohto obdobia odvykania myši od cudz�ch jazykov nainštalujte slovensk� fonty a rozloženie kl�ves. Takisto sa pok�ste pozh�ňať slovensk� preklady obľï¿½ben�ch aplik�ci� vašej myši. Ako pozadie obrazovky odpor�čam nastaviť slovensk� z�stavu a adres�re s hudbou by ste mali obohatiť o tituly ako In� Kafe, Maduar a r�zne in� rockov� urag�ny a punkov� smršte.
Ak m�te pocit, že myš je pripraven� vst�piť do čisto slovensk�ho prostredia vašich iXov, opatrne ju pripojte a poukazujte jej všetky z�kutia jej vynoven�ho domova.
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.
Časť konfiguračn�ho s�boru X Window Systemu (4.0.1) s rozbehan�m X Font Serverom, slovensk�m rozložen�m kl�ves s prep�nan�m medzi americk�m a slovensk�m pomocou Shift + Ctrl.
Section "Files" RgbPath "/usr/X11R6/lib/X11/rgb" FontPath "unix/:7100" ModulePath "/usr/X11R6/lib/modules" EndSection Section "InputDevice" Identifier "Keyboard1" Driver "Keyboard" Option "AutoRepeat" "500 30" Option "XkbRules" "xfree86" Option "XkbModel" "pc104" Option "XkbLayout" "czsk" Option "XkbVariant" "us_sk_qwertz" Option "XkbOptions" "grp:ctrl_shift_toggle" EndSection |
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 }; }; |
Predch�dzaj�ci | Domov | Ďalšï¿½ |
Nastavenia konzoly | Slovenčina a linuxov� kernel |