2303 lines
117 KiB
Plaintext
2303 lines
117 KiB
Plaintext
Slovak-HOWTO
|
||
|
||
Ján 'judas' Tomka
|
||
|
||
verzia 4 (Blanka)
|
||
|
||
|
||
16. február 2002
|
||
|
||
|
||
Tento dokument poskytuje informácie týkajúce sa problematiky miestnych
|
||
nastavení v prostredí opera??ných systémov GNU/Linux s oh??adom na potreby
|
||
slovenského u??ívate??a.
|
||
|
||
-----------------------------------------------------------------------------
|
||
Obsah
|
||
1. Úvodné informácie
|
||
1.1. Licencia
|
||
1.2. Aktuálna verzia a prispievanie
|
||
1.3. Osoby a obsadenie
|
||
|
||
|
||
2. Miestne nastavenia
|
||
2.1. Princípy miestnych nastavení
|
||
2.2. Miestne nastavenia pre Slovensko
|
||
2.3. Príklady miestnych nastavení
|
||
|
||
|
||
3. Nastavenia konzoly
|
||
3.1. Sloven??ina na výstupe textovej konzoly
|
||
3.2. Slovenská klávesnica na textovej konzole
|
||
3.3. Zhrnutie nastavení konzoly
|
||
|
||
|
||
4. Nastavenia X Window Systemu
|
||
4.1. Slovenské fonty v X Window Systeme
|
||
4.2. Slovenská klávesnica v X Window Systeme
|
||
4.3. Slovenská my?? v X Window Systeme
|
||
4.4. Príklady
|
||
|
||
|
||
5. Sloven??ina a linuxový kernel
|
||
5.1. Kompilácia kernelu so slovenskou klávesnicou
|
||
5.2. Diakritika v názvoch súborov na FAT partíciách
|
||
|
||
|
||
6. Posloven??ovanie konkrétnych aplikácií
|
||
6.1. Bash
|
||
6.2. Joe
|
||
6.3. Lynx
|
||
6.4. Mandrake 8
|
||
6.5. Midnight Commander
|
||
6.6. Mutt
|
||
6.7. Readline
|
||
6.8. RPM4
|
||
6.9. Rxvt
|
||
6.10. Samba
|
||
|
||
|
||
7. Finti??ky so sloven??inou
|
||
7.1. Zadávanie slovenských znakov vo Vim
|
||
7.2. Odstránenie alebo nahradenie diakritiky v textových súboroch
|
||
|
||
|
||
|
||
1. Úvodné informácie
|
||
|
||
1.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] 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 prispievanie
|
||
|
||
Ak nájdete v tomto súbore nie??o, ??o je nezlú??ite??né s va??im linuxovým
|
||
presved??ením, napí??te najskôr do diskusie linux, potom sk-i18n, dajte
|
||
príspevok na www.linux.sk a poohovárajte ma na #sklug. V prípade, ??e vás to
|
||
neprejde, skontrolujte, ??i máte aktuálnu verziu a, samozrejme, a?? nakoniec,
|
||
dajte mi vedie??. Adresy sú:
|
||
|
||
* Aktuálna verzia: [http://slovencina.linux.sk/howto/] http://
|
||
slovencina.linux.sk/howto
|
||
|
||
* Priania, s??a??nosti a ponuky na sobá??: [mailto:judas@linux.sk]
|
||
judas@linux.sk
|
||
|
||
|
||
Na túto adresu sa tie?? obracajte, ak máte nie??o, ??o by nemalo chýba?? v
|
||
Slovak-HOWTO.
|
||
|
||
Nadácia Pomô?? a skonaj prispela na dopísanie ??asti o klávesnici v iXoch
|
||
sama sebe ??iastkou 500 000,- Sk, v televízii Pomô?? a skonaj i v rovnomennom
|
||
??asopise boli zverejnené inzeráty, politická strana PAS nekompromisne trvá
|
||
na kompromise a v??etci pijú minerálku Pomô?? a skonaj. Tigre, nosoro??ce a
|
||
lú??ne koníky boli pokrstené, a predsa sa s kapitolou o klávesnici v iXoch ni
|
||
?? nedeje. Mimochodom, sme naj??ítanej??ie Slovak-HOWTO na svete!
|
||
|
||
Pri prispievaní sa skúste riadi?? nasledovnými pravidlami:
|
||
|
||
* Pre tých, ktorí majú vá??ny záujem podie??a?? sa na písaní Slovak-HOWTO,
|
||
je mo??ný CVS prístup priamo k zdrojovým kódom dokumentu na serveri
|
||
cvs.linuxdoc.org v adresári /cvsroot/LDP/howto/docbook/Slovak-HOWTO/.
|
||
Bli????ie informácie o získaní CVS konta a webovskom rozhraní k CVS
|
||
serveru nájdete v LDP Autor Guide.
|
||
|
||
* Opravy robte v??dy vo formáte SGML (DTD DocBook, verzia 4.0), ktorý je
|
||
primárnym formátom pri tvorbe tohto dokumentu. Je tie?? mo??né posiela??
|
||
??istý text. Príspevky pí??te, pokia?? mo??no, s diakritikou v norme
|
||
ISO-8859-2.
|
||
|
||
* Ak je to nie??o vä????ie, dajte mi najskôr vedie??, ??o chystáte,
|
||
preto??e je mo??né, ??e u?? na tom niekto maká a teda bu?? na to
|
||
zabudnete, alebo to skúsite dorobi?? s danou osobou. (Vzh??adom na to,
|
||
??e zatia?? sa do tohto dokumentu dostalo asi 20 riadkov cudzieho textu,
|
||
zdá sa mi predchádzajúca veta maximálne smie??na. Ha-ha, zasmial som
|
||
sa...)
|
||
|
||
* Va??e meno a adresa budú automaticky zverejnené spolu s va??im
|
||
príspevkom. Ak si to ne??eláte, musíte o to výslovne po??iada??. Takisto,
|
||
autor príspevku u?? jeho zaslaním implicitne súhlasí s aplikáciou
|
||
licencie tohto dokumentu na ??as??, ktorej je autorom.
|
||
|
||
* V Czech-HOWTO sa hovorí: ??Kdy?? u?? n??kdo podobný dokument ??te, d??lá
|
||
to z nutnosti a ne pro své pobavení.?? Musíme v??ak zobra?? do úvahy, ??e
|
||
v ??echách je vy????ia ??ivotná úrove?? a oni a?? to??ko srandy
|
||
nepotrebujú...
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
1.3. Osoby a obsadenie
|
||
|
||
Mená 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.
|
||
|
||
* Ján 'judas' Tomka -- Zodpovedný vedúci.
|
||
|
||
* ??ubomír 'salo' Sedlá??ik -- ksh/csh/tcsh, grammar bugfixes.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
2. Miestne nastavenia
|
||
|
||
2.1. Princípy miestnych nastavení
|
||
|
||
Podpora miestnych nastavení je dnes mimoriadne dôle??itým faktorom, ktorý
|
||
charakterizuje jednotlivé opera??né systémy. ??asy, ke?? boli ??udia
|
||
??tastní, ??e to nie??o pí??e, sú nenávratne pre?? a pou??ívatelia vy??adujú
|
||
podporu svojich miestnych nastavení. V GNU systémoch je táto podpora
|
||
implementovaná priamo do ??tandardnej kni??nice jazyka C -- GNU libc. Táto
|
||
podpora je navrhnutá tak, aby zoh??ad??ovala v??etky po??iadavky kladené na
|
||
nastavenia pre akúko??vek krajinu a akýko??vek jazyk.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.1.1. Ciele a prostriedky
|
||
|
||
Rô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 funkcie
|
||
|
||
Táto ??as?? popisuje jednotlivé premenné, ktoré ovplyv??ujú miestne
|
||
nastavenia a ktorými sa riadia aj funkcie kni??nice GNU libc.
|
||
|
||
Nastavenie premennej prostredia sa robí pomocou príkazu shellu
|
||
+---------------------------------------------------------------------------+
|
||
|bash$ export LC_PREMENNA=sk |
|
||
| |
|
||
|tcsh$ setenv LC_PREMENNA sk |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
LC_PREMENNA je jedna z nasledujúcich:
|
||
|
||
* LC_COLLATE --- Triedenie re??azcov. Nastavením tejto premennej mo??no
|
||
prinúti?? aplikácie, napr. sort, ls a iné, aby pri porovnávaní re??azcov
|
||
brali do úvahy miestne rozlo??enie jednotlivých písmen v abecede. Sloven
|
||
??ina má napríklad hne?? nieko??ko znakov, ktoré by pri triedení pod??a
|
||
??íselnej hodnoty znaku spôsobovali problémy. Slovenské nastavenia
|
||
triedenia povedia funkciam strcoll a strxfrm, ??e napríklad ch je jedno
|
||
písmeno a nasleduje hne?? za h a nie za c, ??e ??iroké ä nasleduje za
|
||
dlhým á a to zase za oby??ajným a. Skúste si to na príkaze sort. Zadajte
|
||
písmená cc ch hh, potom zme??te LC_COLLATE príkazom
|
||
+---------------------------------------------------------------+
|
||
|bash$ export LC_COLLATE=sk |
|
||
| |
|
||
|tcsh$ setenv LC_COLLATE sk |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
Skúste to so sort znovu a porovnajte výsledok...
|
||
|
||
* LC_CTYPE --- Klasifikácia a prevod znakov, multibyte. Správne nastavenie
|
||
tejto premennej je nutné pre korektné rozli??ovanie znakov abecedy
|
||
jednotlivých jazykov, ur??enie ??íslic, tzv. bielych znakov, prevod
|
||
malých písmen na ve??ké, at??. Najvhodnej??ie je túto premennú
|
||
nenastavova?? a tým umo??ni??, aby bola jej hodnota prebratá od
|
||
premenných LC_ALL alebo LANG (vi?? ??alej). Ak ale nechcete pou??íva??
|
||
slovenské nastavenia, len ma?? správne zobrazené slovenské fonty a funk??
|
||
nú slovenskú klávesnicu na konzole aj pod iXami, nastavte iba túto
|
||
premennú.
|
||
|
||
Varovanie V??dy si bu??te stopercentne istí, ??e máte túto
|
||
premennú nastavenú (bu?? cez LC_ALL, LANG alebo
|
||
priamo), lebo inak nemá zmysel ??íta?? ??alej! Ono ??
|
||
klasifikácia a prevod znakov?? neznie nejako lákavo,
|
||
ale vedzte, ??e je to sakramentsky dôle??ité pre ??ivot
|
||
slovenských písmeniek vo va??om Linuxe!
|
||
|
||
* LC_MONETARY, LC_NUMERIC --- Formát pe??a??ných a ??íselných hodnôt.
|
||
Umo????uje meni?? skupinu nastavení, ktoré sa pou??ijú pri formátovaní
|
||
pe??a??ných hodnôt alebo v??etkých ostatných ??íselných hodnôt. Sú to
|
||
desatinná ??iarka, odde??ova?? tisícov, zoskupovanie ??íslic, znamienka
|
||
pre kladné a zaporné hodnoty, at??.
|
||
|
||
* LC_TIME --- Formátovanie dátumu a ??asu. Nastavenia odde??ova??ov medzi
|
||
hodinami, minútami a sekundami, názvy dní, poradie rok, mesiac a de?? v
|
||
dátume, ...
|
||
|
||
* LC_MESSAGES --- Výber jazyka, pou??itého u??ívate??ským rozhraním na
|
||
preklad hlá??ok programov. Toto je presne tá premenná, ktorá prinúti
|
||
aplikácie hovori?? po slovensky. Vi?? ??al??ie kapitoly.
|
||
|
||
|
||
S prekladom hlásení programov, hlavne s umiestnením súborov s prelo??enými
|
||
re??azcami, súvisí premenná NLSPATH. Mala by obsahova?? dvojbodkami oddelený
|
||
zoznam adresárov, v ktorých sa budú h??ada?? .mo súbory pre miestne
|
||
nastavenia dané premennou LC_MESSAGES. Premennú NLSPATH je v??ak potrebné
|
||
nastavova?? len vo výnimo??ných prípadoch, preto??e aplikácie h??adajú
|
||
preklady svojich hlásení v ??tandardných adresároch pre tieto súbory.
|
||
|
||
Okrem týchto premenných bolo implementovaných nieko??ko ??al??ích, ktoré
|
||
zatia?? nie sú zdokumentované (The GNU C Library Reference Manual). Ich
|
||
význam je zrejmý z názvu, tak??e uvediem aj svoju dedukciu.
|
||
|
||
* LC_PAPER --- Formát papiera. V na??ich zemepisných ??írkach sa napríklad
|
||
pou??íva formát A4, v Amerike je to Letter, at??. Pozor, táto premenná
|
||
neobsahuje priamo názov formátu, ale (tak, ako v??etky LC_ premenné),
|
||
skratku miestneho nastavenia, teda u nás to bude sk. Ak by sme chceli
|
||
pou??íva?? formát Letter, museli by sme túto premennú nastavi?? na kód
|
||
miestneho nastavenia niektorej z krajín, ktorá pou??íva takýto formát,
|
||
napríklad us. V tomto prípade je nutné nain??talova?? balík s miestnymi
|
||
nastaveniami pre túto krajinu (locales-us).
|
||
|
||
* LC_NAME --- Formát mena a priezviska. U nás má ka??dý dve mená, pí??u sa
|
||
v poradí meno, priezvisko. V Rusku majú zase tri mená v poradí meno,
|
||
otcovo-meno, priezvisko. V Ma??arsku majú dve mená tak ako u nás, ale
|
||
pí??u sa v opa??nom poradí. O tom je táto premenná. Asi...
|
||
|
||
* LC_ADDRESS --- Spôsob zápisu adresy. Poradie ulice a popisného ??ísla
|
||
domu, ZIP kód, PS?? apod.
|
||
|
||
* LC_TELEPHONE --- Formát telefónnych a faxových ??ísel. Ur??uje
|
||
zoskupovanie ??íslic, ich oddelovanie, po??et ??ísel predvo??by, ...
|
||
|
||
* LC_MEASUREMENT --- Miery. Jednotky hmotnosti, objemu, teploty a d????ky,
|
||
pou??ívané v tej ktorej krajine. Program napísaný v USA bude
|
||
pravdepodobne po??íta?? s galónmi vody, ale ak je správne napísaný, s
|
||
premennou LC_MEASUREMENT nastavenou na ??sk?? bude zobrazova?? litre v
|
||
správnom pomere. To isté platí napríklad pre prevod teploty vo
|
||
Fahrenheitovej stupnici na stupne Celsia.
|
||
|
||
* LC_IDENTIFICATION --- Az apád, tak toto neviem. Rodné ??íslo? ??íslo
|
||
sociálneho poistenia? ??íslo topánok?
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
2.1.3. ??al??ie premenné
|
||
|
||
* LC_ALL --- Ak je táto premenná nastavená, pou??ije sa jej hodnota pre
|
||
v??etky vy????ie spomenuté skupiny locales, bez oh??adu na hodnotu
|
||
príslu??ných premenných.
|
||
|
||
* LANG --- Hodnota tejto premennej sa pou??ije pre tie skupiny locales,
|
||
ktoré nemajú príslu??nú premennú nastavenú.
|
||
|
||
* LANGUAGE --- Alternatívne miestne nastavenia. Táto premenná mô??e
|
||
obsahova?? usporiadaný zoznam kódov miestnych nastavení oddelených
|
||
dvojbodkami. Súbory s prekladmi hlá??ok programov sa budú h??ada?? v
|
||
poradí, v akom sú ur??ené v tomto zozname. Ak sa nepodarí nájs?? súbor s
|
||
prelo??enými hlá??kami programu v jednom jazyku, pou??ije sa súbor pre
|
||
nasledujúci jazyk v zozname LANGUAGE. Navy??e, ak sa súbor pre prvý jazyk
|
||
aj nájde, ale niektorý re??azec z neho nie je prelo??ený, nepou??ije sa
|
||
pôvodný (anglický), ale najskôr sa pokúsi nájs?? preklad daného re??azca
|
||
v súbore pre ??al??í jazyk v zozname LANGUAGE. To je výhodné pre ??udí,
|
||
ktorí okrem svojho jazyka ovládajú nejaký iný lep??ie ako angli??tinu, v
|
||
ktorej sú zvy??ajne programy originálne napísané. Napríklad Slovák by
|
||
mohol ma?? nastavené LANGUAGE="sk:cz" a Szolvák z Komárom zase LANGUAGE=
|
||
"hu:sk".
|
||
|
||
Výstraha Premenná LANGUAGE ovplyv??uje len premennú LC_MESSAGES!
|
||
Pre správnu funkciu je nutné nastavi?? aj ostatné
|
||
premenné (minimálne LC_CTYPE).
|
||
|
||
* LINGUAS --- Táto premenná nemá ??peciálny význam z h??adiska GNU libc,
|
||
ale zvykne sa pou??íva?? pri in??talácii programov (zo zdrojákov).
|
||
Medzerami oddelený zoznam kódov miestnych nastavení ur??uje jazyky, pre
|
||
ktoré si u??ívate?? ??elá in??talova?? preklady re??azcov aplikácie.
|
||
Príklad:
|
||
+---------------------------------------------------------------+
|
||
|bash$ export LINGUAS="sk cz" |
|
||
|bash$ ./configure |
|
||
|bash$ make install |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
Tieto príkazy skompilujú a nain??talujú aplikáciu s podporou sloven??iny
|
||
a ??e??tiny. In??tala??né skripty obvykle tie?? kontrolujú obsah
|
||
premenných LANG a LC_ALL, tieto ale mô??u obsahova?? len jeden kód
|
||
miestnych nastavení.
|
||
|
||
* RPM_INSTALL_LANG --- ??astej??ie ako zo zdrojového kódu sa aplikácie
|
||
in??talujú z rôznych balíkov (rpm, deb, ...). Kvôli ??etreniu miestom na
|
||
disku (a logike -- málokto ovláda tridsa?? re??í) je v RPM4 mo??né ur??
|
||
i?? jazyk, ktorého prelo??ené hlá??ky sa budú in??talova??. Preto odporú
|
||
??am do súboru .bash_profile (.login) u??ívate??a, ktorý in??taluje
|
||
balíky (root), vlo??i?? nasledovný riadok:
|
||
+---------------------------------------------------------------+
|
||
|bash$ export RPM_INSTALL_LANG=sk |
|
||
| |
|
||
|tcsh$ setenv RPM_INSTALL_LANG "sk" |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
Ak sa vám nebodaj stane taká vec, ??e nain??talujete celý opera??ný
|
||
systém a a?? potom sa dozviete o tejto premennej (tak, ako sa to stalo aj
|
||
mne), skúste skript uvedený v ??asti RPM4.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
2.1.4. Priorita premenných
|
||
|
||
Miestne nastavenia sa ur??ujú zo spomenutých premenných, pri??om tieto sa
|
||
vyhodnocujú v tomto poradí:
|
||
|
||
LANGUAGE --- ovplyv??uje len LC_MESSAGES
|
||
LC_ALL
|
||
LC_*
|
||
LANG
|
||
|
||
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[_územie[.kódovanie]][@modifikátor]
|
||
|
||
|
||
jazyk je napr. sk pre sloven??inu, cs pre ??e??tinu, hu pre ma??ar??inu,
|
||
územie je SK pre Slovensko, CZ pre ??eskú republiku, HU pre Ma??arsko,
|
||
kódovanie je ISO-8859-2 pre v??etky stredoeurópske jazyky (je mo??ne pou??i??
|
||
nieko??ko formátov na zadanie kódovania) a modifikátor slu??i na povolenie
|
||
alebo zakázanie niektorých funkcií. Tie sú dané v definíciach miestnych
|
||
nastavení. Napríklad, pre Ve??kú Britániu je modifikátorom re??azec euro a
|
||
pri jeho pou??ití sa ako pe??a??ná mena bude pou??íva?? euro namiesto libry.
|
||
To znamená, ??e sa musí pou??i?? kódovanie iso-8859-15, ktoré definuje znaky
|
||
euro a cent.
|
||
|
||
Príklady kódov miestnych nastavení (ka??dý z týchto re??azcov je mo??né
|
||
priradi?? premenným miestnych nastavení, ale naj??astej??ie sa pou??ívajú len
|
||
dvojpísmenkové skratky v poslednom st??pci):
|
||
|
||
|
||
Tabu??ka 1. Príklady kódov miestnych nastavení
|
||
+-----------------+---------+-------+--+
|
||
|sk_SK.ISO-8859-2 |sk_SK | |sk|
|
||
+-----------------+---------+-------+--+
|
||
|cs_CZ.ISO-8859-2 |cs_CZ@-ch|cs@-ch |cs|
|
||
+-----------------+---------+-------+--+
|
||
|en_GB.iso8859 |en_GB |en@euro|en|
|
||
+-----------------+---------+-------+--+
|
||
|ja_JP.ujis |ja_JP.EUC|ja_JP |ja|
|
||
+-----------------+---------+-------+--+
|
||
|
||
Nemali by sme zabudnú?? na dve ??tandardné locales, ktoré sa pou??ijú, ak nie
|
||
sú systémové premenné nastavené a programy ich pou??ívajú do doby, kým sa
|
||
inicializuje lokalizácia. Tvrdím, ??e sa pou??ijú obe, preto??e momentálne sú
|
||
toto??né, ale v budúcnosti sa mô??u v tejto oblasti ??tandardy ISO C a POSIX
|
||
odli??ova?? a potom to bude zále??a?? na konfigurácii systému.
|
||
|
||
C --- nastavenia pod??a ??tandardu ISO C.
|
||
POSIX --- nastavenia pod??a ??tandardu POSIX. V sú??asnosti je to alias pre
|
||
nastavenia C.
|
||
|
||
-----------------------------------------------------------------------------
|
||
2.2. Miestne nastavenia pre Slovensko
|
||
|
||
V prvom rade treba nain??talova?? balík s podporou miestnych nastavení, ktorý
|
||
má názov locales a tie?? balík s podporou priamo pre Slovensko --- locales-sk
|
||
. Ak máte záujem pou??íva?? aj podporu pre nejaký iný jazyk (na na??om území
|
||
je aktuálna najmä ??e??tina a ma??ar??ina), musíte tie?? nain??talova??
|
||
balíky pre tieto jazyky.
|
||
|
||
V druhom rade si musíte nain??talova?? balíky s podporou miestnych nastavení
|
||
a priamo sloven??iny (sú to locales a locales-sk).
|
||
|
||
V ??al??om kroku si nezabudnite nain??talova?? balíky locales a locales-sk.
|
||
Takisto, pre ka??dý jazyk, ktorý sa chystáte pou??íva??, si nain??talujte
|
||
balík s podporou miestnych nastavení.
|
||
|
||
V prípade problémov s miestnymi nastaveniami sa dr??te predchádzajúcich troch
|
||
krokov.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2.1. Súbory s miestnymi nastaveniami
|
||
|
||
Prejdime sa teraz trochu po na??ich adresároch. Prvý nav??tívime /usr/share/
|
||
locale/sk. Na prvý poh??ad vidno, ??e adresár a súbory v tomto adresári majú
|
||
mená toto??né s premennými, pomocou ktorých sa nastavujú jednotlivé kategórie
|
||
miestnych nastavení. Je to preto, lebo práve z týchto súborov sa na??ítajú
|
||
nastavenia, ke?? je daná premenná nastavená na hodnotu sk. Okrem nich tu
|
||
mô??e by?? e??te súbor charset, ktorý obsahuje len jeden riadok s re??azcom
|
||
iso-8859-2. Ten hovorí, aké kódovanie znakov sa má pou??i?? pre dané miestne
|
||
nastavenia.
|
||
|
||
V??etky súbory v tomto adresári sú binárne dáta a adresár LC_MESSAGES
|
||
obsahuje súbory, ktorých mená sú toto??né s názvami niektorých balíkov
|
||
nain??talovaných na va??om systéme, s príponou mo. Sú to preklady re??azcov z
|
||
jednotlivých aplikácií. O nich si povieme neskôr. Teraz by sme mohli zisti??,
|
||
??o vlastne obsahujú súbory LC_*.
|
||
|
||
Presu??me sa do adresára /usr/share/i18n/. Tu, v textovom súbore sk_SK v
|
||
podadresári locales/ sa kone??ne nachádzajú slovenské miestne nastavenia v ??
|
||
itate??nej (a editovate??nej) forme. Súbory v tomto adresári majú presne danú
|
||
??truktúru, ktorá je popísaná v manuálovej stránke locale(5). Pre be??ného
|
||
pou??ívate??a nemá zmysel meni?? nastavenia v tomto súbore, ke????e ide o
|
||
??tandardné nastavenia, ktoré sa pou??ívajú na celom Slovensku. Ale, proti
|
||
Gustovi ??iadna putika! Ak sa teda rozhodnete zmeni?? nie??o v tomto súbore,
|
||
musíte aktualizova?? súbory v prvom spomínanom adresári /usr/share/locales/sk
|
||
/ príkazom, ktorý údaje v súbore sk_SK skompiluje a ulo??í do súborov
|
||
LC_COLLATE, LC_CTYPE, ...
|
||
sh$ localedef -i sk_SK -f ISO-8859-2 sk_SK
|
||
|
||
|
||
V podadresári /usr/share/i18n/charmaps/ sa nachádzajú súbory s popismi
|
||
jednotlivých kódovani znakov. Pre Slovensko je aktuálny ISO-8859-2 (??o je aj
|
||
obsah spomínaneho súboru charset).
|
||
|
||
V adresári /usr/share/locale/ sa nachádza súbor locale.alias, ktorý definuje
|
||
tzv. aliasy pre kódy miestnych nastavení. Pre správnu funkciu slovenských
|
||
miestnych nastavení by mal obsahova?? tieto dva riadky:
|
||
sk sk_SK.ISO-8859-2
|
||
slovak sk_SK.ISO-8859-2
|
||
|
||
|
||
To zabezpe??í, ??e aj ke?? nezadáte kódovanie znakov, bude pou??ité
|
||
iso-8859-2. Druhý riadok má na svedomí to, ??e namiesto sk mo??no zada??
|
||
slovak.
|
||
|
||
Varovanie Ale na aliasy typu slovak si dávajte bacha! Niektoré aplikácie,
|
||
ktoré v súvislosti s miestnymi nastaveniami nevyu??ívajú slu??by
|
||
libc, toti?? na aliasy ka????ú a zaujímajú ich len prvé dva znaky
|
||
nastavených premenných. A tak sa zo slovak stane sl, ??o je
|
||
Slovinsko. Pozitívne je, ??e pre sloven??inu mô??ete nastavi??
|
||
premennú napríklad na hodnotu skaderukaskadenoha.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2.2. Konfigurácia miestnych nastavení
|
||
|
||
Nastavenia internacionalizácie sa (v RedHat a Mandrake) nachádzajú v súbore /
|
||
etc/sysconfig/i18n. Je to ve??mi u??ito??ný súbor, ktorý si rýchlo ob??úbite.
|
||
Mo??no v ??om nastavi?? v??etko, ??o sa kedy týkalo internacionalizácie,
|
||
národných fontov a rozlo??ení kláves. Tento súbor v??ak len definuje
|
||
systémové premenné a zvykne sa vklada?? (source /etc/sysconfig/i18n) do
|
||
inicializa??ných skriptov. Exportovanie premenných (odovzdanie ostatným
|
||
aplikáciám) má na starosti skript /etc/profile.d/lang.sh (bash) alebo /etc/
|
||
profile.d/lang.csh (tcsh). Tento sa vykoná pri ka??dom ??tarte shellu,
|
||
typicky je volaný z /etc/profile (bash) alebo /etc/csh.cshrc (tcsh).
|
||
|
||
Súbor /etc/sysconfig/i18n definuje nastavenia pre celý systém. Tieto sa
|
||
pou??ijú, ak sa nenájde súbor s u??ívate??ovými nastaveniami. Ka??dý u??ívate
|
||
?? si mô??e ur??i?? svoje vlastné nastavenia v súbore .i18n v jeho domovskom
|
||
adresári. Nastavenia sa v??dy ??ítajú len z jedného z týchto súborov, teda ak
|
||
má u??ívate?? svoj vlastný súbor ??/.i18n, nastavenia zo súboru /etc/
|
||
sysconfig/i18n sa ignorujú.
|
||
|
||
U??ívate?? si mô??e zmeni?? nastavenia aj ru??ne, kedyko??vek sa mu zachce,
|
||
nastavením premenných prostredia LC_MESSAGES, LANG, at??.
|
||
|
||
Vypnú?? nejaké nastavenie je mo??né príkazom
|
||
+---------------------------------------------------------------------------+
|
||
|sh$ unset LC_MESSAGES LANG |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
Tým sa zru??ia nastavenia daných premenných (a pou??ije sa ??tandardné locale
|
||
C alebo POSIX).
|
||
|
||
Ak máte napríklad nastavené premenné LC_ALL=sk a LC_MESSAGES=cz, tak po
|
||
príkaze unset LC_ALL nebudete ma?? hlásenia programov v angli??tine, ale ??
|
||
e??tine. Preto, ak chcete vypnú?? nejaké nastavenia, v??dy musíte príkazom
|
||
unset zru??i?? nastavenia v??etkých premenných, ktoré mô??u ovplyv??ova??
|
||
dané miestne nastavenia.
|
||
|
||
Poznámka export/setenv
|
||
Neodpustím si malú poznámku k príkazu export. Je to vstavaná funkcia
|
||
v??etkých shellov kompatibilných s klasickým sh (teda aj bash). Pre
|
||
shelly typu tcsh je ekvivalentom príkaz setenv.
|
||
|
||
Je dôle??ité uvedomi?? si, ??o presne tento príkaz robí s
|
||
premennými. V dokumentácii k bashu sa hovorí, ??e export ozna??í
|
||
premennú, aby bola odovzdaná detským (child) procesom v rámci
|
||
prostredia (environment). To znamená asi to??ko, ??e ke?? spustíte
|
||
napr. iXy z materského procesu bash, ktorý pri ??tarte exportoval
|
||
premennú LANG=sk, v??etky aplikácie v prostredí X Window System budú
|
||
dedi?? toto nastavenie a teda (ak to sami podporujú) budú fungova??
|
||
po slovensky. Ak budete chcie?? spusti?? aplikáciu bez slovenských
|
||
nastavení, musíte v xterme zada?? príkaz unset LANG (unsetenv LANG
|
||
pre tcsh), ??ím pre v??etky detské procesy xtermu (presnej??ie
|
||
shellu, ktorý je v ??om spustený), zru??íte nastavenie premennej
|
||
LANG. Potom aplikácie spustené priamo z tohto xtermu budú fungova??
|
||
bez podpory sloven??iny. Trochu sa s tým pohrajte.
|
||
-----------------------------------------------------------------------------
|
||
|
||
2.2.3. Nastavenie ??asovej zóny
|
||
|
||
S 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:
|
||
+---------------------------------------------------------------------------+
|
||
|bash$ export TZ="Europe/Bratislava" |
|
||
| |
|
||
|tcsh$ setenv TZ "Europe/Bratislava" |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
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í
|
||
|
||
* U??ívate?? je síce zo stredného Slovenska, ale u?? ke?? s ním bola jeho
|
||
mama tehotná, pú????ala mu do brucha kurzy angli??tiny. Nemá teda zmysel
|
||
pou??íva?? slovenské nastavenia, a?? na krajné prípady, napr. slovenské
|
||
fonty v Gimpe. Darujte mu súbor .i18n s nasledovným obsahom (aj na takéto
|
||
malé oné potrebuje locales-sk):
|
||
+---------------------------------------------------------------+
|
||
|LC_CTYPE=sk |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
* U??ívate?? je normálny, má rád svoj materinský jazyk, ale netrápi ho, ke
|
||
?? má polovicu aplikácií po slovensky a polovicu po anglicky. Po ??esky
|
||
vie. Toto ho pote??í (nezabudnite mu potajomky nain??talova?? aj
|
||
locales-cs):
|
||
+---------------------------------------------------------------+
|
||
|LANGUAGE=sk:cs |
|
||
|LANG=sk |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
* U??ívate?? je z blízkeho juhu, jeho ob??úbené pleso je Balaton, v??etky
|
||
hlá??ky chce po ma??arsky, ak sa inak nedá, pochopí aj sloven??inu.
|
||
Nesmieme zabudnú?? na jeho miernu schizofreniu, pri??om jedno jeho ja
|
||
potrebuje slovenské triedenie re??azcov a druhé nevie ??i?? bez
|
||
formátovania dátumu a ??asu v ??e??tine. Nikdy sa nesmie zabudnú?? na
|
||
in??taláciu prekladov hlá??ok pre ma??ar??inu, ??e??tinu a sloven??inu z
|
||
balíkov, ktoré podporujú premennú LINGUAS. Treba ho tie?? presved??i??,
|
||
??e in??talácia locales-{sk,hu,cs} nepredstavuje bezpe??nostné riziko:
|
||
+---------------------------------------------------------------+
|
||
|LANGUAGE=hu:sk:cs |
|
||
|LC_COLLATE=sk |
|
||
|LC_TIME=cs |
|
||
|LANG=hu |
|
||
|LINGUAS="hu cs sk" |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
3. Nastavenia konzoly
|
||
|
||
Táto kapitola by mala ??ítavou, pou??nou a zárove?? zábavnou formou
|
||
pojednáva?? o veciach medzi prstom a okom. Základnou otázkou nech nám je ??
|
||
Zmysel ??ivota, vesmíru a vôbec.??
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.1. Sloven??ina na výstupe textovej konzoly
|
||
|
||
3.1.1. Fonty
|
||
|
||
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.
|
||
-----------------------------------------------------------------------------
|
||
|
||
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
|
||
|
||
kbd:
|
||
setfont meno-fontu
|
||
|
||
console-tools:
|
||
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
|
||
|
||
kbd:
|
||
+---------------------------------------------------------------+
|
||
|sh$ setfont |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
console-tools:
|
||
+---------------------------------------------------------------+
|
||
|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.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.1.3. Fonty ISO-8859-2
|
||
|
||
Toto vyu??íva ??tandard ISO-8859-2 (a iné) - spolo??né znaky s ASCII vykreslí
|
||
rovnako a znaky ??pecifické pre tú ktorú abecedu ??namapuje?? na menej
|
||
pou??ívané znaky ASCII tabu??ky. Kam presne ktorá norma umiest??uje znaky s
|
||
diakritikou, nás zaujíma?? nemusí (pokia?? nevytvárame vlastné fonty), hlavné
|
||
je, ??e napr. anglický text je nezmenený (angli??tina má v??etky znaky spolo
|
||
??né so sloven??inou) a slovenský text u?? viac neobsahuje hlúpe znaky, ktoré
|
||
so sloven??inou nemajú ni?? spolo??né.
|
||
|
||
Slovenské (ISO-8859-2) fonty, ktoré sú sú??as??ou balíkov kbd a console-tools
|
||
:
|
||
|
||
kbd:
|
||
lat2-{08,10,12,14,16}, lat2a-16, iso02.{08,14,16}
|
||
|
||
console-tools:
|
||
lat2-{08,10,12,14,16}, lat2u-16, iso02.f{08,14,16}
|
||
|
||
|
||
Na zavedenie fontu pou??ite príkaz
|
||
|
||
kbd:
|
||
+---------------------------------------------------------------+
|
||
|sh$ setfont meno-zo-zoznamu |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
console-tools:
|
||
+---------------------------------------------------------------+
|
||
|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:
|
||
|
||
kbd:
|
||
+---------------------------------------------------------------+
|
||
|sh$ setfont iso02.16 -m latin2u.trans |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
console-tools:
|
||
+---------------------------------------------------------------+
|
||
|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.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.1.4. Automatické zavádzanie fontov
|
||
|
||
Ak ste si na??li svoj font, ktorý chcete pou??íva?? a ma?? ho automaticky
|
||
zavedený v??dy pri ??tarte, nie je ni?? ??ah??ie. Inicializa??ný skript
|
||
rc.sysinit robí asi toto: skontroluje, ??i existuje súbor /etc/sysconfig/i18n
|
||
a program (skript) /sbin/setsysfont. Ak áno, spustí setsysfont. Ten na??íta /
|
||
etc/sysinfo/i18n a pod??a premenných definovaných v tomto súbore príkazom
|
||
consolechars alebo setfont zavedie font.
|
||
|
||
Tak??e sta??í nastavi?? správne premenné v súbore /etc/sysconfig/i18n a
|
||
skript /sbin/setsysfont urobí v??etko za nás. Tento skript mo??no spusti??
|
||
kedyko??vek chcete zavies?? font nastavený ako ??tandardný pre systém.
|
||
|
||
Premenné v súbore /etc/sysinit/i18n sú (pou??ívajte len mená súborov bez
|
||
cesty a bez prípony!):
|
||
|
||
kbd:
|
||
SYSFONT=lat2a-16
|
||
|
||
|
||
console-tools:
|
||
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:
|
||
|
||
~/.bash_profile:
|
||
if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && ! [ -f ~/.font ]; then
|
||
setfont -o ~/.font gr928a-8x16
|
||
fi
|
||
|
||
|
||
~/.bash_logout:
|
||
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é...
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.2. Slovenská klávesnica na textovej konzole
|
||
|
||
Ke?? je slovenský font na konzole rozbehaný a na??e národné znaky sa
|
||
zobrazujú správne, máme so sloven??inou problém ??íslo dva - ako tam tie
|
||
znaky dosta??? Keby ste si chceli tento súbor len pre??íta?? bez potreby
|
||
následnej nav??tevy psychiatra, sta??ilo by zavies?? nejaký font so
|
||
slovenskou podporou. Ale ke????e ste uvedomelý linuxák / uvedomelá linuxá??
|
||
ka, hne?? chcete do Slovak-HOWTO prispie?? a pomocou klávesnice písa??
|
||
slovenský text. Na to potrebujete s tou klávesnicou nie??o urobi??.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.2.1. Popis rozlo??enia kláves (keymap)
|
||
|
||
Adresáre /usr/lib/kbd/keymaps/i386/qwertz/ a qwerty/ obsahujú po
|
||
nain??talovaní balíka kbd/console-tools aj popisy slovenského rozlo??enia
|
||
kláves. Pre nás sú zaujímavé súbory
|
||
|
||
sk-prog-qwerty.map.gz
|
||
sk-qwerty.map.gz
|
||
sk-prog-qwertz.map.gz
|
||
sk-qwertz.map.gz
|
||
|
||
Tieto súbory obsahujú definície rozlo??enia kláves pre slovenský jazyk, pri??
|
||
om rozdiely medzi nimi sú v umiestnení kláves Y a Z a po??te slovenských
|
||
znakov, ktoré pomocou nich mo??no napísa?? priamo (bez m??tvych kláves).
|
||
Najviac sa na slovenský písací stroj podobá sk-qwertz, najmen??ie zmeny
|
||
oproti americkej klávesnici sú zase v sk-prog-qwerty.
|
||
|
||
Súbory v adresári /usr/lib/kbd/keymaps/i386/include/ obsahujú popis
|
||
základných rozlo??ení kláves (azerty , qwerty, qwertz ), prídavných kláves
|
||
(keypad, windowkeys), prípadne problémových kláves ( delete, backspace, ctrl
|
||
). Súbory linux-*.inc.gz sú ??pecifické pre linux (teda nie pre jazyk). Sú to
|
||
napr. k??ú??e (F1-F12, kombinovaním s Ctrl a Shift a?? po F48), Shift-PgUp a
|
||
Shift -PgDown, at??.
|
||
|
||
Keymapy *.inc.gz nepopisujú kompletné rozlo??enie klávesnice, ale len
|
||
niektorých jej ??astí. Vyu??ívajú sa pri pripájaní (include) zo súborov
|
||
*.map.gz, ??o je výhodné z dôvodu jednoduch??ej konfigurácie klávesnice.
|
||
Napríklad zmenou jedného riadku v súbore s rozlo??ením sk-qwerty mô??me
|
||
dosta?? rozlo??enie qwertz, prípadne (to asi vyu??ijete) jednoducho odstavi??
|
||
znaky euro a cent, ktoré (zatia???) nepotrebujeme a zbyto??ne nám zaberajú
|
||
znaky E a C.
|
||
|
||
Na zavedenie súboru s popisom rozlo??enia kláves slú??i nasledovný príkaz:
|
||
|
||
loadkeys nazov
|
||
kde nazov mô??e by?? absolútna alebo relatívna cesta ku keymap súboru, alebo
|
||
meno súboru, pokia?? sa nachádza v adresári /usr/lib/kbd/keymaps/, ??i u?? s
|
||
príponou, alebo bez.
|
||
|
||
??tandardné slovenské popisy rozlo??enia kláves nájdeme vo vy????ie
|
||
spomínaných *.map.gz súboroch. Ak sa chcete vráti?? k ??tandardnému
|
||
rozlo??eniu, príkaz
|
||
+---------------------------------------------------------------------------+
|
||
|sh$ loadkeys -d |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
zavedie pôvodné, ktoré je ulo??ené v súbore defkeymap.map.gz niekde medzi
|
||
ostatnými keymap súbormi. Predtým ale nikdy nezabudnite zmeni?? re??im
|
||
slovenskej klávesnice na US znaky, tzn. 1 dáva 1 a nie + at??. Ak by ste
|
||
predsa zabudli, je mo??né, ??e klávesy, kde sa nachádzali slovenské znaky,
|
||
nebudú fungova?? správne (v skuto??nosti budú fungova?? správne, ale vám sa
|
||
to nebude pá??i??). Vtedy znovu zave??te predchadzájúcu keymapu (na nefunk??
|
||
né klávesy pou??ite AltGr - pravý Alt) a klávesou Pause/Break v??etko
|
||
napravíte. Potom mô??ete znova zavies?? defkeymap.
|
||
|
||
Pokia?? sa vám nepá??i ani jeden zo ??tandardných keymap súborov pre sloven??
|
||
inu, ??o je pravdepodobné v??aka riadku
|
||
include "euro"
|
||
|
||
v include súboroch qwerty-layout.inc.gz aj qwertz-layout.inc.gz, mô??ete k??
|
||
udne pozmeni?? existujúci súbor s popisom rozlo??enia kláves, prípadne
|
||
vytvori?? nový. Nebojte sa, je to zlo??ité! Nebudem to tu rozpisova??
|
||
v??etko, prezrite si zopár kmap súborov, pre??ítajte manuálovú stránku
|
||
keymaps(5) a mali by ste to ??ahko pochopi??.
|
||
|
||
My si povieme len o základných veciach, ktoré nám pomô??u pozmeni??
|
||
existujúce kmap súbory s popismi slovenských klávesníc, aby ste si poradili s
|
||
(mne známymi) komplikáciami, alebo upravili rozlo??enie kláves pod??a svojho
|
||
gusta.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.2.2. Include a nesprávna funkcia kláves E a C
|
||
|
||
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"
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.2.3. Keycode a definovanie kláves
|
||
|
||
Predchádzajúci problém s eurom mo??no vyrie??i?? aj definovaním znakov E a C
|
||
v samotnom súbore sk-qwerty.kmap.gz (alebo inom, ktorý pou??ívate) pomocou
|
||
slova keycode:
|
||
keycode 18 = e
|
||
keycode 46 = c
|
||
|
||
|
||
V keymap súboroch je pre ka??dú klávesu (alebo aspo?? pre ka??dú, ktorú
|
||
chceme predefinova??) jeden riadok pribli??ne tohto razenia:
|
||
keycode 3 = two at lcaron two nul nul nul nul Meta_two Meta_two...
|
||
|
||
|
||
??íslo za keycode ozna??uje ur??itú klávesu a re??azce za = hovoria o tom,
|
||
aký znak má ovláda?? klávesnice generova?? pri stla??ení tejto klávesy, a to
|
||
bu?? samotnej, alebo v kombinácii so ??peciálnymi klávesmi Shift, AltGr,
|
||
Control, Alt, ShiftL, ShiftR, Ctrl a CtrlR. To nám dáva 256 mo??ných znakov
|
||
na ka??dú klávesu.
|
||
|
||
Vä????inou sa pozme??uje len prvých 16 kombinácií modifikátorov. To je význam
|
||
riadku
|
||
keymaps 0-15
|
||
|
||
na za??iatku kmap súborov.
|
||
|
||
V nasledujúcom zozname je týchto 16 kombinácií (po riadkoch):
|
||
|
||
??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:
|
||
|
||
1. Prvé písmeno v názve ur??uje ASCII znak, pre ktorý chceme pou??i??
|
||
diakritiku.
|
||
|
||
2. K nemu pridáme identifikátor diakritického znamienka:
|
||
|
||
caron --- mäk??e??
|
||
acute --- d????e??
|
||
diaeresis --- dve bodky nad
|
||
circumflex --- voká??
|
||
|
||
Napríklad:
|
||
|
||
scaron = ??
|
||
uacute = ú
|
||
Ocircumflex = Ô
|
||
|
||
|
||
|
||
Názvy ??al??ích znakov ??pecifických pre sloven??inu:
|
||
|
||
0xa7 --- § (paragraf)
|
||
degree --- ° stupe??
|
||
|
||
Pre správnu interpretáciu identifikátorov znakov s diakritikou je nutné na za
|
||
??iatku kmap súboru ur??i?? kódovú stránku, pre ktorú bude ur??ený tento
|
||
popis rozlo??enia kláves. Ide o to, ??e ten istý znak mô??e ma?? v rôznych
|
||
kódových stránkach iný ASCII kód. Implicitná hodnota je iso-8859-1, teda pre
|
||
slovenské keymapy je nutné vlo??i?? riadok:
|
||
charset "iso-8859-2"
|
||
|
||
|
||
E??te jeden príklad: ak chcete pou??íva?? slovenské rozlo??enie qwertz a
|
||
americké rozlo??enie qwerty, potrebujete vymeni?? znaky Y a Z:
|
||
keycode 21 = y Y z Z
|
||
keycode 44 = z Z y Y
|
||
|
||
|
||
Na prvý poh??ad to mô??e fungova?? dobre, ale problém sa prejaví pri zapnutom
|
||
Caps Lock - znaky Y a Z sa stále pí??u malými písmenami. Pri písaní popisov
|
||
rozlo??ení znakov mo??no takýto problém o??etri?? pridaním písmena + pred
|
||
ka??dé písmeno v keycode riadku danej klávesy. Písmeno + ur??uje nasledovnému
|
||
písmenu atribút letter, teda sa bude pri stla??enom Caps Lock písa?? ve??ké
|
||
písmeno. V??etky písmená a-z, A-Z majú tento atribút priradený automaticky,
|
||
ale to len v prípade, ??e majú keycode riadok tvaru:
|
||
keycode 21 = y
|
||
|
||
|
||
V na??om prípade teda musíme priradi?? tento atribút v??etkým znakom
|
||
explicitne. Tak??e, kone??ná úprava keymapy bude:
|
||
keycode 21 = +y +Y +z +Z
|
||
keycode 44 = +z +Z +y +Y
|
||
|
||
|
||
Pre výmenu písmen toto rie??enie funguje spo??ahlivo, bohu??ia??, e??te stále
|
||
neexistuje spôsob, ktorým by sa dalo dosiahnu?? napríklad písanie ve??kých
|
||
písmen s diakritikou pri zapnutom Caps Lock jednoduchým stlá??aním ich
|
||
kláves, ako je to v slovenskom popise rozlo??enia kláves pre X Window System.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.2.4. M??tve klávesy a sekvencie compose
|
||
|
||
S m??tvymi klávesami súvisia v kmap súboroch riadky tvaru
|
||
compose 'c1' 'c2' to 'c3'
|
||
|
||
|
||
Predstavme si m??tve znaky ako úplne oby??ajné znaky s tým rozdielom, ??e
|
||
ovláda?? klávesnice ich neposiela aplikáciám, ale zostanú niekde ??visie????,
|
||
kým z klávesnice nepríde ??al??í znak. Ovláda?? klávesnice nepo??le ani
|
||
tento, ale pokúsi sa spoji?? ho s predchádzajúcim m??tvym znakom a a??
|
||
výsledok spojenia pustí ??alej. No, a ako má to spojenie uskuto??ni??, to mu
|
||
presne hovoria riadky compose v keymap súboroch.
|
||
|
||
V nasledujúcej tabu??ke je zoznam m??tvych znakov pou??ívaných v sloven??ine,
|
||
spolu s významom a znakom, ktorým sa ozna??ujú v compose sekvenciách.
|
||
|
||
|
||
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í
|
||
|
||
1. Ka??dá compose sekvencia sa za??ína k??ú??ovým slovom compose.
|
||
|
||
2. Nasleduje compose znak m??tvej klávesy (pod??a tabu??ky M??tve klávesy),
|
||
napríklad \'.
|
||
|
||
Druhý je znak, s ktorým chceme m??tvu klávesu kombinova??, napríklad A.
|
||
|
||
Za k??ú??ovým slovom to nasleduje výsledok spojenia m??tvej klávesy a
|
||
znaku bez diakritiky, teda Á.
|
||
|
||
|
||
Je praktické ma?? pri vytváraní compose sekvencií zavedený slovenský font,
|
||
aby ste výsledok mohli hne?? kontrolova??. Ve??kou pomocou je tie?? mo??nos??
|
||
príkazu loadkeys ??íta?? zo ??tandardného vstupu. Napríklad:
|
||
+---------------------------------------------------------------------------+
|
||
|sh$ loadkeys |
|
||
|include "/usr/lib/kbd/keymaps/i386/include/windowkeys.map.gz" |
|
||
|keycode 41 = grave asciitilde semicolon dead_diaeresis |
|
||
|compose '"' 'a' to 'ä' |
|
||
|# ukon??enie zadávania: EOF - Ctrl-D |
|
||
|sh$ |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
Popis aktuálneho rozlo??enia kláves mô??ete ulo??i?? do súboru príkazom
|
||
+---------------------------------------------------------------------------+
|
||
|sh$ dumpkeys > subor |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
Ak nemáte zavedený slovenský popis rozlo??enia kláves, musíte zadáva?? tieto
|
||
znaky ako Alt sekvencie, poprípade vklada?? ich hex kódy v tvare 0xed pre í.
|
||
Výpis znakov aktuálneho fontu spolu s ich hex kódmi vám urobí program
|
||
|
||
kbd:
|
||
showfont
|
||
|
||
console-tools:
|
||
showcfont
|
||
|
||
|
||
E??te raz na??a compose sekvencia a nejaké navy??e:
|
||
compose '\'' 'A' to 'Á' # dlhé A cez d????e??
|
||
compose '^' 'O' to 'Ô' # O s voká??om cez mäk??e??
|
||
compose '^' 'a' to 'ä' # ??iroké a cez mäk??e??,
|
||
compose '^' 'A' to 0x84 # ...preto nepotrebujeme dead_diaeresis
|
||
|
||
|
||
Mimochodom, v súbore /usr/lib/kbd/keymaps/compose/compose.latin2 máte zoznam
|
||
compose sekvencií pre normu ISO-8859-2.
|
||
-----------------------------------------------------------------------------
|
||
|
||
3.2.5. Automatické zavádzanie keymap súboru
|
||
|
||
Na nastavenie rozlo??enia klávesnice, ktoré chceme zavies?? pri ??tarte
|
||
systému, nám slú??i súbor /etc/sysconfig/keyboard. Pre Slováka ako repa by
|
||
mal vyzera?? minimálne takto:
|
||
KEYTABLE=sk-qwerty # zavedie rozlo??enie kláves sk-qwerty
|
||
KBCHARSET=iso-8859-2 # ...a spomínaný súbor compose.latin2
|
||
|
||
|
||
Nastavenie klávesnice pri ??tarte má na starosti skript keytable, ktorý je
|
||
volaný priamo z rc.sysinit, tak??e netreba vytvára?? linky v adresároch pre
|
||
runlevel 3/multiuser, prípadne 5/X.
|
||
|
||
V dokumentácii k initscripts sa pí??e: ??Ak ulo??íte popis rozlo??enia kláves
|
||
(pou??itím dumpkeys) do súboru /etc/sysconfig/console/default.kmap, zavedie
|
||
sa pri ??tarte systému e??te pred pripájaním/kontrolou súborových systémov.
|
||
To mô??e by?? u??ito??né, ak potrebujete zada?? heslo roota v prípade
|
||
problémov. Musí to by?? ??dumpnutý?? popis rozlo??enia kláves a nie
|
||
skopírovaný súbor z /usr/lib/kbd/keytables/, preto??e tie ??asto e??te
|
||
vkladajú (include) iné popisy z tejto adresárovej ??truktúry.??
|
||
|
||
Po pripojení súborových systémov, v prípade, ??e existuje spustite??ný súbor
|
||
/etc/rc.d/init.d/keytable a adresár /usr/lib/kbd/keymaps/, vykoná sa príkaz
|
||
+---------------------------------------------------------------------------+
|
||
|sh# /etc/rc.d/init.d/keytable start |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
Tento u?? zavedie popis rozlo??enia kláves tak, ako to máte ur??ené
|
||
premennými v súbore /etc/sysconfig/keyboard, preto nemusíte vytvára?? odkazy
|
||
v jednotlivých rc[1-5].d/ adresároch.
|
||
|
||
To, ??o sme si hovorili o zmene fontu pri prihlásení nejakého u??ívate??a na
|
||
virtuálnej konzole, sa dá aplikova?? aj na rozlo??enie kláves. Úplne
|
||
najjednoduch??ie rie??enie (ktoré sa pri prvom odhlásení po??le do kríkov) je
|
||
asi takéto:
|
||
|
||
~/.bash_profile:
|
||
if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && ! [ -f ~/.keymap ]; then
|
||
dumpkeys > ~/.keymap
|
||
loadkeys gr.map
|
||
fi
|
||
|
||
|
||
~/.bash_logout:
|
||
if tty 2>/dev/null |grep '/dev/tty[0-9]*$' &>/dev/null && [ -f ~/.keymap ]; then
|
||
loadkeys ~/.keymap
|
||
rm -f ~/.keymap
|
||
fi
|
||
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
3.3. Zhrnutie nastavení konzoly
|
||
|
||
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).
|
||
|
||
/etc/sysconfig/i18n:
|
||
kbd:
|
||
SYSFONT=lat2a-16
|
||
|
||
|
||
console-tools:
|
||
SYSFONT=lat2u-16
|
||
SYSFONTACM=iso02
|
||
|
||
|
||
|
||
|
||
/etc/sysconfig/keyboard:
|
||
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??:
|
||
|
||
kbd:
|
||
+---------------------------------------------------------------+
|
||
|sh$ setfont lat2a-16 |
|
||
|sh$ loadkeys sk-qwertz |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
console-tools:
|
||
+---------------------------------------------------------------+
|
||
|sh$ consolechars -f lat2u-16 -m iso02 |
|
||
|sh$ loadkeys sk-qwertz |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
|
||
...a naspä?? na ??tandardné nastavenia:
|
||
|
||
kbd:
|
||
+---------------------------------------------------------------+
|
||
|sh$ setfont |
|
||
|sh$ loadkeys -d |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
console-tools:
|
||
+---------------------------------------------------------------+
|
||
|sh$ consolechars -d |
|
||
|sh$ loadkeys -d |
|
||
| |
|
||
+---------------------------------------------------------------+
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
4. Nastavenia X Window Systemu
|
||
|
||
??oko??vek sa chystáte robi?? s X Window Systemom a sloven??inou dokopy, s??
|
||
ubujem, ??e vám to nebude fungova??, ak nenastavíte totok taktok:
|
||
LC_CTYPE=sk
|
||
|
||
|
||
??o to znamená a ako sa to nastavuje, tak o tom pojednáva kapitola Miestne
|
||
nastavenia.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.1. Slovenské fonty v X Window Systeme
|
||
|
||
Predpokladám, ??e X Window System máte nain??talovaný, prípadne aj X Font
|
||
Server, va????inu dôle??itých vecí sme si povedali v ??asti o konzole, po??me
|
||
si rovno nain??talova?? slovenské fonty.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.1.1. In??talácia fontov - X server
|
||
|
||
Slovenské fonty pre X nájdeme v balíku XFree86-ISO8859-2, ve??a ??al??ích je
|
||
v balíkoch XFree-ISO8859-2-<druh>-fonts, kde <druh> mô??e by?? Type1, 100dpi
|
||
alebo 75dpi. Ak chcete pou??íva?? sloven??inu seriózne (Gimp, Netscape,
|
||
lokalizácia), nain??talujte si v??etky, ak potrebujete slovenský font len
|
||
napr. v XTerme, posta??í vám základný balík.
|
||
|
||
Po rozbalení archívu sa fonty nachádzajú na nieko??kých miestach. V??etky
|
||
cesty k novým fontom si treba odpisa??, zapamäta??, ma?? na o??iach:
|
||
|
||
/usr/share/fonts/ISO8859-2/misc
|
||
/usr/share/fonts/ISO8859-2/75dpi
|
||
/usr/share/fonts/ISO8859-2/100dpi
|
||
/usr/share/fonts/ISO8859-2/Type1
|
||
|
||
Tieto cesty toti?? budeme vklada?? do konfigura??ného súboru X Window Systemu
|
||
(/etc/X11/XF86Config, prípadne /etc/X11/XF86Config-4). Tým sprístupníme X
|
||
serveru fonty z týchto adresárov. Sekciu "Files" upravíme vlo??ením riadkov
|
||
FontPath:
|
||
Section "Files"
|
||
...
|
||
FontPath "/usr/share/fonts/ISO8859-2/misc"
|
||
FontPath "/usr/share/fonts/ISO8859-2/75dpi"
|
||
FontPath "/usr/share/fonts/ISO8859-2/100dpi"
|
||
FontPath "/usr/share/fonts/ISO8859-2/Type1"
|
||
EndSection
|
||
|
||
|
||
Správne poradie riadkov s cestami k fontom nájdete v XWindow-User-HOWTO, ale
|
||
nemali by ste ma?? ve??ké problémy ani ke?? slovenské fonty vlo??íte na
|
||
koniec zoznamu.
|
||
|
||
Za behu X Window Systemu pridáte nové adresáre s fontami príkazom
|
||
+-----------------------------------------------------------------------------------+
|
||
|sh$ xset +fp /usr/share/fonts/ISO8859-2/misc, /usr/share/fonts/ISO8859-2/75dpi, ?? |
|
||
| |
|
||
+-----------------------------------------------------------------------------------+
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.1.2. In??talácia fontov - X Font Server
|
||
|
||
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
|
||
|
||
za predpokladu, ??e X Font Server be??í na porte 7100 (vo??ba príkazového
|
||
riadku -port).
|
||
|
||
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 |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.1.3. Slovenské TrueType fonty
|
||
|
||
Ak vlastníte legálnu kópiu systému WindowsXX (kde XX je hoci??o), alebo MacOS
|
||
, nemali by vás zavrie??, ak pou??ijete TrueType fonty obsiahnuté v ich
|
||
distribúciách. Existuje aj mnoho balíkov s TrueType fontmi s podporou normy
|
||
ISO-8859-2, ktoré sú vo??ne dostupné.
|
||
|
||
Popis in??talácie takýchto fontov prebehneme len v krátkosti, podrobnej??í
|
||
nájdete v dokumentácii k balíku free-type:
|
||
|
||
1. 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.
|
||
|
||
2. 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.
|
||
|
||
3. 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.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.1.4. ??o je iné so slovenskými fontami
|
||
|
||
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
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.1.5. Strie??anie ta??kostí
|
||
|
||
Ak budete dostáva?? po spustení X serveru chybové hlásenia typu ??Can't open
|
||
default font 'fixed'?? alebo ??unable to open font ...??, alebo vám
|
||
jednoducho nie??o spojené s fontami pod iXami bude kazi?? náladu, uistite sa,
|
||
??e máte v poriadku nasledovné veci.
|
||
|
||
1. V??etky adresáre s fontami, samotné súbory fontov a súbory, ktoré ??íta X
|
||
Window System alebo X Font Server, musia ma?? nastavené rozumné
|
||
prístupové práva.
|
||
|
||
2. V adresároch, v ktorých sa nachádzajú fonty, musí existova?? súbor
|
||
fonts.dir. Ak nie, spustite v týchto adresároch program mkfontdir. V
|
||
adresároch s TrueType fontmi musíte e??te predtým vytvori?? súbor
|
||
fonts.scale tak ako je to popísane v ??asti Slovenské TrueType fonty.
|
||
|
||
3. Ak idete bez xfs, naozaj v??etky adresáre s fontami musia by?? uvedené v
|
||
súbore XF86Config.
|
||
|
||
4. V prípade, ze pou??ívate xfs, tieto adresáre musia by?? uvedené v súbore
|
||
/etc/X11/fs/config. Navy??e, xfs musí be??a?? na nejakom porte (napr.
|
||
7100) a v XF86Config musí by?? cesta k fontom uvedená ako adresa s ??
|
||
íslom toho portu, asi takto:
|
||
FontPath "unix/:7100"
|
||
|
||
|
||
5. Po zmenách v konfigura??ných súboroch X Window Systemu alebo X Font
|
||
Serveru je nutný re??tart alebo znovuna??ítanie nastavení:
|
||
|
||
X Window System
|
||
+------------------------------------------------------------+
|
||
|sh$ xset fp rehash |
|
||
| |
|
||
+------------------------------------------------------------+
|
||
|
||
X Font Server
|
||
+------------------------------------------------------------+
|
||
|sh# killall -USR1 xfs |
|
||
| |
|
||
+------------------------------------------------------------+
|
||
|
||
|
||
|
||
6. Ak máte v inittabe nastavené spú????anie X serveru pri ??tarte systému
|
||
(runlevel 5/X), rad??ej si to pri pokusoch s fontami zme??te na 3/
|
||
multiuser a?? pokia?? si nie ste sakramentsky istí, ??e X server pri
|
||
??tarte nájde fonty. Ak to neurobíte a nastavenia budú nesprávne, za??nú
|
||
sa dia?? záhadné veci typu ??X server sa skon??í, lebo nenájde fonty ale
|
||
init ho znovu spustí a ten nenájde fonty, tak sa skon??í, ale init ho...
|
||
??. Znakom toho je hlá??ka INIT: Id "x" respawning too fast: disabled for
|
||
5 minutes.
|
||
|
||
7. X Window System h??adá (pre normálneho u??ívate??a) konfigura??né súbory
|
||
v tomto poradí:
|
||
|
||
/etc/X11/<cmdline>
|
||
/usr/X11R6/etc/X11/<cmdline>
|
||
/etc/X11/$XF86CONFIG
|
||
/usr/X11R6/etc/X11/$XF86CONFIG
|
||
/etc/X11/XF86Config-4
|
||
/etc/X11/XF86Config
|
||
/etc/XF86Config
|
||
/usr/X11R6/etc/X11/XF86Config.<hostname>
|
||
/usr/X11R6/etc/X11/XF86Config-4
|
||
/usr/X11R6/etc/X11/XF86Config
|
||
/usr/X11R6/lib/X11/XF86Config.<hostname>
|
||
/usr/X11R6/lib/X11/XF86Config-4
|
||
/usr/X11R6/lib/X11/XF86Config
|
||
|
||
Pamätajte na to pri editovaní konfigurákov a v??dy sa uistite, ??i
|
||
neexistuje súbor, ktorý je v tomto zozname vy????ie, ako ten, ktorý
|
||
editujete.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
4.2. Slovenská klávesnica v X Window Systeme
|
||
|
||
Skôr jak to tu celé rozto??íme, zadajte príkaz
|
||
+---------------------------------------------------------------------------+
|
||
|sh$ rpm -q XFree86 |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
V??etky tie ??ísla za XFree86, ??o vám tento príkaz vypí??e, udávajú verziu
|
||
vá??ho XFree86 X Window Systemu.
|
||
|
||
Existuje presne ??tyridsa??dva dôvodov, pre??o prejs?? na XFree86 verziu 3.2
|
||
alebo vy????iu, a len dva, pre??o zosta?? pri star??ej verzii. Red Hat Linux
|
||
6.0 obsahuje XFree86 , verziu 3.3.3 a Linux Mandrake 7.0 u?? verziu 3.3.6.
|
||
|
||
Pokia?? ste svoj opera??ný systém nezdedili po starých rodi??och, je vysoko
|
||
pravdepodobné, ??e máte verziu XFree86 vy????iu ako 3.2. Inak ste naozaj krok
|
||
pozadu a na adrese [ftp://ftp.xfree86.org] ftp://ftp.xfree86.org nájdete to,
|
||
??o treba.
|
||
|
||
Ak aj po predchádzajúcich slovách, upozorneniach a odporú??aniach odmietate
|
||
upgrade na verziu 3.2, dr??te sa nasledujúcich krokov:
|
||
|
||
1. Ak máte Slovak-HOWTO vytla??ené na papieri, uchopte tento do ??avej ruky
|
||
(ak ste ??avák, robte v??etko naopak), zapa??ova?? do pravej,
|
||
zachovavajte dostato??nú vzdialenos?? od iných zápalných materiálov a
|
||
nekompromisne konajte.
|
||
|
||
2. V prípade, ??e máte tento súbor ulo??ený niekde na disku, príkazom
|
||
+-----------------------------------------------------------------------+
|
||
|sh$ su -c'rm -fr /' |
|
||
| |
|
||
+-----------------------------------------------------------------------+
|
||
sa ho do nieko??kých minút po zadaní hesla zaru??ene zbavíte.
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
4.2.1. Konfigurácia klávesnice
|
||
|
||
XFree86 3.2 a nov??ie u?? majú tzv. XKEYBOARD roz??írenie, ktoré
|
||
zjednodu??uje konfiguráciu klávesnice pre X Window System. Teoreticky netreba
|
||
urobi?? viac ako v súbore /etc/X11/XF86Config vlo??i?? do sekcie "Keyboard"
|
||
nie??o takéto:
|
||
Section "Keyboard"
|
||
...
|
||
XkbLayout "czsk"
|
||
XkbVariant "us_sk_qwertz"
|
||
XkbOptions "grp:ctrl_shift_toggle"
|
||
EndSection
|
||
|
||
|
||
Ak u?? ste nebodaj u??ívate??om XFree86 verzie 4.0.0 alebo vy????ej, vlo??te
|
||
do súboru /etc/X11/XF86Config-4 toto:
|
||
Section "InputDevice"
|
||
...
|
||
Option "XkbLayout" "czsk"
|
||
Option "XkbVariant" "us_sk_qwertz"
|
||
Option "XkbOptions" "grp:ctrl_shift_toggle"
|
||
EndSection
|
||
|
||
|
||
Riadok v konfigura??nom súbore
|
||
XkbLayout "czsk"
|
||
|
||
prípadne pre verziu ?? 4
|
||
Option "XkbLayout" "czsk"
|
||
|
||
hovorí asi to??ko, aby X server pou??il popis rozlo??enia kláves ulo??ený v
|
||
súbore czsk. Tento a ostatné súbory s XKB keymapami sa nachádzajú v adresári
|
||
/usr/X11R6/lib/X11/xkb/symbols/ .
|
||
|
||
Bli????ie si o formáte týchto súborov povieme neskôr, teraz si len otvorte
|
||
súbor czsk a pozrite si jeho ??truktúru -- hlavne ??asti xkb_symbols. Pre
|
||
sloven??inu sú dôle??ité tieto varianty:
|
||
|
||
us_sk_qwerty
|
||
us_sk_qwertz
|
||
us_sk_prog
|
||
sk_us_qwerty
|
||
sk_us_qwertz
|
||
sk_us_prog
|
||
|
||
Niektorý z týchto re??azcov dosa??te do riadku
|
||
XkbVariant "..."
|
||
|
||
pre star??ie verzie X Window Systemu, alebo
|
||
Option "XkbVariant" "..."
|
||
|
||
v konfigura??nom súbore pre X sever verzia 4.
|
||
|
||
Varianty us_sk_qwerty a sk_us_qwerty sú prakticky toto??né, jediný rozdiel je
|
||
v tom, ktoré rozlo??enie kláves bude nastavené po ??tarte X Window Systemu.
|
||
Pre sk_us_* je to slovenské, pre us_sk_* zase americké.
|
||
|
||
Prepína?? medzi slovenským a americkým rozlo??ením kláves mo??no klávesom
|
||
Scroll Lock, prípadne aj inými, ak vlo??íte do konfigurácie klávesnice
|
||
riadok:
|
||
+---------------------------------------------------------------------------+
|
||
|Options "grp:..." |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
alebo pre X Window System verzie 4.0 alebo nov??í:
|
||
+---------------------------------------------------------------------------+
|
||
|Option "XkbOptions" "grp:..." |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
??as?? grp:?? nahra??te niektorou z nasledujúcich mo??ností a mô??ete
|
||
prepína?? rozlo??enia kláves pomocou danej klávesovej skratky:
|
||
|
||
|
||
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).
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.2.2. XKB keymapy
|
||
|
||
X Window System umo????uje definova?? vlastné popisy rozlo??enia kláves
|
||
prakticky pre akýko??vek jazyk. Na to slú??ia keymap súbory -- nie??o ve??mi
|
||
podobné tým keymap súborom, o ktorých sme hovorili v ??asti o nastaveniach
|
||
konzoly. Formát keymap súborov pre X Window System dovo??uje vytvárat súbory
|
||
s jednoduchým popisom len ??asti klávesnice, ale aj zlo??ité súbory s mnohými
|
||
rozlo??eniami.
|
||
|
||
Naozaj nemá zmysel podrobne popisova?? mo??nosti XKB keymap súborov, sná??
|
||
budú sta??i?? len úplné základy, ktoré vám dovolia robi?? malé zmeny v u??
|
||
existujucich popisoch rozlo??enia kláves. Podstatne viac o týchto súboroch sa
|
||
dozviete, ke?? si ich sami pozriete a poskú??ate.
|
||
|
||
V XKB popisoch rozlo??enia kláves majú riadky takýto formát:
|
||
key <TLDE> { [ quoteleft, asciitilde ], [ semicolon, degree ] };
|
||
|
||
|
||
K??ú??ové slovo key ozna??uje za??iatok definície znaku, ktorého kód
|
||
nasleduje uzavretý v < a >, celá definicia je uzavretá v krútených zátvorkách
|
||
a dvojice znakov pre ka??dú skupinu (Group) sa uzavierajú do hranatých
|
||
zátvoriek. Skupiny mô??u by?? definované napríklad takto:
|
||
name[Group1] = "US/ASCII";
|
||
name[Group2] = "Slovak";
|
||
|
||
|
||
Potom prvé dva znaky (quoteleft a asciitilde) v definícii znaku platia pre
|
||
prvú skupinu ( US/ASCII) a druhé dva (semicolon a degree) pre druhú skupinu
|
||
(Slovak).
|
||
|
||
Kódy jednotlivých klávesov ??ahko zistíte z keymap súborov, ktorých je v
|
||
adresári /usr/X11R6/lib/X11/xkb/symbols/ naozaj dos??, takisto, názvy znakov
|
||
a m??tvych kláves sa ve??mi nelí??ia od tých, ktoré platia v keymap súboroch
|
||
pre textovú konzolu. No a nakoniec, v prílohe XKB keymap nájdete jeden
|
||
vzorový príklad slovenského rozlo??enia kláves pre X Window System.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.3. Slovenská my?? v X Window Systeme
|
||
|
||
Mimoriadne zlo??ité bolo do verzie 4.0.1 nastavovanie sloven??iny pre my??.
|
||
Na??tastie, vývojári si spomenuli, ??e i toto zariadenie a jeho ovláda??e by
|
||
mali v plnej miere podporova?? miestne nastavenia tak, ako je to napríklad u
|
||
klávesnice. Dokonca sa objavili pokusy lokalizova?? tablety a svetelné perá.
|
||
|
||
V predchádzajúcich verziách X Window Systemu bola táto podpora ve??mi slabo
|
||
implementovaná a len nieko??kým národnostiam sa podarilo rozchodi?? my?? vo
|
||
svojom jazyku. Slovenskí pou??ívatelia museli na svojich my??iach robi??
|
||
rôzne úpravy od tupírovania ??núry a?? po kastráciu, ale výsledky boli aj tak
|
||
neuspokojivé.
|
||
|
||
Popí??eme si teraz v krátkosti postup posloven??ovania my??i v X Window
|
||
Systeme, verzia 4.0.1 a vy????ie:
|
||
|
||
1. 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.
|
||
|
||
2. 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.
|
||
|
||
3. 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.
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.4. Príklady
|
||
|
||
4.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.
|
||
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
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
4.4.2. XKB keymap
|
||
|
||
Príklad úplne jednoduchého popisu rozlo??enia kláves pre sloven??inu:
|
||
partial default alphanumeric_keys
|
||
xkb_symbols "sk_us" {
|
||
|
||
name[Group1] = "Slovak";
|
||
name[Group2] = "US/ASCII";
|
||
|
||
// line 1
|
||
key <TLDE> { [ semicolon, degree ],
|
||
[ quoteleft, asciitilde ] };
|
||
key <AE01> { [ plus, 1 ],
|
||
[ 1, exclam ] };
|
||
key <AE02> { [ lcaron, 2 ],
|
||
[ 2, at ] };
|
||
key <AE03> { [ scaron, 3 ],
|
||
[ 3, numbersign ] };
|
||
key <AE04> { [ ccaron, 4 ],
|
||
[ 4, dollar ] };
|
||
key <AE05> { [ tcaron, 5 ],
|
||
[ 5, percent ] };
|
||
key <AE06> { [ zcaron, 6 ],
|
||
[ 6, asciicircum ] };
|
||
key <AE07> { [ yacute, 7 ],
|
||
[ 7, ampersand ] };
|
||
key <AE08> { [ aacute, 8 ],
|
||
[ 8, asterisk ] };
|
||
key <AE09> { [ iacute, 9 ],
|
||
[ 9, parenleft ] };
|
||
key <AE10> { [ eacute, 0 ],
|
||
[ 0, parenright ] };
|
||
key <AE11> { [ equal, percent ],
|
||
[ minus, underscore ] };
|
||
key <AE12> { [ dead_acute, dead_caron ],
|
||
[ equal, plus ] };
|
||
|
||
// line 2
|
||
key <AD01> { [ q, Q ],
|
||
[ q, Q ] };
|
||
key <AD02> { [ w, W ],
|
||
[ w, W ] };
|
||
key <AD03> { [ e, E ],
|
||
[ e, E ] };
|
||
key <AD04> { [ r, R ],
|
||
[ r, R ] };
|
||
key <AD05> { [ t, T ],
|
||
[ t, T ] };
|
||
key <AD06> { [ z, Z ],
|
||
[ y, Y ] };
|
||
key <AD07> { [ u, U ],
|
||
[ u, U ] };
|
||
key <AD08> { [ i, I ],
|
||
[ i, I ] };
|
||
key <AD09> { [ o, O ],
|
||
[ o, O ] };
|
||
key <AD10> { [ p, P ],
|
||
[ p, P ] };
|
||
key <AD11> { [ uacute, slash ],
|
||
[ bracketleft, braceleft ] };
|
||
key <AD12> { [ adiaeresis, parenleft ],
|
||
[ bracketright, braceright ] };
|
||
|
||
// line 3
|
||
key <AC02> { [ s, S ],
|
||
[ s, S ] };
|
||
key <AC03> { [ d, D ],
|
||
[ d, D ] };
|
||
key <AC04> { [ f, F ],
|
||
[ f, F ] };
|
||
key <AC05> { [ g, G ],
|
||
[ g, G ] };
|
||
key <AC08> { [ k, K ],
|
||
[ k, K ] };
|
||
key <AC09> { [ l, L ],
|
||
[ l, L ] };
|
||
key <AC10> { [ ocircumflex, quotedbl ],
|
||
[ semicolon, colon ] };
|
||
key <AC11> { [ section, exclam ],
|
||
[ quoteright, quotedbl ] };
|
||
|
||
// line 4
|
||
key <AB01> { [ y, Y ],
|
||
[ z, Z ] };
|
||
key <AB02> { [ x, X ],
|
||
[ x, X ] };
|
||
key <AB04> { [ v, V ],
|
||
[ v, V ] };
|
||
key <AB05> { [ b, B ],
|
||
[ b, B ] };
|
||
key <AB06> { [ n, N ],
|
||
[ n, N ] };
|
||
key <AB07> { [ m, M ],
|
||
[ m, M ] };
|
||
key <AB08> { [ comma, question ],
|
||
[ comma, less ] };
|
||
key <AB09> { [ period, colon ],
|
||
[ period, greater ] };
|
||
key <AB10> { [ minus, underscore ],
|
||
[ slash, question ] };
|
||
key <BKSL> { [ ncaron, parenright ],
|
||
[ backslash, bar ] };
|
||
// End alphanumeric section
|
||
|
||
// begin modifier mappings
|
||
modifier_map Shift { Shift_L };
|
||
modifier_map Lock { Caps_Lock };
|
||
modifier_map Control{ Control_L };
|
||
modifier_map Mod3 { Mode_switch };
|
||
};
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
5. Sloven??ina a linuxový kernel
|
||
|
||
5.1. Kompilácia kernelu so slovenskou klávesnicou
|
||
|
||
Je 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.
|
||
+---------------------------------------------------------------------------+
|
||
|sh# cd /usr/src/linux |
|
||
|sh# loadkeys --mktable sk-qwerty > drivers/char/defkeymap.c |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
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ách
|
||
|
||
Ak 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:
|
||
|
||
CONFIG_NLS_CODEPAGE_852 --- Codepage 852
|
||
CONFIG_NLS_ISO8859_2 --- ISO 8859-2 (Latin 2)
|
||
|
||
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. Bash
|
||
|
||
Vi?? 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
|
||
+---------------------------------------------------------------------------+
|
||
|bash$ exec bash |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
Aktuálny shell sa nahradí novým, ktorý u?? premennú LC_CTYPE pochopí správne
|
||
a je u?? mo??né zadáva?? aj znaky s diakritikou.
|
||
-----------------------------------------------------------------------------
|
||
|
||
6.2. Joe
|
||
|
||
Ján Ondrej (SAL), <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. Lynx
|
||
|
||
Ján 'judas' Tomka, <judas@linux.sk>
|
||
|
||
V konfigurácii Lynxu sa lokalizácie týkajú hlavne tieto nastavenia:
|
||
|
||
* Display character set (CHARACTER_SET) --- kódovanie znakov na výstupe.
|
||
Toto hovorí o tom, do akej znakovej sady sa budú prevádza?? znaky pred
|
||
zobrazením na va??ej obrazovke. Ak máte ??tandardne nastavený slovenský
|
||
font, mô??ete ma?? toto v??dy nastavené na ISO-8859-2.
|
||
|
||
* Assumed document character set (ASSUME_CHARSET) --- aká znaková sada sa
|
||
má pou??i??, ak html dokument neobsahuje informáciu o svojom kódovaní a
|
||
nastavenie Raw 8-bit je vypnuté. HTTP ??tandardom je ISO-8859-1 tak??e
|
||
tak. Vä????inou majú dokumenty s iným kódovaním ako ISO-8859-1 informáciu
|
||
o svojej znakovej sade, vtedy sa toto nastavenie neberie do úvahy. Ak
|
||
chcete, aby sa dokumenty, ktoré nemajú explicitne danú sadu znakov,
|
||
pova??ovali za súbory s kódovaním Latin 2, nastavte si túto premennú.
|
||
Mo??no ju nastavi?? len v súbore /etc/lynx.cfg (teda nie pre ka??dého
|
||
u??ívate??a zvlá????).
|
||
|
||
* Raw 8-bit --- s týmto sa ve??mi trápi?? nemusíte, len v prípade, ??e sa
|
||
slovenské znaky nezobrazujú správne, sa v??dy uistite, ??e to máte
|
||
zapnuté (klávesovou skratkou @).
|
||
|
||
|
||
Konfigura??ný súbor /etc/lynx.cfg upravte, aby obsahoval minimálne prvý
|
||
riadok z
|
||
CHARACTER_SET:iso-8859-2
|
||
ASSUME_CHARSET:iso-8859-2
|
||
|
||
|
||
...alebo, pre u??ívate??ský konfigura??ný súbor ~/.lynxrc:
|
||
character_set=Eastern European (ISO-8859-2)
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
6.4. Mandrake 8
|
||
|
||
Vi?? RPM4.
|
||
|
||
Ján 'judas' Tomka, <judas@linux.sk>
|
||
-----------------------------------------------------------------------------
|
||
|
||
6.4.1. NLSPATH
|
||
|
||
Ak 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
|
||
export NLSPATH=/usr/share/locale/%l/%N
|
||
|
||
|
||
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
|
||
unset NLSPATH
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
6.4.2. SYSFONTACM
|
||
|
||
Pre 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:
|
||
SYSFONTACM=iso02
|
||
|
||
|
||
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 Commander
|
||
|
||
Já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:
|
||
(*) Full 8 bits output
|
||
[x] Full 8 bits input
|
||
|
||
|
||
Po tomto kroku bude MC vypisova?? diakritické znaky správne a bude ich mo??né
|
||
aj zadáva?? z klávesnice. Ak sa pri vstupe do niektorých adresárov bude
|
||
zobrazova?? hlá??ka ??Warning: Couldn't change to ...??, tak potrebujete
|
||
lokalizova?? kni??nicu readline (iba pre star??ie RedHat systémy).
|
||
|
||
Rám??eky v MC (judas). Ak pou??ívate console-tools, pre správnu funkciu rám??
|
||
ekov v Midnight Commander a podobných textových aplikáciách nastavte font s
|
||
application charset map. U m??a funguje jedine táto kombinácia:
|
||
+---------------------------------------------------------------------------+
|
||
|sh$ consolechars --font lat2u-16 --acm iso02 |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
-----------------------------------------------------------------------------
|
||
|
||
6.6. Mutt
|
||
|
||
Ján 'judas' Tomka, <judas@linux.sk>
|
||
|
||
Miestnych nastavení sa týkajú v konfigura??nom súbore ~/.muttrc nasledovné
|
||
premenné:
|
||
|
||
* ascii_chars -- Ak je nastavená, Mutt pou??ije znaky ASCII pri zobrazovaní
|
||
vláken stromov pripojených súborov, namiesto znakov ASC. To odporú??am,
|
||
ak máte nastavený star??í font bez podpory app-charset-map a namiesto ??
|
||
iar a ??ípiek sa vám zobrazujú znaky s diakritikou, alebo tieto znaky
|
||
blikajú ap.
|
||
|
||
* charset -- Znaková sada, ktorú pou??íva vá?? terminál na zobrazovanie a
|
||
vkladanie textových dát. Nastavi?? na kód znakovej sady fontu, ktorý máte
|
||
nastavený na konzole alebo v XTerme, at??.
|
||
|
||
* send_charset --
|
||
|
||
|
||
-----------------------------------------------------------------------------
|
||
6.7. Readline
|
||
|
||
Ján 'judas' Tomka, <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é:
|
||
|
||
* convert-meta --- Ak je nastavená na `on', Readline konvertuje znaky s
|
||
nastaveným ôsmym bitom na sekvenciu znakov ASCII odstránením ôsmeho bitu
|
||
a pridaním znaku Esc na za??iatok.
|
||
|
||
* input-meta --- Ak je nastavená na `on', Readline umo??ní osembitový vstup
|
||
(neodstráni ôsmy bit z pre??ítaných znakov) bez oh??adu na to, ??i to
|
||
terminál podporuje. Meno meta-flag je synonymom pre túto premennú.
|
||
|
||
* output-meta --- Ak je nastavená na `on', Readline bude zobrazova?? znaky
|
||
s nastaveným ôsmym bitom priamo a nie ako escape sekvencie.
|
||
|
||
|
||
Tak??e, do jedného zo spomínaných súborov vlo??te takéto nastavenia:
|
||
set convert-meta off
|
||
set input-meta on
|
||
set output-meta on
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
6.8. RPM4
|
||
|
||
Ján 'judas' Tomka, <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.
|
||
|
||
export RPM_INSTALL_LANG=sk
|
||
cd /mnt/cdrom/Mandrake/RPMS/
|
||
for i in *.rpm; do
|
||
j=$(rpm -q --queryformat "%{NAME}" -p $i)
|
||
if rpm -q $j; then
|
||
rpm -Uvh --replacepkgs $i
|
||
fi
|
||
done
|
||
|
||
|
||
U?? nikdy nezabudnite nastavi?? premennú RPM_INSTALL_LANG!
|
||
-----------------------------------------------------------------------------
|
||
|
||
6.9. Rxvt
|
||
|
||
Ján 'judas' Tomka, <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í:
|
||
+---------------------------------------------------------------------------+
|
||
|sh$ ./configure --enable-xim |
|
||
|sh$ make |
|
||
|sh$ su -c'make install' |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
Týmto sa Rxvt skompiluje s podporou pre XIM (X Input Method) protokol. Ten
|
||
umo????uje alternatívne metódy vstupu (napr. kinput2) a tie?? správne
|
||
nastavenia pre ??udí, ??o pou??ívajú m??tve klávesy.
|
||
-----------------------------------------------------------------------------
|
||
|
||
6.10. Samba
|
||
|
||
Ján Ondrej (SAL), <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]:
|
||
character set = iso8859-2
|
||
client code page = 852
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
7. Finti??ky so sloven??inou
|
||
|
||
7.1. Zadávanie slovenských znakov vo Vim
|
||
|
||
[http://www.kotelna.sk/keso/unix/vim.html] http://www.kotelna.sk/keso/unix/
|
||
vim.html
|
||
|
||
Ak nemô??ete, alebo nechcete pou??íva?? rozlo??enie kláves pre sloven??inu,
|
||
ale potrebujete zada?? pár na??ich znakov vo Vim, dá sa to urobi?? pomocou
|
||
príkazu imap. Jeho formát je
|
||
:imap {lhs} {rhs}
|
||
|
||
|
||
{lhs} je postupnos?? znakov, po ktorých zadaní (v krátkom ??asovom intervale)
|
||
sa vypí??e {rhs}.
|
||
|
||
Pre sloven??inu by sa dali vyu??i?? imap definície znakov typu
|
||
+---------------------------------------------------------------------------+
|
||
|:imap =a á |
|
||
|:imap +c ?? |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
Ako vidno, je to nie??o podobné ako compose sekvencie z kapitoly o klávesnici
|
||
na konzole. Po zadaní týchto príkazov mô??ete aj so ??tandardným rozlo??ením
|
||
kláves zadáva?? vo vim znaky s diakritikou. Tu je kompletný zoznam imap
|
||
definícií pre slovenskú diakritiku. Ulo??te ho do súboru napríklad sk.vim a
|
||
vo Vim ho na??ítate príkazom
|
||
+---------------------------------------------------------------------------+
|
||
|:source sk.vim |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
|
||
imap =a á
|
||
imap =A Á
|
||
imap +a ä
|
||
imap +A Ä
|
||
imap +c ??
|
||
imap +C ??
|
||
imap +d ??
|
||
imap +D ??
|
||
imap =e é
|
||
imap +e ??
|
||
imap =E É
|
||
imap +E ??
|
||
imap =i í
|
||
imap =I Í
|
||
imap =l ??
|
||
imap =L ??
|
||
imap +l ??
|
||
imap +L ??
|
||
imap +n ??
|
||
imap +N ??
|
||
imap =o ó
|
||
imap =O Ó
|
||
imap +o ô
|
||
imap +O Ô
|
||
imap "o ö
|
||
imap "O Ö
|
||
imap =r ??
|
||
imap =R ??
|
||
imap +r ??
|
||
imap +R ??
|
||
imap +s ??
|
||
imap +S ??
|
||
imap +t ??
|
||
imap +T ??
|
||
imap =u ú
|
||
imap =U Ú
|
||
imap +u ??
|
||
imap +U ??
|
||
imap "u ü
|
||
imap "U Ü
|
||
imap =y ý
|
||
imap =Y Ý
|
||
imap +z ??
|
||
imap +Z ??
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
7.2. Odstránenie alebo nahradenie diakritiky v textových súboroch
|
||
|
||
7.2.1. sed
|
||
|
||
Ján 'judas' Tomka, <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:
|
||
sed -e "s:á:a:g" -e "s:Á:A:g" -e "s:ä:a:g" -e "s:Ä:A:g" \
|
||
-e "s:??:c:g" -e "s:??:C:g" -e "s:??:d:g" -e "s:??:D:g" \
|
||
-e "s:é:e:g" -e "s:É:E:g" -e "s:??:e:g" -e "s:??:E:g" \
|
||
-e "s:í:i:g" -e "s:Í:I:g" -e "s:??:l:g" -e "s:??:L:g" \
|
||
-e "s:??:l:g" -e "s:??:L:g" -e "s:??:n:g" -e "s:??:N:g" \
|
||
-e "s:ó:o:g" -e "s:Ó:O:g" -e "s:ô:o:g" -e "s:Ô:O:g" \
|
||
-e "s:ö:o:g" -e "s:Ö:O:g" -e "s:??:r:g" -e "s:??:R:g" \
|
||
-e "s:??:r:g" -e "s:??:R:g" -e "s:??:s:g" -e "s:??:S:g" \
|
||
-e "s:??:t:g" -e "s:??:T:g" -e "s:ú:u:g" -e "s:Ú:U:g" \
|
||
-e "s:??:u:g" -e "s:??:U:g" -e "s:ü:u:g" -e "s:Ü:U:g" \
|
||
-e "s:ý:y:g" -e "s:Ý:Y:g" -e "s:??:z:g" -e "s:??:Z:g" \
|
||
"Slovak-HOWTO.sgml" > "Slovak-HOWTO-nodiac.sgml"
|
||
|
||
-----------------------------------------------------------------------------
|
||
|
||
7.2.2. cstocs
|
||
|
||
Bra??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. recode
|
||
|
||
Já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í:
|
||
|
||
1. Prídete o o??i pri ??ítaní man stránky, info manuálu a v??etkého ??o je o
|
||
tomto -- inak ur??ite u??ito??nom programe -- popísané.
|
||
|
||
2. Prídete o nervy pri skú??aní v??etkých mo??ných kombinácií parametrov,
|
||
volieb ??i argumentov pre tento nesmierne u??ito??ný program.
|
||
|
||
3. Prídete o po??íta??, ke????e ho vyhodíte z okna po dvoch tý??d??och
|
||
psychického utrpenia, ktoré za??ijete pri pokusoch s týmto extrémne
|
||
u??ito??ným programom.
|
||
|
||
|
||
Pod??a v??etkého by mal sta??i?? nasledovný príkaz:
|
||
+---------------------------------------------------------------------------+
|
||
|recode l2 subor.txt |
|
||
| |
|
||
+---------------------------------------------------------------------------+
|
||
ale zdá sa, ??e to sta??i?? nebude. Latka na titul ??Linuxový Guru?? sa
|
||
posunula do závratných vý??ok, preto??e -- aby ste sa stali jeho nosite??om
|
||
-- musíte vedie?? pomocou tohto programu previes?? dokument v latin2 na
|
||
latin1 alebo dokonca ASCII (a to u?? je pekný Saigon...)
|