System Locale

Die Umgebungsvariable LANG=xx_YY.ZZZZ beschreibt:

  • die Sprache xx
  • Länder Kennung YY
  • Encoding ZZZZ

locale zeigt die momentan aktive an, locale -a zeigt alle vorhandenen.

Um diese systemweit zu setzen, muss man an diese in an default-Sektion in der /etc/login.conf anhängen:

default:\
        ...
        :priority=0:\
        :ignoretime@:\
        :umask=022:\
        :charset=UTF-8:\
        :lang=en_US.UTF-8:

Danach die login Datenbank mit cap_mkdb /etc/login.conf neu bauen.

Non-Login-Shells bekommen die locale z.B. durch die /etc/profile mitgeteilt:

LANG=en_US.UTF-8;       export LANG
CHARSET=UTF-8;          export CHARSET
GDM_LANG=en_US.UTF-8;   export GDM_LANG

Nach einem neuen Login, sollte locale nun was anderes als LANG=C anzeigen.