Hlavní navigace

Globální proměnné prostředí

31. 10. 2008 13:17 (aktualizováno) Tomáš Ehrlich

Jak říká můj linuxový guru, vždycky mám něco speciálního. Tentokrát dělaly problém locales.

Používám Debian, testovací větev. Příhlašuji se pomocí Qingy.

Soubory jsem nastavil:

/etc/locale.gen cs_CZ.UTF-8 UTF-8 en_US.UTF-8 UTF-8 es_ES.UTF-8 UTF-8 fr_FR.UTF-8 UTF-8 /etc/default/locale LANG="cs_CZ.UTF-8"

Nechal vygenerovat locales ( locale-gen).

A přesně tady se můj osud liší od bežného spokojeného linuxového uživatele. Po přihlášení mám všude POSIX… Cpát to do .zshrc (popř. .bashrc) je zrůdnost, protože pak locales fungují jen v terminálu, programy stále používají POSIX (spouštět všechny programy z terminálu je zrůdnost ještě větší).
Většína howtu mi řekla, ať uďělám to, co jsem už dávno udělal… S GDM vše fungovalo správně. Až jsem se jednoho dne naštval a spustil  cd /etc && sudo grep -r locale *

Zakopaný pes byl v konfiguračních souborech v adresáří /etc/pam.d

Tyto dva řádky mi tam chyběly:

session required pam_env.so readenv=1 # nacte /etc/environment session required pam_env.so readenv=1 envfile=/etc/default/locale # nacte specificky soubor

Chápu, že to nejspíš všichni znáte, ale kdyby se objevil někdo stejně hloupý jako já, tak ať zbytečně negrepuje :)

P.s: Při pročítání konfiguráků PAM jsem zjistil další zajímavou vychytávku: Pokud obsahuje řádek auth required pam_nologin.so a vytvoříte soubor /etc/nologin (klidně prázdný), do systému se příhlásí pouze root. Na desktopu to asi nevyužiju, ale přišlo mi to tak super, že jsem se o to musel s někým podělit :)

P.s.s: Pro lepší pochopení locales doporučuji přečíst komentář č.8 od Stanislava Brabce. Zároveň mu děkuji za vysvětlení.