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 |