Arch Linux auf Deutsch stellen: Unterschied zwischen den Versionen
Boenki (Diskussion | Beiträge) K Die Einleitung braucht keine Überschrift |
Dirk (Diskussion | Beiträge) K en_DK gemäß Diskussion raus - wer es spezifizieren will, wird schon wissen was zu tun ist ... |
||
(26 dazwischenliegende Versionen von 12 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Hier wird beschrieben, wie man unter Arch Linux ein auf UTF-8 basierendes System mit deutschem Tastaturlayout erhält. | Hier wird beschrieben, wie man unter Arch Linux ein auf UTF-8 basierendes System mit deutschem Tastaturlayout erhält. Die folgenden Arbeiten müssen als root ausgeführt werden! Wichtig: ALLE Schritte müssen gemacht werden. | ||
== | == Grundkonfiguration== | ||
=== Deutsches Deutsch === | |||
echo LANG=de_DE.UTF-8 > /etc/locale.conf | echo LANG=de_DE.UTF-8 > /etc/locale.conf | ||
echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf | echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf | ||
ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime | ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime | ||
Wenn Akzent-Zeichen wie {{ic|é}}, {{ic|è}}, {{ic|â}} benutzt und z. B. aus {{taste|'}} und {{taste|E}} zusammengesetzt werden sollen, muss {{ic|1=KEYMAP="de-latin1"}} verwendet werden. | |||
=== Schweizerisches Deutsch === | |||
Für ein System, das auf „schweizerischem Deutsch“ betrieben werden soll, sind geringfügig andere Optionen nötig. | |||
echo LANG=de_CH.UTF-8 > /etc/locale.conf | echo LANG=de_CH.UTF-8 > /etc/locale.conf | ||
echo KEYMAP=de_CH-latin1 > /etc/vconsole.conf | |||
ln -s /usr/share/zoneinfo/Europe/Zurich /etc/localtime | |||
=== Österreichisches Deutsch === | |||
Österreichische Systeme werden analog dazu wie folgt konfiguriert. | |||
echo LANG=de_AT.UTF-8 > /etc/locale.conf | echo LANG=de_AT.UTF-8 > /etc/locale.conf | ||
echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf | echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf | ||
ln -s /usr/share/zoneinfo/Europe/Vienna /etc/localtime | ln -s /usr/share/zoneinfo/Europe/Vienna /etc/localtime | ||
Im Beispiel mit deutschem Tastaturlayout. | |||
Für alle Varianten: Falls die Tastatureinstellung durch direktes Schreiben der Datei <code>/etc/vconsole</code> nicht funktioniert, mit dem Befehl <code>localectl</code> versuchen (siehe weiter unten). | |||
Hardwareuhr auf | == Hardwareuhr == | ||
Die Hardwareuhr sollte auf die UTC Zeit eingestellt sein, ansonsten könnte es unter Umständen zu Problemen mit Programmen kommen, die als Grundlage die Hardwareuhr verwenden, und UTC voraussetzen. | |||
timedatectl set-local-rtc 0 | timedatectl set-local-rtc 0 | ||
Die lokale Uhrzeit wird anhand der Zeitzonenangabe (siehe vorheriger Abschnitt) aus der UTC-Zeit berechnet. | |||
===/etc/locale.gen | == Locales == | ||
Damit die [[Locale]]s auch verwendet werden können, müssen diese noch generiert werden. Die gewünschten Locales werden in der Datei {{ic|/etc/locale.gen}} aktiviert. In der Datei befinden sich alle generierbaren Locales. Vor den gewünschten Angaben muss das Kommentarzeichen entfernt werden. | |||
de_DE.UTF-8 UTF-8 # Für Deutschland | |||
de_CH.UTF-8 UTF-8 # Für die Schweiz | |||
de_AT.UTF-8 UTF-8 # Für Österreich | |||
=== Generieren === | |||
Nach der Konfiguration werden die Locales dann generiert. | |||
{{hc|locale-gen| | |||
Generating locales... | |||
de_DE.UTF-8... done | |||
Generation complete.}} | |||
Spätestens nach einem Neustart ergibt sich beim Überprüfen nun folgendes Bild. | |||
{{hc|1=locale|2= | |||
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=}} | |||
Das Setzen der LC-Variablen kann systemweit in {{ic|/etc/locale.conf}}, oder useraccountbezogen in {{ic|~/.config/locale.conf}} vorgenommen werden. | |||
export LC_DATE=de_DE.utf8 | |||
export LC_NUMERIC=de_DE.utf8 | |||
export LC_TIME=de_DE.utf8 | |||
export LANG=de_DE.utf8 | |||
Nach Änderungen sollte man sich zumindest einmal ab- und wieder anmelden. | |||
== X.org == | |||
[[X]] nutzt [[udev]] zur Erkennung von Eingabegeräten. Diese können unter {{ic|/etc/X11/xorg.conf.d/}} konfiguriert werden. Ein deutsches Tastaturlayout wird für alle angeschlossenen Tastaturen mit dem Anlegen der Datei {{ic|/etc/X11/xorg.conf.d/00-keyboard.conf}} definiert. | |||
Section "InputClass" | Section "InputClass" | ||
Identifier "keyboard" | Identifier "system-keyboard" | ||
MatchIsKeyboard " | MatchIsKeyboard "on" | ||
Option "XkbLayout" "de" | Option "XkbLayout" "de" | ||
Option "XkbVariant" " | Option "XkbVariant" "deadgraveacute" | ||
EndSection | EndSection | ||
Das Schweizer Layout erreicht man mittels {{ic|Option "XkbLayout" "ch"}}. Bei Verwendung einer Tastatur mit Deutschem Layout kann man {{ic|Option "XkbVariant" "de"}} belassen. | |||
Mit der {{ic|Option "XkbVariant" "deadgraveacute"}} werden nur die Gravis ({{ic|`}}) und Akut ({{ic|´}}) Taste als "dead key" behandelt und der Zirkumflex ({{ic|^}}) nicht. Bei einem "dead key" wird erst einen Tastendruck später ein Buchstabe erstellt, womit man {{ic|Café}} anstatt {{ic|Caf´e}} schreibt. | |||
Anschließend muss X neugestartet werden. | Anschließend muss X neugestartet werden. | ||
== localectl == | |||
Anstatt die Konfigurationsdateien manuell zu bearbeiten, kann auch {{ic|localectl}} genutzt werden. | |||
=== Aktuelle Einstellungen anzeigen === | |||
{{hc|localectl status|2= | |||
System Locale: LANG=de_DE.UTF-8 | |||
LANGUAGE=de_DE | |||
VC Keymap: de-latin1-nodeadkeys | |||
X11 Layout: de | |||
X11 Model: pc105 | |||
X11 Variant: nodeadkeys}} | |||
=== Tastaturlayout einstellen === | |||
==== Deutsches Deutsch ==== | |||
localectl --no-convert set-keymap de-latin1-nodeadkeys | |||
localectl --no-convert set-x11-keymap de pc105 deadgraveacute | |||
==== Schweizer Deutsch ==== | |||
Es scheint, dass die Untersektion {{ic|de_sundeadkeys}} aus dem {{ic|ch}} Key-Mapping mit Update vom 17.02.2021 entfernt wurde. Der bisherige {{ic|localectl}} Befehl meldet: | |||
Failed to set keymap: Specified keymap cannot be compiled, refusing as invalid. | |||
Nachfolgend die aktuellen Befehle: | |||
localectl --no-convert set-keymap de_CH-latin1 | |||
localectl --no-convert set-x11-keymap ch pc106 | |||
Allerdings hat das Key-Mapping (nach wie vor?) den Fehler, dass {{ic|AltGr}}{{ic|-1}} einen Bar (|) anstatt des Broken-Bars (¦) produziert. | |||
Die Einstellungen werden in {{ic|/etc/vconsole.conf}} und {{ic|/etc/X11/xorg.conf.d/00-keyboard.conf}} gespeichert. Manuelle Änderungen an diesen Dateien werden beim nächsten Aufruf von localectl überschrieben. | |||
Die Option {{ic|--no-convert}} verhindert, dass set-keymap auch das Xorg Layout ändert. Beziehungsweise set-x11-keymap das Layout für die Konsole. Mehr Optionen {{ic|man localectl}}. | |||
==Siehe auch== | ==Siehe auch== | ||
* [[ | * [[Xorg]] | ||
* [https:// | * [[Locale]] | ||
== Weblinks == | |||
* {{wikipedia|ISO_8601|ISO 8601 im Detail}} {{sprache|de}} | |||
* [https://lh.2xlibre.net/locale/de_DE/ ''Locale Helper'' über {{ic|de_DE}}] {{sprache|en}} | |||
[[Kategorie: | [[Kategorie:Konfiguration]] |
Aktuelle Version vom 9. Juli 2021, 09:13 Uhr
Hier wird beschrieben, wie man unter Arch Linux ein auf UTF-8 basierendes System mit deutschem Tastaturlayout erhält. Die folgenden Arbeiten müssen als root ausgeführt werden! Wichtig: ALLE Schritte müssen gemacht werden.
Grundkonfiguration
Deutsches Deutsch
echo LANG=de_DE.UTF-8 > /etc/locale.conf echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
Wenn Akzent-Zeichen wie é
, è
, â
benutzt und z. B. aus ' und E zusammengesetzt werden sollen, muss KEYMAP="de-latin1"
verwendet werden.
Schweizerisches Deutsch
Für ein System, das auf „schweizerischem Deutsch“ betrieben werden soll, sind geringfügig andere Optionen nötig.
echo LANG=de_CH.UTF-8 > /etc/locale.conf echo KEYMAP=de_CH-latin1 > /etc/vconsole.conf ln -s /usr/share/zoneinfo/Europe/Zurich /etc/localtime
Österreichisches Deutsch
Österreichische Systeme werden analog dazu wie folgt konfiguriert.
echo LANG=de_AT.UTF-8 > /etc/locale.conf echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf ln -s /usr/share/zoneinfo/Europe/Vienna /etc/localtime
Im Beispiel mit deutschem Tastaturlayout.
Für alle Varianten: Falls die Tastatureinstellung durch direktes Schreiben der Datei /etc/vconsole
nicht funktioniert, mit dem Befehl localectl
versuchen (siehe weiter unten).
Hardwareuhr
Die Hardwareuhr sollte auf die UTC Zeit eingestellt sein, ansonsten könnte es unter Umständen zu Problemen mit Programmen kommen, die als Grundlage die Hardwareuhr verwenden, und UTC voraussetzen.
timedatectl set-local-rtc 0
Die lokale Uhrzeit wird anhand der Zeitzonenangabe (siehe vorheriger Abschnitt) aus der UTC-Zeit berechnet.
Locales
Damit die Locales auch verwendet werden können, müssen diese noch generiert werden. Die gewünschten Locales werden in der Datei /etc/locale.gen
aktiviert. In der Datei befinden sich alle generierbaren Locales. Vor den gewünschten Angaben muss das Kommentarzeichen entfernt werden.
de_DE.UTF-8 UTF-8 # Für Deutschland de_CH.UTF-8 UTF-8 # Für die Schweiz de_AT.UTF-8 UTF-8 # Für Österreich
Generieren
Nach der Konfiguration werden die Locales dann generiert.
locale-gen
Generating locales... de_DE.UTF-8... done Generation complete.
Spätestens nach einem Neustart ergibt sich beim Überprüfen nun folgendes Bild.
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=
Das Setzen der LC-Variablen kann systemweit in /etc/locale.conf
, oder useraccountbezogen in ~/.config/locale.conf
vorgenommen werden.
export LC_DATE=de_DE.utf8 export LC_NUMERIC=de_DE.utf8 export LC_TIME=de_DE.utf8 export LANG=de_DE.utf8
Nach Änderungen sollte man sich zumindest einmal ab- und wieder anmelden.
X.org
X nutzt udev zur Erkennung von Eingabegeräten. Diese können unter /etc/X11/xorg.conf.d/
konfiguriert werden. Ein deutsches Tastaturlayout wird für alle angeschlossenen Tastaturen mit dem Anlegen der Datei /etc/X11/xorg.conf.d/00-keyboard.conf
definiert.
Section "InputClass" Identifier "system-keyboard" MatchIsKeyboard "on" Option "XkbLayout" "de" Option "XkbVariant" "deadgraveacute" EndSection
Das Schweizer Layout erreicht man mittels Option "XkbLayout" "ch"
. Bei Verwendung einer Tastatur mit Deutschem Layout kann man Option "XkbVariant" "de"
belassen.
Mit der Option "XkbVariant" "deadgraveacute"
werden nur die Gravis (`
) und Akut (´
) Taste als "dead key" behandelt und der Zirkumflex (^
) nicht. Bei einem "dead key" wird erst einen Tastendruck später ein Buchstabe erstellt, womit man Café
anstatt Caf´e
schreibt.
Anschließend muss X neugestartet werden.
localectl
Anstatt die Konfigurationsdateien manuell zu bearbeiten, kann auch localectl
genutzt werden.
Aktuelle Einstellungen anzeigen
localectl status
System Locale: LANG=de_DE.UTF-8 LANGUAGE=de_DE VC Keymap: de-latin1-nodeadkeys X11 Layout: de X11 Model: pc105 X11 Variant: nodeadkeys
Tastaturlayout einstellen
Deutsches Deutsch
localectl --no-convert set-keymap de-latin1-nodeadkeys
localectl --no-convert set-x11-keymap de pc105 deadgraveacute
Schweizer Deutsch
Es scheint, dass die Untersektion de_sundeadkeys
aus dem ch
Key-Mapping mit Update vom 17.02.2021 entfernt wurde. Der bisherige localectl
Befehl meldet:
Failed to set keymap: Specified keymap cannot be compiled, refusing as invalid.
Nachfolgend die aktuellen Befehle:
localectl --no-convert set-keymap de_CH-latin1
localectl --no-convert set-x11-keymap ch pc106
Allerdings hat das Key-Mapping (nach wie vor?) den Fehler, dass AltGr
-1
einen Bar (|) anstatt des Broken-Bars (¦) produziert.
Die Einstellungen werden in /etc/vconsole.conf
und /etc/X11/xorg.conf.d/00-keyboard.conf
gespeichert. Manuelle Änderungen an diesen Dateien werden beim nächsten Aufruf von localectl überschrieben.
Die Option --no-convert
verhindert, dass set-keymap auch das Xorg Layout ändert. Beziehungsweise set-x11-keymap das Layout für die Konsole. Mehr Optionen man localectl
.