Slovak-HOWTO | ||
---|---|---|
Predch�dzaj�ci | Ďalš� |
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.“
Keď zobud�te o polnoci hocikoho, kto vo svojom živote videl poč�tač a op�tate sa ho, ako rozbehať slovensk� znaky, určite spomenie niečo ako fonty. Na zobrazovanie znakov na obrazovku -- či už v textovom alebo grafickom režime -- sl�žia skutočne fonty. Fonty pre konzolu a programy určen� na manipul�ciu s nimi sa nach�dzaj� v bal�ku kbd. Po jeho nainštalovan� s� s�bory s fontami umiestnen� v adres�ri /usr/lib/kbd/consolefonts/.
Pre n�s s� d�ležit� najm� s�bory, ktor� maj� v mene iso02, lat2, latin2 alebo č�slo 852. To naznačuje, že ide o fonty s podporou ISO-8859-2 (latin2), pr�padne DOS codepage 852, čo s� štandardy aj pre slovensk� diakritiku.
Pozor, p�vodn� bal�k sa vol� kbd, ale existuje jeho rozš�ren� verzia, ktor� sa objavuje v distrib�ci�ch -- console-tools. Rozdiely medzi nimi s� minim�lne, pre kbd budeme použ�vať pr�kaz setfont, pre console-tools zase consolechars. Taktiež, n�zvy dod�van�ch fontov sa trochu odlišuj�, takže budem uv�dzať ekvivalenty pre oba bal�ky.
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
setfont meno-fontu
consolechars -f meno-fontu
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
sh$ setfont |
sh$ consolechars -d |
Č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.
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:
lat2-{08,10,12,14,16}, lat2a-16, iso02.{08,14,16}
lat2-{08,10,12,14,16}, lat2u-16, iso02.f{08,14,16}
Na zavedenie fontu použite pr�kaz
sh$ setfont meno-zo-zoznamu |
sh$ consolechars -f meno-zo-zoznamu |
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:
sh$ setfont iso02.16 -m latin2u.trans |
sh$ consoletrans -f lat2u-16 -m iso02 |
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.
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!):
SYSFONT=lat2a-16 |
SYSFONT=lat2u-16 SYSFONTACM=iso02 |
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:
if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && ! [ -f ~/.font ]; then setfont -o ~/.font gr928a-8x16 fi |
if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && [ -f ~/.font ]; then setfont ~/.font rm -f ~/.font fi |
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�...
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ť.
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 |
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" |
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.
Probl�m s E a C je sp�soben� zaveden�m jednotnej meny v eur�pskej �nii. Na vine nie je ani tak EU, ale niekto, kto symboly pre euro a cent umiestnil na AltGr-E a AltGr-C, čo s� naše obyčajn� E a C. Totiž, n�rodn� kl�vesnice s� v�čšinou riešen� tak, že po zaveden� s�boru naďalej funguje americk� rozloženie a na prep�nanie do n�rodn�ho režimu sa použ�va kl�vesa Pause, alebo m�žme zad�vať n�rodn� kl�vesy pri s�časnom držan� kl�vesy AltGr (prav� Alt). S�bor euro.inc, ktor� definuje tieto dva probl�mov� symboly, je pripojen� zo s�boru qwerty-layout.inc, ktor� zase prip�jaj� samotn� slovensk� keymapy (sk-qwerty, sk-prog-qwertz, …).
Riešenie je veľmi jednoduch� - zeditujete qwerty-layout.inc (alebo qwertz-layout.inc) a odkomentujete znakom # riadok
include "euro" |
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 |
V nasleduj�com zozname je t�chto 16 kombin�ci� (po riadkoch):
žiadny | Shift | AltGr | Shift-AltGr |
Control | Shift-Control | AltGr-Control | Shift-AltGr-Control |
Alt | Shift-Alt | AltGr-Alt | Shift-AltGr-Alt |
Control-Alt | Shift-Control-Alt | AltGr-Control-Alt | Shift-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:
Prv� p�smeno v n�zve určuje ASCII znak, pre ktor� chceme použiť diakritiku.
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.
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.
Tabuľka 2. Mŕtve kl�vesy
N�zov | V�znam | Compose |
---|---|---|
dead_acute | dĺžeň | \' |
dead_circumflex | m�kčeň | ^ |
dead_diaeresis | dve bodky nad | " |
Postup pri p�sani compose sekvenci�
Každ� compose sekvencia sa zač�na kľ�čov�m slovom compose.
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
showfont
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.
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:
if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && ! [ -f ~/.keymap ]; then dumpkeys > ~/.keymap loadkeys gr.map fi |
if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && [ -f ~/.keymap ]; then loadkeys ~/.keymap rm -f ~/.keymap fi |
Pokiaľ som sa niekde nesekol, tak minim�lne v distrib�ci�ch RedHat a Mandrake by po t�chto zmen�ch mala do pohody zašlapať slovensk� podpora (fonty + kl�vesnica).
SYSFONT=lat2a-16 |
SYSFONT=lat2u-16 SYSFONTACM=iso02 |
KEYTABLE=sk-qwertz KBCHARSET=iso-8859-2 |
Tiež, ak zad�vate rootovsk� heslo s použit�m in�ho rozloženia kl�ves ako je štandardn� (us), vložte si jeho popis do s�boru /etc/sysconfig/console/default.kmap. Pozor, nesmiete len tak skop�rovať s�bor, alebo vytvoriť link! Ak chcete použiť napr�klad rozloženie sk-qwertz, urobte to takto:
sh$ loadkeys sk-qwertz sh# dumpkeys >/etc/sysconfig/console/default.kmap |
Ak chcete nastaviť slovensk� font a kl�vesnicu len jednorazovo, tieto pr�kazy by to mali dok�zať:
sh$ setfont lat2a-16 sh$ loadkeys sk-qwertz |
sh$ consolechars -f lat2u-16 -m iso02 sh$ loadkeys sk-qwertz |
...a nasp�ť na štandardn� nastavenia:
sh$ setfont sh$ loadkeys -d |
sh$ consolechars -d sh$ loadkeys -d |
Predch�dzaj�ci | Domov | Ďalš� |
Miestne nastavenia | Nastavenia X Window Systemu |