Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Počeštění FreeBSD

Pokud se chystáte experimentovat s FreeBSD, asi vás bude zajímat, jakými způsoby lze lokalizovat jeho prostředí co nejblíže k naší mateřštině. Ukážeme si konfiguraci na globální i uživatelské úrovni a předvedeme si rozdíly mezi iso-8859-2 a Unicode.

Tweetni to Twitter Jaggni to! Jagg Del.icio.us Delicious

Počeštění systému není naštěstí žádný problém. Jeho podstata tkví, stejně jako u Linuxu, v definování systémové proměnné LANG a MM_CHARSET. Aby vám čeština fungovala, musíte mít nainstalovánu knihovnu glibc s podporou locales. Stěžejním adresářem lokalizací je /usr/share/locale, kde se nachází podadresáře všech známých systémových lokalizací.

Každý podadresář obsahuje několik souborů, které udávají např. jak který národ zapisuje desetinná čísla ( LC_NUMERIC), jakým způsobem zapisuje datum, jak se nazývají měsíce a dny a jaké mají zkratky ( LC_TIME) atp. Pro nás je však nejdůležitější, že adresář locale obsahuje dva podadresáře pro český jazyk – cs_CZ.ISO-8859–2 a cs_CZ.UTF-8. Z názvů se dá vyvodit, že první používá jedno-bytové kódování iso-8859–2 a druhý dvou-bytové mezinárodní kódování utf-8 (pojímá např. i čínské, japonské, arabské a další, v našich končinách vzácně používané znaky). Klasické znaky ASCII jsou zobrazitelné oběma kódováními bez převodu, protože mají ve všech třech stejnou hodnotu.

cs_CZ.ISO-8859–2

U obou kódování se používá stejná strategie nastavení. Můžete lokalizaci nastavit na globální úrovni, nebo na úrovni uživatelské.

Uživatelskou konfiguraci provedeme v souboru ~/.login_conf:

me:\
    :charset=ISO-8859-2:\
    :lang=cs_CZ.ISO8859-2: 

Na prvním řádku by mohl být jakýkoliv identifikátor, jeho využití nabývá významu až u globálního nastavování lokalizace. Druhý řádek nastavuje proměnnou MM_CHARSET, kterou využívají aplikace k nastavení jejich MIME znakové sady. Třetí řádek nastavuje locale knihovny glibc.

Nastavení lokalizace na systémové úrovni se provádí v souboru  /etc/login.conf:

czech:Czech Users Accounts:\
    :charset=ISO-8859-2:\
    :lang=cs_CZ.ISO8859-2:\
    :tc=default: 

Oproti uživatelské konfiguraci je zde několik rozdílů. Identifikátor na prvním řádku představuje název třídy uživatelů. Každý nově vytvořený uživatel může být k této třídě přiřazen. Druhá část obsahuje titulek třídy. Následující řádky jsou nám již známé, až na poslední. Ten vkládá třídu default (viz. man 5 login.conf). Stávající uživatele je možné přeřadit ke třídě pomocí nástroje vipw, který edituje soubor /etc/master.passwd v němž jsou uloženy všechny informace o uživatelích a jejich hesla. Použití editoru je obdobné jako u vi. Pátý sloupec představuje onu jazykovou třídu, kterou musíme nastavit na czech.

user:password:1111:11:language:0:0:User Name:/home/user:/bin/sh 

Je však velmi nepraktické přidávat nového uživatele a poté ještě přenastavit jeho třídu. Program adduser nám tento problém ulehčuje svou volbou -class, která specifikuje jazykovou třídu:

# adduser -class language 

Můžeme ještě nastavit defaultní třídu do konfiguračního souboru programu. Do souboru /etc/adduser.conf přidáme řádek  defaultclass = language.

V našich podmínkách však nastanou jen občas případy, kdy s jedním počítačem pracuje několik lidí hovořících rozličnou řečí. Nastavování jazykových tříd pro uživatele je tedy celkem zbytečné. Mnohem zajímavější alternativou by mohlo být nastavení locales v konfiguračním souboru shellu a X11.

Pro BASH přidáme do souboru /etc/profile řádky:

LANG=cs_CZ.ISO8859-2; export LANG
MM_CHARSET=ISO-8859-2; export MM_CHARSET 

Používáte-li T/CSH, je vaším cílovým souborem /etc/csh.login:

setenv LANG cs_CZ.ISO8859-2
setenv MM_CHARSET ISO-8859-2 

Pro nastavení X11 použijeme inicializačních souborů uživatelů –  $HOME/.xinitrc:

LANG=cs_CZ.ISO8859-2; export LANG 

nebo

setenv LANG cs_CZ.ISO8859-2 

Nastavení konzole

Aby se nám české znaky na konzole zobrazovaly a my je také mohli zapisovat, musíme provést několik úprav souboru /etc/rc.conf. Základem je nastavení fontů, provedeme to pomocí řádků:

font8x16=font_name
font8x14=font_name
font8x8=font_name 

Tyto fonty se nacházejí v adresáři /usr/share/syscons/fonts. V názvech fontů se nepoužívá přípona .fnt. Klávesové mapy nalezneme v adresáři /usr/share/syscons/keymaps. Název požadované mapy (bez přípony .kbd) použijeme v řádku keymap=keymap_name. Zbývá nám ještě poslední úprava, a to souboru /etc/ttys, kde nastavíme správný typ terminálu konzoly. Všem položkám ttyv* přiřadíme hodnotu  cons25l2.

TIB2012

       

cs_CZ.UTF-8

Nastavování kódování utf-8 je stejné jako u iso-8859–2. Problém je v použití unicode v konzoli – není totiž ještě podporováno. Který uživatel však pracuje v konzoli? Snad občas root a ten nepotřebuje používat žádné jiné kódování než iso-8859–1, protože názvy a obsah všech systémových souboru jsou reprezentovány jen ASCII znaky. Ze strany X11 a ostatních programů, jako např. Firefox, není s utf-8 problém. Jedinou chybkou, na kterou jsem narazil, byla podpora unicode v GTK-1.2. Jedná se o volbu fontů. Ty musí mít kódování iso10646-1 a defaultně nemusí být nastaveny. Problém lze však elegantně řešit úpravou souboru /usr/X11R6/share/themes/Default/gtk/gtkrc.cs. Pozor, tento soubor je symlinkem na gtkrc.iso-8859–2, takže jej musíte nejdříve smazat a potom vytvořit nový. Ten musí obsahovat definice unicode fontů:

style "gtk-default-utf8" {
        fontset = "-*-trebuchet-ms-medium-r-normal-*-12-*-*-*-*-*-iso10646-1,\
                   -*-arial-medium-r-normal--12-*-*-*-*-*-iso10646-1,\
                   -*-trebuchet-ms-medium-r-normal-*-12-*-*-*-*-*-iso10646-1,\
                   -*-arial-medium-r-normal--12-*-*-*-*-*-iso10646-1" }
                   # jeste se da misto "trebuchet-ms" pouzit i "verdana"
class "GtkWidget" style "gtk-default-utf8" 

Chcete-li nastavit fonty GTK na uživatelské bázi, stačí napsat tyto řádky do souboru  ~/.gtkrc.

Školení: TCP/IP na Linuxu I.

V tomto kurzu se seznámíte se síťováním v Linuxu na všech vrstvách. Ujasníte si možnosti použití Linuxu v roli klienta, serveru i routeru.

  • Počítačové sítě
  • Architektura TCP/IP
  • Ethernet
  • Protokol PPP
  • Protokoly IPv4 a IPv6
  • IP na ethernetu
  • IP routing
  • Chybové a řídící zprávy
  • Transportní protokoly
  • Překlady jmen a adres
  • Aplikace
  • Překlady síťových adres a proxying
  • Testování sítě
  • Aktuální situace na poli TCP/IP

Podrobnější informace a přihláška  

Ohodnoťte jako ve škole:
Průměrná známka 3,18

Přehled názorů

Great!
jirib 16. 12. 2005 00:58
Nový
├ 
Re: Great!
Izak 16. 12. 2005 11:56
Nový
│
└ 
Re: Great!
ma to 18. 12. 2005 00:13
Nový
└ 
Re: Great!
Luboš Doležel 16. 12. 2005 15:23
Nový
 
├ 
Re: Great!
jkt 17. 12. 2005 00:02
Nový
 
│
└ 
Re: Great!
Luboš Doležel 17. 12. 2005 00:12
Nový
 
└ 
Re: Great!
Izak 17. 12. 2005 22:53
Nový
klávesnice
hugo 16. 12. 2005 10:36
Nový
├ 
Re: klávesnice
Frank Tomes 16. 12. 2005 10:40
Nový
└ 
Re: klávesnice
ma to 18. 12. 2005 00:19
Nový
freebsd.cz/cs
coccyx 16. 12. 2005 11:23
Nový
└ 
Re: freebsd.cz/cs
TomBA 17. 12. 2005 17:39
Nový
glibc
gajaskuta 16. 12. 2005 11:49
Nový
profile... ~/.login.conf
junix 16. 12. 2005 17:36
Nový
└ 
Re: profile... ~/.login.conf
ma to 18. 12. 2005 00:25
Nový
prekladani
bln 17. 12. 2005 03:54
Nový
└ 
Re: prekladani
zen 17. 12. 2005 20:20
Nový
 
└ 
Re: prekladani
HKMaly 18. 12. 2005 14:12
Nový
 
 
└ 
Re: prekladani
zen 18. 12. 2005 18:25
Nový
zhrnutie a doplnenie ...
ma to 18. 12. 2005 00:30
Nový
velikost UTF-8
slacker 20. 12. 2005 16:24
Nový
       

Tento text je již více než dva měsíce starý. Chcete-li na něj reagovat v diskusi, pravděpodobně vám již nikdo neodpoví. Pro řešení aktuálních problémů doporučujeme využít naše diskusní fórum.

Zasílat nově přidané příspěvky e-mailem