![]() | ![]() |
|
1. Úvodné informácie1.1. LicenciaÁno, môžete čítať tento dokument, a to aj na komerčné učely! Autori nenesú zodpovednosť za materiálnu či psychickú ujmu spôsobenú čitateľovi, jeho rodinným príslušníkom, domácim a hospodárskym zvieratám, prípadne počítačovému zariadeniu. Toto je „free“ dokument --- môžete ho šíriť a/alebo modifikovať v súlade s podmienkami licencie GNU Free Documentation Licence, ktorej znenie nájdete na adrese http://www.gnu.org/licenses/fdl.html. Autorom pôvodného Slovak-HOWTO je Ján Ondrej (SAL). Tento dokument z neho obsahuje: názov a návody pre Joe, MC a Sambu. Všetko bolo ukradnuté so súhlasom autora. 1.2. Aktuálna verzia a prispievanieAk 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:
1.3. Osoby a obsadenieMená autorov návodov na lokalizáciu konkrétnych aplikácií sa nachádzajú priamo v kapitole Poslovenčovanie konkrétnych aplikácií, prípadne Fintičky so slovenčinou.
2. Miestne nastavenia2.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.1. Ciele a prostriedkyRôzne krajiny a kultúry majú odlišné pravidlá komunikácie. Tieto pravidlá môžu byť malého rozsahu, napr. formát dátumu a času, až po veľmi koplexné ako je jazyk, ktorým hovoria. Internacionalizácia softvéru znamená programovať ho tak, aby bol schopný pracovať s použivateľovými miestnymi nastaveniami. V ISO C pracuje internacionalizácia v zmysle locales. Každé locale (miestne nastavenia) špecifikuje skupinu pravidiel, jedno pravidlo pre každý učel. Užívateľ si zvolí skupinu pravidiel špecifikovaním locale (pomocou systémových premenných). Všetky programy dedia nastavené locale v rámci ich prostredia. Pod podmienkou, že programy sú napísané tak, že akceptujú nastavené locales, môžu sa riadiť pravidlami, ktoré uprednostňuje používateľ. 2.1.2. Kategórie a ich funkcieTá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
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.
2.1.3. Ďalšie premenné
2.1.4. Priorita premennýchMiestne nastavenia sa určujú zo spomenutých premenných, pričom tieto sa vyhodnocujú v tomto poradí:
To znamená asi toľko, že keď raz nastavíte LC_ALL, jednotlivé premenné LC_* sa už neberú do úvahy. Na druhej strane, ak máte napríklad nastavené len niektoré z LC_*, ostatné sa nastavia na hodnotu premennej LANG. 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 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): Tabuľka 1. Príklady kódov miestnych nastavení
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.
2.2. Miestne nastavenia pre SlovenskoV 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 nastaveniamiPrejdime 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, ...
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:
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.
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
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.
2.2.3. Nastavenie časovej zónyS miestnymi nastaveniami úzko súvisí aj nastavenie časovej zóny. Vedel by som o tom rozprávať celé hodiny, ale ono by to muselo byť zložitejšie ako len nastavenie jednej premennej... A to takto:
Toto nastavenie ovplyvňuje len časový posun oproti hardverovým hodinám. (Mimochodom, odporúčam hardverové hodiny nastavené na greenwichský svetový čas, čím tiež odpadajú problémy s prechodom medzi letným a zimným časom atď. ale o tom sú popísané iné súbory.) Toto celé je dosť dobrá vec, hlavne ak mate prístup k počítaču v inej časovej zóne, ale chcete pracovať s časom v stredoeurópskej zóne. Do svojho súboru .bash_profile (.login pre tcsh) vložte vyššie uvedený riadok. 2.3. Príklady miestnych nastavení
3. Nastavenia konzolyTá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 konzoly3.1.1. FontyKeď 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. 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-2Toto 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 fontovAk 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
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 konzoleKeď 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
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
Pokiaľ sa vám nepáči ani jeden zo štandardných keymap súborov pre slovenčinu, čo je pravdepodobné vďaka riadku
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.2. Include a nesprávna funkcia kláves E a CProblé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
3.2.3. Keycode a definovanie klávesPredchá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:
V keymap súboroch je pre každú klávesu (alebo aspoň pre každú, ktorú chceme predefinovať) jeden riadok približne tohto razenia:
Čí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
V nasledujúcom zozname je týchto 16 kombinácií (po riadkoch):
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.
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:
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:
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:
Názvy ďalších znakov špecifických pre slovenčinu:
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:
Ešte jeden príklad: ak chcete používať slovenské rozloženie qwertz a americké rozloženie qwerty, potrebujete vymeniť znaky Y a Z:
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:
V našom prípade teda musíme priradiť tento atribút všetkým znakom explicitne. Takže, konečná úprava keymapy bude:
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 composeS mŕtvymi klávesami súvisia v kmap súboroch riadky tvaru
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
Postup pri písani compose sekvencií
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:
Popis aktuálneho rozloženia kláves môžete uložiť do súboru príkazom
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
Ešte raz naša compose sekvencia a nejaké navyše:
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úboruNa 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:
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
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:
3.3. Zhrnutie nastavení konzolyPokiaľ 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).
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:
Ak chcete nastaviť slovenský font a klávesnicu len jednorazovo, tieto príkazy by to mali dokázať:
...a naspäť na štandardné nastavenia:
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:
Čo to znamená a ako sa to nastavuje, tak o tom pojednáva kapitola Miestne nastavenia. 4.1. Slovenské fonty v X Window SystemePredpokladá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 serverSlovenské 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:
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:
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
4.1.2. Inštalácia fontov - X Font ServerX 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:
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:
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:
4.1.3. Slovenské TrueType fontyAk 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.4. Čo je iné so slovenskými fontamiOkrem 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
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 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.
4.2. Slovenská klávesnica v X Window SystemeSkôr jak to tu celé roztočíme, zadajte príkaz
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:
4.2.1. Konfigurácia klávesniceXFree86 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:
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:
Riadok v konfiguračnom súbore
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:
Niektorý z týchto reťazcov dosaďte do riadku
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:
Č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
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 keymapyX 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:
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:
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 SystemeMimoriadne 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íklady4.4.1. XF86Config-4Č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.
4.4.2. XKB keymapPríklad úplne jednoduchého popisu rozloženia kláves pre slovenčinu:
5. Slovenčina a linuxový kernel5.1. Kompilácia kernelu so slovenskou klávesnicouJe veľmi jednoduché zmeniť rozloženie kláves, s ktorým bude jadro vášho operačného systému skompilované. Ak použijete program loadkeys s voľbou príkazového riadku --mktable <keymapfile>, tento vám vygeneruje „zdrojový kód“ súboru <keymapfile>. Ten uložte do súboru drivers/char/defkeymap.c v adresárovej štruktúre zdrojového kódu Linuxu.
Toto je akási náhrada za /etc/sysconfig/console/default.kmap s tým rozdielom, že vaše rozloženie bude zavedené už od úplného štartu systému. V prípade problémov s initscriptami (alebo štarte zo záchrannej diskety) budete mať zavedené svoje rozloženie v každom prípade. Pozor, nekompilujte si kernel so slovenským rozložením len preto, že žijete na Slovensku! Na to slúži príkaz loadkeys. Použite toto riešenie, len ak bezpodmienečne potrebujete slovenské rozloženie pri zadávaní rootovho hesla alebo tak podobne. 5.2. Diakritika v názvoch súborov na FAT partíciáchAk chcete pristupovať spod Linuxu na FAT/VFAT oddiely a mať prípadnú diakritiku v názvoch súborov na takýchto partíciách, pri konfigurácii kernelu (pred kompilovaním) zvoľte tieto nastavenia v časti Filesystems->Native Language Support:
Pri pripájaní FAT/VFAT môžete potom uviesť voľbu codepage=852. Voľba codepage nastavuje kódovú stránku pre prevod znakov krátkych mien na súborových systémoch FAT a VFAT. Implicitne má codepage hodnotu 437. 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. BashViď Readline. Ján 'judas' Tomka, <judas@linux.sk> 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
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. JoeJán Ondrej (SAL), <ondrejj@salstar.shadow.sk> 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. LynxJán 'judas' Tomka, <judas@linux.sk> V konfigurácii Lynxu sa lokalizácie týkajú hlavne tieto nastavenia:
Konfiguračný súbor /etc/lynx.cfg upravte, aby obsahoval minimálne prvý riadok z
...alebo, pre užívateľský konfiguračný súbor ~/.lynxrc:
6.4. Mandrake 8Viď RPM4. Ján 'judas' Tomka, <judas@linux.sk> 6.4.1. NLSPATHAk inštalujete aplikácie, ktorých súbory s preloženými hláseniami (*.mo) sa po inštalácii nenachádzajú v adresárovej štruktúre pod /usr/share/locale/, odstráňte zo súboru /etc/profile riadok
Vraj je ten riadok nutný pre level1 compliance for LI18NUX2000, man a staršie programy, ale kašľať na štandardy a starý šrot, keď to funguje len bez tej premennej. Samozrejme, ak vám to funguje aj s ňou, zabudnite na mňa. V prípade, že nemôžete meniť /etc/profile, vložte si do svojho ~/.profile riadok
6.4.2. SYSFONTACMPre správnu funkciu fontov je nutné okrem LC_CTYPE a SYSFONT nastaviť aj premennú SYSFONTACM v súbore /etc/sysconfig/i18n. No ak máte vlastný úžívateľský súbor ~/.i18n, globálny sa nenačíta a premenná SYSFONTACM sa nenastaví. Preto vždy vložte do svojho užívateľského súboru riadok:
Na vine je skript /etc/profile.d/lang.sh, pretože ten pošle na terminál Escape sekvenciu zavedenia užívateľského fontu len v prípade, že je nastavená premenná SYSFONTACM. Tak si ju nastavte, alebo si to nejako opravte! 6.5. Midnight CommanderJán Ondrej (SAL), <ondrejj@salstar.shadow.sk> Jeho lokalizácia je jednoduchá, pretože ju priamo podporuje. Klávesou F9 vyvoláte menu Options->Display bits... a zapnite voľby:
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:
6.6. MuttJán 'judas' Tomka, <judas@linux.sk> Miestnych nastavení sa týkajú v konfiguračnom súbore ~/.muttrc nasledovné premenné:
6.7. ReadlineJán 'judas' Tomka, <judas@linux.sk> 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é:
Takže, do jedného zo spomínaných súborov vložte takéto nastavenia:
6.8. RPM4Ján 'judas' Tomka, <judas@linux.sk> 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.
Už nikdy nezabudnite nastaviť premennú RPM_INSTALL_LANG! 6.9. RxvtJán 'judas' Tomka, <judas@linux.sk> 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í:
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. SambaJán Ondrej (SAL), <ondrejj@salstar.shadow.sk> 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]:
7. Fintičky so slovenčinou7.1. Zadávanie slovenských znakov vo Vimhttp://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
{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
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
7.2. Odstránenie alebo nahradenie diakritiky v textových súboroch7.2.1. sedJán 'judas' Tomka, <judas@linux.sk> 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:
7.2.2. cstocsBraňo Katreniak Keď sa zmieňujete o tom, ako sa dá odstrániť slovenčina z dokumentu, zdá sa mi vhodné spomenúť aj program cstocs. Je to milá utilitka štandardne dodávaná s TeXom. Umožňuje konverziu súborov prakticky všetkých možných kódových stránok medzi sebou navzájom, pričom jedna z možností je aj odstránenie diakritiky. Pričom sa mi to zdá pohodlnejšie ako sed. 7.2.3. recodeJán 'judas' Tomka, <judas@linux.sk> 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í:
Podľa všetkého by mal stačiť nasledovný príkaz:
|