Debian

Die Gebietsschemas auf Debian GNU/Linux verstehen

Die Gebietsschemas auf Debian GNU/Linux verstehen
Jedes Computersystem verfügt über ein spezifisches Setup in Bezug auf die Systemsprache und die verwendete Zeichencodierung. Basierend auf dieser Konfiguration werden die Fehlermeldungen, das Hilfesystem sowie die Rückmeldungen des Programms auf dem Bildschirm angezeigt.

Auf UNIX/Linux-Systemen wird dieses Setup als POSIX [7]-Locales bezeichnet und als IEEE Std 1003 standardisiert.1-2017 [3]. Ein solches Gebietsschema kann für das System als Ganzes variieren und die einzelnen Benutzerkonten wie jeder einzelne Benutzer kann seine Arbeitsumgebung individualisieren. In diesem Artikel erklären wir Ihnen, wie Sie das aktuelle Locale-Setup auf Debian GNU/Linux herausfinden, die einzelnen Einstellschrauben verstehen und das System an Ihre Bedürfnisse anpassen können.

Beachten Sie, dass dieser Artikel auf Debian GNU/Linux Release 10 „Buster“ zugeschnitten ist. Sofern nicht anders angegeben, funktionieren die hier beschriebenen Techniken auch für dessen Derivate wie Ubuntu oder Linux Mint [8].

Was ist ein Gebietsschema??

Im Allgemeinen ist ein Gebietsschema eine Reihe von Werten, die die Natur und die Konventionen eines Landes oder einer Kultur widerspiegeln. Diese Werte werden unter anderem als Umgebungsvariablen gespeichert, die die Sprache, die Zeichenkodierung, die Datums- und Uhrzeitformatierung, das Standardpapierformat, die Landeswährung sowie den ersten Tag der Woche darstellen.

Wie bereits erwähnt, gibt es eine allgemeine Einstellung, die als "Standardgebietsschema" bekannt ist, und eine benutzerdefinierte Einstellung. Das Standardgebietsschema funktioniert systemweit und wird in der Datei /etc/default/locale . gespeichert. Listing 1 zeigt das Standardgebietsschema auf einem Debian GNU/Linux mit Deutsch als Hauptsprache und 8-Bit-Unicode (UTF-8) als Zeichensatz an [11].

Listing 1: Das Standardgebietsschema auf einem deutschen Debian GNU/Linux

$ cat /etc/default/locale # Von update-locale generierte Datei LANG=“de_DE.UTF-8” $ --

Bitte beachten Sie, dass im Gegensatz zu Debian GNU/Linux bei einigen früheren Ubuntu-Versionen das systemweite Locale-Setup unter /etc/locale . gespeichert ist.conf.

Die benutzerdefinierten Einstellungen werden als versteckte Datei in Ihrem Home-Verzeichnis gespeichert und die tatsächlich ausgewerteten Dateien hängen von der von Ihnen verwendeten Login-Shell ab [6]. Die traditionelle Bourne-Shell (/bin/sh) [4] liest die beiden Dateien /etc/profile und ~/.profile, während die Bourne-Again-Shell (Bash) (/bin/bash) [5] /etc/profile und ~/.bash_profile. Wenn Ihre Login-Shell eine Z-Shell ist (/bin/zsh) [9], werden die beiden Dateien ~/.zprofile und ~/.zlogin werden gelesen, aber nicht ~/.Profil, es sei denn, es wird im Bourne-Shell-Emulationsmodus aufgerufen [10].

Das Starten einer Shell in einem Terminal in einer bestehenden Sitzung führt zu einer interaktiven Shell ohne Anmeldung. Dies kann dazu führen, dass die folgenden Dateien gelesen werden - ~/.bashrc für Bash und /etc/zshrc sowie ~/.zshrc für Z-Shell [6].

Benennen eines Gebietsschemas

Wie hier erklärt [12], folgt der Name eines Gebietsschemas einem bestimmten Muster. Das Muster besteht aus Sprachcodes, Zeichenkodierung und der Beschreibung einer ausgewählten Variante.

Ein Name beginnt mit einem aus zwei Buchstaben bestehenden ISO 639-1-Sprachcode [13] oder einem aus drei Buchstaben bestehenden ISO 639-2-Sprachcode [14], wenn die Sprache keinen aus zwei Buchstaben bestehenden Code hat. Zum Beispiel ist es de für Deutsch, fr für Französisch und cel für Keltisch. Dem Code folgt für viele, aber nicht alle Sprachen ein Unterstrich _ und ein aus zwei Buchstaben bestehender ISO 3166-Ländercode [15]. Dies führt beispielsweise zu de_CH für Schweizerdeutsch und fr_CA für ein französischsprachiges System für einen kanadischen Benutzer, der sich wahrscheinlich in Québec befindet.

Optional ein Punkt . folgt dem Namen der Zeichenkodierung wie UTF-8 oder ISO-8859-1 und dem @-Zeichen gefolgt vom Namen einer Variante. Der Name [email protected] beschreibt beispielsweise die Einrichtung eines englischen Systems für Irland mit UTF-8-Zeichencodierung und dem Euro als Währungssymbol.

Befehle und Werkzeuge

Die Anzahl der Befehle in Bezug auf Gebietsschemas ist relativ gering. Die Liste enthält ein Gebietsschema, das lediglich die aktuellen Gebietsschemaeinstellungen anzeigt. Der zweite ist localectl, der verwendet werden kann, um die Einstellungen für das Systemgebietsschema und das Tastaturlayout abzufragen und zu ändern. Um ein Locale zu aktivieren kommen die Tools dpkg-reconfigure und locale-gen ins Spiel - siehe Beispiel unten.

Zeigen Sie das verwendete Gebietsschema an

Schritt eins besteht darin, das aktuelle Gebietsschema auf Ihrem System mit dem Befehl locale wie folgt herauszufinden:

Listing 2: Aktuelles Gebietsschema anzeigen

$ locale LANG=de_DE.UTF-8 SPRACHE= 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= $ --

Bitte beachten Sie, dass andere Linux-Distributionen als Debian GNU/Linux möglicherweise zusätzliche Umgebungsvariablen verwenden, die oben nicht aufgeführt sind. Die einzelnen Variablen haben folgende Bedeutung:

Verfügbare Gebietsschemas auflisten

Als Nächstes können Sie die verfügbaren Gebietsschemas auf Ihrem System mit dem Befehl locale zusammen mit der Option -a . auflisten. -a steht für -all-locales:

Listing 3: Verfügbare Gebietsschemas anzeigen

$ Gebietsschema -a C C.UTF-8 de_DE@euro de_DE.utf8 de_DE.utf8 POSIX $ --

Listing 3 enthält zwei Gebietsschemaeinstellungen für Deutsch (Deutschland) und Englisch (USA). Die drei Einträge C, C.UTF-8 und POSIX sind synonym und stellen die Standardeinstellungen dar, die für Daten geeignet sind, die von einem Computerprogramm geparst werden. Die Ausgabe in Listing 3 basiert auf der Liste der unterstützten Gebietsschemas, die in /usr/share/i18n/SUPPORTED . gespeichert sind.

Darüber hinaus führt das Hinzufügen der Option -v (kurz für -verbose) zum Aufruf zu einer viel umfangreicheren Ausgabe, die die LC_IDENTIFICATION-Metadaten zu jedem Gebietsschema enthält. Abbildung 1 zeigt dies für den Anruf aus Listing 3.

Um zu sehen, welche Locales bereits existieren und welche noch weitere Hilfe benötigen, können Sie auch einen Blick auf die Karte des Locale Helper Project [20] werfen. Rote Markierungen zeigen deutlich, welche Schauplätze unvollendet sind. Abbildung 2 zeigt die Gebietsschemas für Südafrika, die ziemlich vollständig aussehen.

Verfügbare Zeichentabellen anzeigen

Der locale-Befehl enthält die Option -m, die für -charmaps steht. Die Ausgabe zeigt die verfügbaren Zeichentabellen oder Zeichensatzbeschreibungsdateien an [16]. Eine solche Datei soll „Eigenschaften für den codierten Zeichensatz und die Codierung für die in Portable Character Set spezifizierten Zeichen definieren und kann die Codierung für zusätzliche Zeichen definieren, die von der Implementierung unterstützt werden“ [16]. Listing 4 illustriert dies mit einem Auszug der gesamten Liste.

Listing 4: Zeichensatzbeschreibungsdateien

$ locale -m ANSI_X3.110-1983 ANSI_X3.4-1968 ARMSCII-8 ASMO_449 BIG5 BIG5-HKSCS… $ --

Zeigen Sie die Definitionen von Gebietsschemavariablen an

Jede Variable, die für ein Gebietsschema verwendet wird, hat ihre eigene Definition. Mit der Option -k (kurz für -keyword-name) zeigt der locale-Befehl diese Einstellung im Detail an. Listing 5 veranschaulicht dies für die Variable LC_TELEPHONE, wie sie in einer deutschen Umgebung definiert ist - das Rufnummernformat, das Inlandstelefonformat, die internationale Vorwahl sowie die Ländervorwahl (internationale Vorwahl) und der Codesatz. Eine detaillierte Beschreibung der Werte finden Sie im Locale Helper Project [20].

Listing 5: Die Details von LC_TELEPHONE

$ locale -k LC_TELEPHONE tel_int_fmt=“+%c %a %l“ tel_dom_fmt=“%A %l“
int_select=“00“ int_prefix=“49“ Telefon-Codeset=“UTF-8“ $ --

Ändern des aktuellen Gebietsschemas

Das Wissen über das Gebietsschema wird notwendig, sobald Sie ein System betreiben, das mit einem anderen Gebietsschema als Sie es gewohnt sind - zum Beispiel auf einem Linux-Live-System. Das Ändern des Gebietsschemas kann auf zwei Arten erfolgen: Neukonfigurieren des Debian-Locales-Pakets [19] und Hinzufügen des erforderlichen Gebietsschemas mit dem Befehl locale-gen. Bei Option eins wird durch Ausführen des folgenden Befehls ein textbasierter Konfigurationsdialog geöffnet, der in Abbildung 3 gezeigt wird:

# dpkg-Gebietsschemas neu konfigurieren

Drücken Sie die Leertaste, um das/die gewünschte(n) Gebietsschema(s) aus der im Dialogfeld angezeigten Liste auszuwählen, und wählen Sie „OK“, um Ihre Auswahl zu bestätigen. Das nächste Dialogfenster bietet Ihnen eine Liste von Gebietsschemas, die für das Standardgebietsschema verfügbar sind. Wählen Sie das gewünschte aus und wählen Sie „OK“. Nun werden die entsprechenden Locale-Dateien generiert und das zuvor ausgewählte Locale für Ihr System eingestellt.

Bei Option zwei erfolgt die Generierung des gewünschten Gebietsschemas mit Hilfe des Befehls locale-gen. Listing 6 veranschaulicht dies für ein französisches Setup:

Listing 6: Generieren eines französischen Gebietsschemas

locale-gen fr_FR.UTF-8
Generieren von Gebietsschemas… fr_FR.UTF-8… fertig Generierung abgeschlossen. # --

Um das zuvor generierte Gebietsschema als Standard zu verwenden, führen Sie den Befehl in Listing 7 aus, um es richtig einzurichten:

Listing 7: Manuelles Festlegen des Gebietsschemas

# update-locale LANG=fr_FR.UTF-8

Sobald Sie eine neue Terminalsitzung öffnen oder sich erneut bei Ihrem System anmelden, werden die Änderungen aktiviert.

Kompilieren Sie eine Gebietsschema-Definitionsdatei

Der Befehl localectl hilft Ihnen beim manuellen Kompilieren einer Gebietsschema-Definitionsdatei. Um eine französische Einstellung zu erstellen, führen Sie den Befehl wie folgt aus:

Listing 8: Kompilieren einer Gebietsschemadefinition

# localedef -i fr_FR -f UTF-8 fr_FR.UTF-8

Fazit

Das Verständnis von Gebietsschemata kann eine Weile dauern, da es sich um eine Einrichtung handelt, die von mehreren Faktoren beeinflusst wird. Wir haben erklärt, wie Sie Ihr aktuelles Gebietsschema ermitteln und richtig ändern können. Die Anpassung des Linux-Systems an Ihre Bedürfnisse sollte von nun an für Sie viel einfacher sein.

Links und Referenzen
HD-Remastered-Spiele für Linux, die noch nie zuvor eine Linux-Version hatten
Viele Spieleentwickler und -herausgeber entwickeln HD-Remaster alter Spiele, um die Lebensdauer des Franchise zu verlängern. Bitte Fans, die Kompatibi...
So verwenden Sie AutoKey zur Automatisierung von Linux-Spielen
AutoKey ist ein Desktop-Automatisierungsdienstprogramm für Linux und X11, programmiert in Python 3, GTK und Qt. Mithilfe der Skript- und MACRO-Funktio...
So zeigen Sie den FPS-Zähler in Linux-Spielen an
Linux-Gaming bekam einen großen Schub, als Valve 2012 die Linux-Unterstützung für den Steam-Client und seine Spiele ankündigte. Seitdem haben viele AA...