14.1 Kurz Linuxu - Pocesteni a konzole
- STEFi - 2000-12-31 10:00:00
Tento serial o Linuxu byl vytvoren Milanem Cermakem v roce 2000 a s jeho svolenim zverejnen na strankach linux4all.misto.cz.......
...
Čeština v Linuxu (konzola)
==========================
Jedním z požadavků, které angličtiny (ne)znalý uživatel na operační
systém má, je podpora jeho rodného jazyka. Koneckonců, když můžou být
do češtiny přeložené i Windoze, proč by tak jednoduchou věc nezvládl
i Linux. Jenže ona celá věc tak jednoduchá není. A i když Linux
poskytuje pro lokalizaci velmi mocné nástroje, je podpora českého (ale
i jiných jazyků) velmi malá. Dejme tomu, že se pro začátek spokojíme
"jen" se zobrazovaním českých znaků a českou klávesnicí.
Co k tomu budeme potřebovat? Vlasně velmi málo. Dva balíky. Balík
"kbd", který obsahuje program "setfont" (jeho účel je z názvu zřejmý),
program "loadkeys" a několik fontů a balík "locales", který zajišťuje
přeložení některých programů. S tímto balíkem nemusíme dělat nic
jiného, než ho nainstalovat. S balíkem "kbd" a hlavně s programy v něm
obsaženými se seznámíme blíže.
Nyní vyřešíme první část našeho problému a to psaní českých znaků.
Pokud jste někdy zkoušeli upravit font pod DOSem, nebude pro vás tento
krok žádným problémem. Jedné, co je nutné udělat, je napsat příkaz:
setfont
Tím jsme zavedli námi vybraný font a ten bude zobrazován na všech
textových konzolách. Ve většině dokumentací je doporučován font
"lat2-16.psf". Druhou variantou je "iso02.f16". Další fonty můžete
najít v adresáři "/usr/lib/kbd/consolefonts" nebo
"/usr/share/consolefonts". Ne všechny ovšem budou vhodné pro češtinu.
Teď se podíváme na druhou část problému - českou klávesnici. K tomu
slouží výše zmíněný program "loadkeys". Mapy kláves, které tento
program zavádí, najdete v adresáři "/usr/lib/kbd/keytables" nebo
"/usr/share/keytables". V balíku "kbd" jsou též mapy pro českou
klávesnici a to hned tři. Vhodnou mapu kláves zavedeme příkazem:
loadkeys
Tato změna se však neprojeví na všech konzolách, ale pouze na té, na
které jsme příkaz zadali.
Když si to však budete chtít vyzkoušet, nemusí to fungovat. Proč?
Jednoduše proto, že shelly byly originálně nastaveny tak, aby
fungovaly s angličtinou a pouze s ní. Naštěstí řešení existuje.
Pokud tedy používáte shell "bash", připište do souboru "/etc/profile"
(nejlépe někam k začátku):
set meta-flag on
set convert-meta off
set output-meta on
V shellu "tcsh" je problém jednodušší, stačí nastavit proměnnou "LANG"
na hodnotu "cs" nebo "czech":
setenv LANG czech
Ačkoliv jsou uvedené příkazy krátké, bylo by jistě velmi únavné
zadávat je při každém spuštění znovu. Automatické zavádění můžeme
docílit velmi jednoduše tím, že je přidáme do startovacích skriptů
(v distribuci Slackware je to, myslím, soubor
"/etc/init.d/rc.local"). To je obecný postup, který bude fungovat
všude, nicméně distribuce RedHat a Debian už s lokalizací počítaly
a poskytují trochu jiné nástroje.
V RedHatu je třeba pro automatické zavádění mapy kláves přidat do
souboru "/etc/sysconfig/keyboard" následující řádek:
KEYTABLE="/usr/lib/kbd/keytables/mapa_kláves.map"
Pro fonty je nutné použít obecný postup.
V Debianu je třeba zkopírovat zvolenou mapu do adresáře "/etc/kbd"
a přejmenovat ji na "default.map(.gz)". (To ".gz" se přidá v případě,
že je mapa komprimovaná. Program si ji umí rozbalit.) Dále je nutné
upravit soubor "/etc/kbd/config" na následující tvar:
CONSOLE_FONT=iso02.f16
#CONSOLE_MAP=iso02.uni
Funkci druhé položky jsem zatím neodhalil, ale mohla by určovat
převodní tabulku do Unicodu (univerzální kódování s 65536 pozicemi
místo 256).
Když už nám to chodí, můžeme si ještě nastavit proměnnou "LANG", která
určuje, který jazyk se má použít. V "bash" shellu napíšeme:
LANG=czech
export LANG
Nastavení v "tcsh" je uvedeno výše.
Po nastavení této proměnné začne všechno, pro co jsou instalovány
české překlady, mluvit česky. (Zkuste si třeba příkaz "ls -la".)
Bohužel ne všechny programy se se změnou fontu a klávesnice dokáží
vypořádat. Typickým případem je program "Midnight Commander", který po
zavedení českého fontu naprosto "zruší" všechny rámečky. Naštěstí
existuje přepínač "-a", který nahradí rámečky znaky "+", "-"
a dalšími. Nevypadá to pak sice tak hezky jako s grafickými rámečky,
ale rozhodně to vypadá lépe než s nesmyslnými znaky.
Jak sami vidíte nejde vůbec o jednoduchý problém. Jen tak mimochodem
podívejte se na dokumentaci programu "cstocs". Bude se vám jistě
hodit. Příště se podíváme na češtinu v prostředí X-Window.