archeolog.cz: Obří Hrad Keltské oppidum Stradonice Habrůvka, jeskyně Býčí skála pravěk datace, časová osa, pravěké dějiny
Apple iPad Smart Case šedá - Samsung Galaxy Tab 10.1 černé - Samsung Galaxy Tab 10.1 bíle - Puzdro Asus Eee Pad Versa černé - Pouzdro Apple iPad Smart Cover černé - Pouzdro POINT OF VIEW Mobii 7" černé - Pouzdro ZTE V9C-1 černé - Pouzdro Google Nexus 7 oražové - Pouzdro Google Nexus 7 šedé - Pouzdro Samsung Galaxy Note 10.1 bíle - Pouzdro Samsung Galaxy Note 10.1 černé
   Témata: Home

Výlety

Foto

Technika

Výhledy

Cestování

K zamyšlení


LINUX4ALL archiv

Na webu

Pobavení

Příroda

Report, Dokument

Sport

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.
STEFi (c) 2004 - stefi [at] netdev [dot] cz
Pokud chcete zde publikované materiály použít, prosím, informujte mě. If you wish to use these published materials, please, let me know.
0.005 sec