Lokalizace X Window

Z Wiki@FreeBSD.cz
Přejít na: navigace, hledání

Grafický systém X Window se primárně řídí hodnotou nastavení lokalizačních proměných LANG/LC_* a i aplikace v systému X Window potřebují vědět, které znaky jsou velká a malá česká písmena, a proto i v tomto případě musí být správně nastavené proměnné LANG/LC_* (viz výše), nejlépe ještě před spuštěním X serveru a všech následně spuštěných aplikací. V případě používání startx stačí mít správně nastavenou konzolu. V případě používání xdm je nutné zvolit jiný způsob nastavení lokalizačních proměnných. Kdo má ve svém domácím adresáři soubor ~/.xinitrc pro spuštění vlastního WM, může nastavení lokalizace uvést v tomto souboru před spuštěním WM.

Fonty

Pro co nejkvalitnější zobrazování fontů, zvláště ve webových prohlížečích, je dobré nainstalovat port webfonts v kategorii x11-fonts. Jelikož port obsahuje TrueTypová písma, v XF86Config musí být v sekci Module povolen modul freetype nebo xtt.

Základní bitmapové české ISO8859-2 fonty v prostředích KDE nebo Gnome fungují hned po instalaci, ale přesto mohou nastat situace, kdy může pomoci i doinstalování ověřených fontů z http://www.biz.net.pl/ s nastavením jejich preferování před ostatními, není-li kódování vynuceno. Jedná se zvláště o starší aplikace nebo o xterm, který ve standardní konfiguraci české fonty také nezobrazuje (samozřejmě je téměř vždy možné nakonfigurovat správné fonty u každé aplikace i jednotlivě). Instalaci včetně případného stažení souboru ISO8859-2-bdf.tar.gz lze provést takto:

   sh ISO8859-2-bdf.INSTALL

Nastavení české klávesnice

Klávesnici lze nastavit přímo v konfiguračním programu xf86cfg. Manuální nastavení je možné provést tak, že v sekci InputDevice s ovladačem Keyboard v XF86Config bude uveden řádek Option "XkbLayout" "x", kde x je seznam map klávesnice oddělených čárkou, mezi kterými lze přepínat pomocí nějaké kombinace kláves, například:

   Option "XkbLayout" "us,cz"

nebo

   Option "XkbLayout" "us,cz_qwerty"

V případě mapy cz je pro přepínání standardně zvolena kombinace ShiftL+ShiftR. Pokud se chcete přiblížit konzole a přepínat mapy dočasně podržením AltR a trvale stiskem AltL+ShiftL a pro indikaci české klávesnice použít diodu CapsLock, v XF86Config zkontrolujte, zda máte tento, nebo podobný řádek:

   Option "XkbOptions" "grp:switch,grp:alt_shift_toggle,grp_led:caps"

Klávesa RAlt pro dočasné přepnutí ovšem funguje jen z anglické mapy, jelikož v české mapě je RAlt využita pro přepnutí na jinou alternativní mapu, která je podobná mapě v neunixových systémech (WinXX, OS/2, ...). Proto je lepší buď místo grp:switch použít grp:win_switch, aby bylo možné na opačnou mapu přepínat pomocí kláves se symbolem Windows, nebo použít následující příkaz, který RAlt z české mapy odstraní a uvolní pro dočasné přepínání:

   patch /usr/X11R6/lib/X11/xkb/symbols/pc/cz < cz.diff

Pěkný seznam možných variant konfigurace klávesnice se nachází v souboru /usr/X11R6/lib/X11/xkb/rules/xfree86.lst.

Je-li česká klávesnice správně nastavená a se všemi doporučeními, při přepnutí na alternativní mapu (např. v případě použití us,cz s výše uvedenými volbami je standardní anglická a na českou je nutné přepnout dočasně podržením AltR nebo Win, nebo trvale stiskem AltL+ShiftL) by se měla rozsvítit LED dioda Caps Lock. Při problémech je dobré zkontrolovat konfigurační soubor a případně zkusit zakomentovat všechna ostatní Xkb* nastavení, která mohou s nově přidanými kolidovat. Pokud použijete konfigurační program xf86cfg, po jeho ukončení zkontrolujte, zda nevznikl soubor /usr/X11R6/lib/X11/xkb/X0-config.keyboard s duplicitní konfigurací klávesnice, která má vyšší prioritu, než hlavní konfigurační soubor XF86Config. Pokud soubor X0-config.keyboard skutečně vznikl, raději ho smažte a správnou konfiguraci udržujte pouze v hlavním konfiguračním souboru.

Starší verze FreeBSD a systém X Window

Konfigurační program a umístění konfiguračního souboru

V XFree86 3.x se místo konfiguračního programu xf86cfg používá program XF86Setup. Konfigurační soubor XF86Config se může nacházet na mnoha různých místech. Nejběžnější umístění jsou /etc/X11/XF86Config nebo /etc/X11/XF86Config-4 pro verze XFree86 4.x a /etc/XF86Config pro verze XFree86 3.x. Existují ale i jiné možnosti a instalační skripty odkazované v tomto dokumentu se snaží počítat s co nejvíce možnostmi v pořadí, které je použito X serverem, ale i přesto může nastat situace, kdy nebude konfigurační soubor nalezen, nebo bude změněna neaktuální verze - v obou případech je nutné skripty upravit a nasměrovat je na existující a správnou verzi konfiguračního souboru.

Akceptování nastavené lokalizace

Pokud používáte starší instalaci ještě s názvem lokalizace s podtržítkem cs_CZ.ISO_8859-2 a soubor locale.alias v XFree86 řádek s tímto řetězcem neobsahuje, je nutné provést tento příkaz:

   patch /usr/X11R6/lib/X11/locale/locale.alias < locale.alias.diff

Fonty

Ve starších verzích XFree86 se základní české ISO8859-2 fonty nevyskytovaly vůbec (například ve 3.3.6), nebo byly chybné (například na počátku řady 4.x), proto u starších instalací může být přidání Biznet fontů za účelem počeštění nutností.

Pro případné přidání dalších TrueTypových fontů umístěných kdekoli na disku lze použít následující příkaz s parametrem dir určujícím adresář, kde jsou tyto fonty umístěny (bez použití parametru dir se implicitně použije cesta /mnt/dos/WINDOWS/Fonts):

   sh TrueType.INSTALL [dir]

Nastavení české klávesnice

Manuální nastavení v XFree86 4.0.x až 4.2.x je možné provést tak, že v sekci InputDevice s ovladačem Keyboard v XF86Config bude uveden řádek Option "XkbLayout" "x", kde x je typ klávesnice, například:

   Option "XkbLayout" "cz"

nebo

   Option "XkbLayout" "cz_qwerty"

Kdo není v těchto verzích spokojen se standardně dodávanou českou klávesnicí, může zkusit nainstalovat mapu klávesnice, která se co nejvíce zkouší přiblížit mapě klávesnice na konzole:

   cp cz cz_qwerty /usr/X11R6/lib/X11/xkb/symbols/

Pokud se chcete konzole přiblížit i tak, že mezi klávesnicemi budete dočasně přepínat podržením AltR a trvale stiskem AltL+ShiftL a pro indikaci české klávesnice chcete použít diodu CapsLock, v XF86Config zkontrolujte, zda máte tento, nebo podobný řádek:

   Option "XkbOptions" "grp:switch,grp:alt_shift_toggle,grp_led:caps"

V několika verzích XFree86 4.x se vyskytovala varianta české klávesnice, která byla zaměřena na některé uživatele neunixových systémů a pro ostatní uživatele byla jen velmi těžko stravitelná, proto krok s nainstalováním klávesnice může být v těchto případech téměř nutný.

Manuální nastavení klávesnice v XFree86 3.x lze provést tak, že v sekci Keyboard v XF86Config bude uveden řádek XkbKeymap "xfree86(x)", kde x je typ klávesnice, například:

   XkbKeymap "xfree86(us_cz_qwertz)"

Implicitně je v XFree 3.x přepínání mezi klávesnicemi nastaveno na ShiftL+ShiftR. Chce-li někdo pro přepínání mezi klávesnicemi používat stisk AltL+ShiftL, může provést tento příkaz:

   patch /usr/X11R6/lib/X11/xkb/symbols/czsk < czsk.diff

Kdo chce, aby se ve verzi XFree86 3.x po stisku mrtvé klávesy s háčkem a klávesy u/U vytvořilo písmenko u/U s kroužkem, může zkusit provést tento příkaz:

   patch /usr/X11R6/lib/X11/locale/iso8859-2/Compose < Compose.diff

Od XFree86 4.x je již podobná změna zařazena přímo v instalaci.

--Cejkar 16:05, 26. 4. 2007 (CEST)