Locale und Localization in Backtrack 4
Beispiel de_DE-UTF-8

Ergänzend zu dem Howto BT4 Final in Deutsch umstellen, möchte ich noch kurz auf die Konfiguration der Codierung eingehen. Trotz Installation der deutschen Sprachpakete sind die Menüs von einigen Programmen wie Firefox, K3b usw… englisch. Dies liegt an den locale Einstellungen des OS.

Sehen wir uns dies einmal kurz an:
WIr sind als root angemeldet und schauen uns zuerst einmal die eingestellte Coderierung für das System an:
Code:
root@k3ops-schlepp:~# cat /etc/default/locale
LANG="en_US.UTF-8"
Nun welche Coderierung denn ausgewählt werden können bzw im System vorhanden sind:
Code:
root@k3ops-schlepp:~# locale -a
C
POSIX
de_AT.utf8
de_BE.utf8
de_CH.utf8
de_DE.utf8
de_DE@euro
de_LI.utf8
...
...
Jetzt interessiert uns noch der allmächtige root:
Code:
root@k3ops-schlepp:~# echo $LANG
C
root@k3ops-schlepp:~# locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_PAPER="C"
LC_NAME="C"
LC_ADDRESS="C"
LC_TELEPHONE="C"
LC_MEASUREMENT="C"
LC_IDENTIFICATION="C"
LC_ALL=
Seltsam nun würde man denken da stimmt irgendwas nicht, die Auslösung findet man in der .profile.
Code:
root@k3ops-schlepp:~# cat ~/.profile
# ~/.profile: executed by Bourne-compatible login shells.

Der obere Teil interressiert uns nicht !

# Installed by Debian Installer:
# no localization for root because C
# cannot be properly displayed at the Linux console
LANG=C
LANGUAGE=C
Ich möchte hier nicht weiter auf die Zeichen-/Sprachencodierung von Debian -> Ubuntu -> BT4 eingehen, dies würde den Rahmen des kleinen Howto`s sprengen und es existieren bereits gute Artikel im Bereich Sprachen-/Zeichencodierung.

Jetzt wissen wir wie die Codierung für das System, root ist - wie auch die Einstellung für alle neuerstellten Benutzer.

System = en_US.UTF-8
Benutzer (Neuerstellt wird vom System übernommen) = en_US.UTF-8
root = C

Jetzt starten wir firefox mal mit der Localization deutsch unter root (was man nicht machen sollte !):
Code:
oot@k3ops-schlepp:~# LANG=de_DE.UTF-8 /usr/bin/firefox &
[2] 6037
[1] Done LANG=de_DE.UTF-8 /usr/bin/firefox


Oki, passt
Ändern wir nun mal die Codierung in deutsch ab und erstellen im Anschluss einen Benutzer.
Code:
root@k3ops-schlepp:~# mv /etc/default/locale /etc/default/locale.bak
root@k3ops-schlepp:~# sed 's/en_US.UTF-8/de_DE.UTF-8/g' /etc/default/locale.bak > /etc/defaul/locale
root@k3ops-schlepp:~# cat /etc/default/locale
LANG="de_DE.UTF-8"
Mal testen:
Code:
root@k3ops-schlepp:~# useradd test -m -s /bin/bash -p passwort
test@k3ops-schlepp:/root$ locale
LANG=de_DE.UTF-8
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC="de_DE.UTF-8"
LC_TIME="de_DE.UTF-8"
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY="de_DE.UTF-8"
LC_MESSAGES="de_DE.UTF-8"
LC_PAPER="de_DE.UTF-8"
LC_NAME="de_DE.UTF-8"
LC_ADDRESS="de_DE.UTF-8"
LC_TELEPHONE="de_DE.UTF-8"
LC_MEASUREMENT="de_DE.UTF-8"
LC_IDENTIFICATION="de_DE.UTF-8"
LC_ALL=
test@k3ops-schlepp:/root$ exit
exit
root@k3ops-schlepp:~# userdel -f test
root@k3ops-schlepp:~# rm -r /home/test
Somit sollten alle Programmen mit einem neuerstellten Benutzer in deutsch ausgeführt werden wenn das deutsche Sprachpaket installiert ist.

Wer doch mit biegen und brechen als root in der GUI handieren möchte, dem empfehle ich nicht die LANG in der ~.profile zuändern sondern führt folgende Zeilen (Wohlgemerkt bevor man X startet) aus bzw erstellt euch ein Script. oder einfach die Zeilen in die ~.bashrc unten einfügen, falls man sich über die GUI anmeldet.
Code:
root@k3ops-schlepp:~#LANG=de_DE.UTF-8
root@k3ops-schlepp:~#export

Mit dem Befehl locale können die Einstellungen überprüft werden. Die im System vorhanden Codierungen können ebenfalls verwendet werden.

Grüsse K3ops