Ich möchte das Gebietsschema festlegen.
Ich habe das in meinem ~ / .profil
#language
export LANG=en_GB.utf8
export TESTING123=en_GB.utf8
Aber wenn ich tippe:
echo $LANG $TESTING123
Ich bekomme (LANG nicht gesetzt, aber TESTING123 ist gesetzt)
en_US.utf8 en_GB.utf8
Wenn ich es export LANG=en_GB.utf8
direkt in der Shell mache, funktioniert alles
#export LANG=en_GB.utf8
#echo $LANG
en_GB.utf8
#locale
LANG=en_GB.utf8
LANGUAGE=
LC_CTYPE="en_GB.utf8"
LC_NUMERIC="en_GB.utf8"
LC_TIME="en_GB.utf8"
LC_COLLATE="en_GB.utf8"
LC_MONETARY="en_GB.utf8"
LC_MESSAGES="en_GB.utf8"
LC_PAPER="en_GB.utf8"
LC_NAME="en_GB.utf8"
LC_ADDRESS="en_GB.utf8"
LC_TELEPHONE="en_GB.utf8"
LC_MEASUREMENT="en_GB.utf8"
LC_IDENTIFICATION="en_GB.utf8"
LC_ALL=
System ist Debian 7.2, Shell ist Bash.
bash
environment-variables
locale
Strg-Alt-Delor
quelle
quelle
echo $LANG > /tmp/test
direkt nach dem Exportbefehl hinzufügen ?Antworten:
Es gibt viele andere Initialisierungsdateien, in denen die Variablen nach dem Anwenden
.profile
von.bash_profile
.bashrc
... usw. festgelegt werden können, oder einfach eine andere nicht standardmäßige Datei, die von.profile
sich aus aufgerufen wird . Ich schlage vor, dass Sie zuerst nach allen Vorkommen Ihrer Variablen in Ihrem Home-Verzeichnis suchen:quelle
In Debian legen Sie Gebietsschemas mit dem folgenden Befehl fest:
Es wird die
/etc/default/locale
Datei erstellt und nur dieLANG
Variable hinzugefügt . Wenn Sie alleLC_*
Variablen anpassen möchten , können Sie sie auch dort hinzufügen:quelle
openbox
und in meinem Fall kann ich jedes der MengeLC_*
undLANG
Variablen in~/.config/openbox/environment
unter Verwendungexport
. Wenn Sie einengnome
Desktop verwenden, sollten Sie dessen Option aktivieren. Ich erinnere mich, dass irgendwo in der Systemsteuerung eine Sprache festgelegt werden musste.Ging durch und dachte mir das endlich, weil es mich verrückt machte, es manuell machen zu müssen, schien nicht richtig. Unter Debian kann dies mit dem
update-locale
Dienstprogramm erfolgen. Der Befehlbewirkt, dass die
/etc/default/locale
Datei ignoriert wird (sie kommentiert einfach dieLANG
Variable aus); was zu einemlocale
von:Der Befehl
wird Ihr
LANG
auf ... setzen Sie haben es erraten,en_US.UTF-8
was zurlocale
Erzeugung von:Und schließlich nur, um alle meine Grundlagen abzudecken ...
setzt
LANG
auf,C
was zurlocale
Ausgabe führt:quelle
Überprüfen Sie, ob Sie ein
~/.bash_profile
oder haben~/.bash_login
; sie werden überschreiben~/.profile
.Von
man bash
:"Als interaktive Anmeldeshell " ist von Bedeutung, da interaktive Shells häufig keine Anmeldeshells sind. Wenn Sie beispielsweise nur eine dieser Dateien ändern und ein neues GUI-Terminal starten, wird dies nicht angewendet. Es wird nur gelesen, wenn Sie sich tatsächlich anmelden.
Eine andere Möglichkeit besteht darin, dass Ihr LANG anschließend systemweit zurückgesetzt wird
bashrc
. Überprüfen Sie, ob eine Quelle vorhanden~/.bashrc
ist, zquelle