Gebietsschema in Linux festlegen mit localectl

Gebietsschema, Systemgebietsschema mit localectl und locale in Linux abfragen und festlegen

Das Gebietsschema in Linux festlegen mit localectl. Jedes Gebietsschema besteht aus einer Reihe von Umgebungsvariablen, um die Sprach-, Länder- und Zeichenkodierung für Anwendungen und in der Shell-Sitzung auf einem Linux-System zu definieren. Diese Umgebungsvariablen werden von Systembibliotheken und länderspezifischen Anwendungen auf dem System verwendet.

Systemgebietsschema mit Uhrzeit, Datumsformat, Zahlen und Währung

Das Gebietsschema wirkt sich auf die Uhrzeit und das Datumsformat aus, den ersten Wochentag, Zahlen, Währung und viele weitere Werte, die entsprechend der Sprache oder Region (Land) formatiert sind. Unter Linux kann man ein Gebietsschema mit dem Dienstprogramm localectl und locale abfragen und festlegen.

Die Dienstprogramme locale und localectl

Das Dienstprogramm locale und localectl liefert Informationen zum aktuell installierten Gebietsschema und ändert diese bei bedarf.

$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Liste aller verfügbaren Gebietsschema ausgeben.

$ locale -a
aa_DJ
aa_DJ.iso88591
aa_DJ.utf8
aa_ER
aa_ER@saaho
aa_ER.utf8
aa_ER.utf8@saaho
aa_ET
aa_ET.utf8

Linux Gebietsschema mit localectl festlegen

Soll das Gebietsschema geändert und festgelegt werden, wird der Befehl update-locale und localectl verwendet. Mit der Variable LANG kann das Gebietsschema für das gesamte System festgelegt werden.

Der folgende Befehl setzt LANG auf de_DE.UTF-8

$ sudo localectl set-locale LANG=de_DE.UTF-8

Gebietsschema für Benutzer festlegen

Um ein Gebietsschema für einen einzelnen Benutzer festzulegen, kann man einfach die Datei ~/.bash_profile öffnen und die folgenden Zeilen hinzufügen.

LANG = "de_DE.utf8"
Export LANG

Debian dpkg-reconfigure locales

Unter Debian Linux kann man ein Gebietsschema mit dem Dienstprogramm locale abfragen und festlegen. Zudem bietet Debian zum festlegen des Systemgebietsschema das Diensprogramm dpkg-reconfigure an.

$ sudo dpkg-reconfigure locales

Die Gebietsschemaeinstellungen befinden sich in den folgenden Dateien.

  • /etc/default/locale – Ubuntu/Debian
  • /etc/locale.conf – CentOS/RHEL

Diese Dateien können auch manuell mit einem bevorzugten Befehlszeileneditoren wie Vim oder Nano bearbeitet werden, um das Systemgebietsschema zu konfigurieren.

Dei Manpages locale localectl

$ man locale
$ man update-locale
$ man localectl

Fazit

In diesem Tutorial wird gezeigt, wie man ein Gebietsschema in Linux mit localectl ändern und festlegen kann. Jedes Gebietsschema besteht aus einer Reihe von Umgebungsvariablen, um die Sprach-, Länder- und Zeichenkodierung für Anwendungen und Shell-Sitzung auf einem Linux-System zu definieren.

Mit dem Dienstprogramm localectl können alle notwendigen Informationen abgefragt und Einstellungen getroffen werden, um das Gebietsschema und das dazu passende Tastaturlayout einzustellen. Dies ist dann nötig, wann etwa bei der Installation falsche Einstellungen getroffen worden sind und/oder durch Updates oder Software-Installationen die Voreinstellungen verlorengegangen sind. localectl ist auf den meisten Linux-Systeme vorinstalliert und wird ausschließlich über das Terminal bedient.

KiTTY Terminal Character Set Translation

PuTTY und KiTTY Character Set Translation der Terminal Zeichenkodierung

Wird im Terminal die Ausgabe von Linux Shell Commands nicht wie gewünscht dargestellt, liegt es an der Übersetzung der Zeichen Codepage des Terminals, oder es liegt ein nicht korrektes Unicode Systemgebietsschema auf dem Host vor. Der Beitrag zeigt die Einstellung der Unicode Zeichen Tabelle auf dem Linux Host, und die Character Set Translation der Zeichenkodierung beim Terminal Client PuTTY und KiTTY.

Immer mehr Linux-Systeme nutzen UTF-8 statt ISO-8859 für die Zeichenkodierung.

PuTTY unter Windows ist per Standard mit der Zeichenkodierung UFT-8 für die Character Set Translation korrekt eingestellt.

Abbildung: PuTTY Character Set Translation

KiTTY der ebenso freie Clone von PuTTY, hat Standardmässig bei Character Set Translation die Zeichenkodierung ISO-8859-1:1998 (latin-1, West Europa) voreingestellt.

Abbildung: KiTTY Character Set Translation

Die Zeichenkodierung sollte bei KiTTY auf UTF-8 geändert werden. Die gespeicherten Host werden im Abschnitt Session aus der Liste Saved Sessions mit Load geöffnet und angepasst.

Beim Linux-System wird die Zeichenkodierung mit locale abgefragt.

$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME=en_GB.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"ddd
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Die Verfügbaren Locales ausgeben.

$ locale -a

In der Datei /etc/default/locale sind die Default Einstellungen.

$ cat /etc/default/locale
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_TIME=en_GB.UTF-8

Das Systemgebietsschema wird unter Debian 10 (Buster) mit dpkg-reconfigure locales festgelegt. UTF-8 sollte der Standard sein.

Abbildung: dpkg-reconfigure locales

Bei CentOS/RHEL Linux wird das Systemgebietsschema wie folgt festgelegt.

$ sudo localectl set-locale LANG=de_DE.UTF-8

Globale Gebietsschemaeinstellungen findet man in den Dateien.

  • /etc/default/locale – Ubuntu/Debian
  • /etc/locale.conf – CentOS/RHEL
Copy
Die mobile Version verlassen