Arch Linux auf Deutsch stellen: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
K (veraltet entfernt)
(21 dazwischenliegende Versionen von 10 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==Einleitung==
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.


Hier wird beschrieben, wie man unter Arch Linux ein auf UTF-8 basierendes System mit deutschem Tastaturlayout erhält.
== Grundkonfiguration==
 
=== Deutsches Deutsch ===
==Konfiguration==
 
Die folgenden Arbeiten müssen als root ausgeführt werden! Wichtig: ALLE Schritte müssen gemacht werden.
  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-nodeadkey > /etc/vconsole.conf
 
  ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime
  ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime


* Bezüglich "nodeadkeys": Wenn Zeichen wie é, è, â oder ähnliche benutzt werden sollen, dann schreibe als KEYMAP="de-latin1".<br>
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.


Diese Einstellungen sollten für Deutschland gesetzt werden. Für die Schweiz und Österreich gibt es minimale Änderungen.
=== Schweizerisches Deutsch ===
 
Für ein System, das auf „schweizerischem Deutsch“ betrieben werden soll, sind geringfügig andere Optionen nötig.
 
'''Schweiz'''


  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


echo KEYMAP=sg-latin1 > /etc/vconsole.conf
=== Österreichisches Deutsch ===
Österreichische Systeme werden analog dazu wie folgt konfiguriert.


ln -s /usr/share/zoneinfo/Europe/Zurich /etc/localtime
'''Österreich'''
  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
ln -s /usr/share/zoneinfo/Europe/Vienna /etc/localtime


echo KEYMAP=de-latin1-nodeadkey > /etc/vconsole.conf
Im Beispiel mit deutschem Tastaturlayout.
 
ln -s /usr/share/zoneinfo/Europe/Vienna /etc/localtime


=== Hardwareuhr ===
== Hardwareuhr ==
Die Hardwareuhr sollte auf die UTC Zeit eingestellt sein, ansonsten könnte es unter Umständen zu Problemen kommen.
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.


anzeigen lassen auf welche Zeit die Hardwareuhr eingestellt ist.
  timedatectl set-local-rtc 0
  timedatectl status | grep local


Hardwareuhr auf localtime stellen
Die lokale Uhrzeit wird anhand der Zeitzonenangabe (siehe vorheriger Abschnitt) aus der UTC-Zeit berechnet.
timedatectl set-local-rtc 1


und auf UTC:
== Locales ==
timedatectl set-local-rtc 0
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


===/etc/locale.gen===
=== Standardkonforme Angaben ===
Es bietet sich zusätzlich noch an, die locale {{ic|en_DK.UTF-8}} zu aktivieren. Diese Lokale bietet „Dänisches Englisch“, beziehungsweise genau genommen folgende Eigenschaften, basierend auf den Daten des ''Dansk Standardiseringsraad'' (Dänisches Normierungsinstitut), die ISO-Standards für den IT-Bereich bereitstellen:


/etc/locale.gen wieder in einem Editor öffnen, nun alles auskommentieren und das Kommentierungszeichen (#) vor dem gewünschten Identifer entfernen. In unserem Fall wäre das:
* Metrisches Maßeinheitensystem
* In Europa gängige Datums- und Zahlenformatierung
** 24-Stunden-Datumsformat
** Die Woche startet mit Montag statt Sonntag
** Datum im ISO-8601-Format (JJJJ-MM-TT), bzw. Kurzformat TT.MM.JJ
** Punkt als Tausendertrennzeichen, Komma als Dezimaltrennzeichen
* Papiergröße A4
* Euro als Währung
* Berücksichtigung der europäischen Namenskonventionen


  ...
=== Generieren ===
  de_DE.UTF-8    UTF-8
Nach der Konfiguration werden die Locales dann generiert.
  de_DE  ISO-8859-1
  de_DE@euro      ISO-8859-15
  ...


Wiederum für die Schweiz
{{hc|locale-gen|
Generating locales...
de_DE.UTF-8... done
en_DK.UTF-8... done
Generation complete.}}


  ...
Spätestens nach einem Neustart ergibt sich beim Überprüfen nun folgendes Bild.
  de_CH.UTF-8    UTF-8
  de_CH  ISO-8859-1
  de_DE@euro      ISO-8859-15
  ...


Es empfiehlt sich immer alle, z.B. de_DE, resp. de_CH Locales zu aktivieren, um mögliche Probleme zu vermeiden.
{{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=}}


Nun führt man den Befehl "locale-gen" aus
Das Setzen der LC-Variablen kann systemweit in {{ic|/etc/locale.conf}}, oder useraccountbezogen in {{ic|~/.config/locale.conf}} vorgenommen werden.


  [root@Arch niclas]# locale-gen
export LC_DATE=en_DK.utf8
  Generating locales...
export LC_NUMERIC=en_DK.utf8
  de_DE.UTF-8... done
export LC_TIME=en_DK.utf8
  de_DE.ISO-8859-1... done
export LANG=de_DE.utf8
  de_DE.ISO-8859-15@euro... done
  Generation complete.


So in etwa sollte der Output aussehen. Nun neustarten und das System sollte nun auf UTF-8 laufen.
Hier werden Datum, Zahlenangaben und die Uhrzeit gemäß en_DK verwendet, und die Systemsprache generell auf Deutsch umgestellt. Nach Änderungen sollte man sich zumindest einmal ab- und wieder anmelden.


Nach Eingabe von ''locale'' und einem Neustart des Rechners sollte dann folgendes erscheinen, schweizerdeutsche Version ähnlich:
== X.org ==
LANG=de_DE.UTF-8
[[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/20-keyboard.conf}} definiert.
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=


===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/20-keyboard.conf''
  Section "InputClass"
  Section "InputClass"
         Identifier "keyboard"
         Identifier "keyboard"
Zeile 101: Zeile 97:
         Option "XkbVariant" "nodeadkeys"
         Option "XkbVariant" "nodeadkeys"
  EndSection
  EndSection
eingestellt. Schweizer Layout:
 
        Option "XkbLayout" "ch"
Das Schweizer Layout erreicht man mittels {{ic|Option "XkbLayout" "ch"}}. Bei Verwendung einer Tastatur mit Deutschem Layout kann man {{ic|Option "XkbVariant" "de"}} belassen.
        Option "XkbVariant" "de"


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 ===
localectl --no-convert set-keymap de-latin1-nodeadkeys
localectl --no-convert set-x11-keymap de pc105 nodeadkeys
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]]
* [[Xorg]]
* [https://wiki.archlinux.de/title/Anleitung_f%C3%BCr_Einsteiger#Deutsches_Tastaturlayout_einstellen Deutsches Tastaturlayout mit evdev konfigurieren]
* [[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:Lokalisation]]
[[Kategorie:Konfiguration]]

Version vom 17. Juni 2020, 09:10 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.

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

Standardkonforme Angaben

Es bietet sich zusätzlich noch an, die locale en_DK.UTF-8 zu aktivieren. Diese Lokale bietet „Dänisches Englisch“, beziehungsweise genau genommen folgende Eigenschaften, basierend auf den Daten des Dansk Standardiseringsraad (Dänisches Normierungsinstitut), die ISO-Standards für den IT-Bereich bereitstellen:

  • Metrisches Maßeinheitensystem
  • In Europa gängige Datums- und Zahlenformatierung
    • 24-Stunden-Datumsformat
    • Die Woche startet mit Montag statt Sonntag
    • Datum im ISO-8601-Format (JJJJ-MM-TT), bzw. Kurzformat TT.MM.JJ
    • Punkt als Tausendertrennzeichen, Komma als Dezimaltrennzeichen
  • Papiergröße A4
  • Euro als Währung
  • Berücksichtigung der europäischen Namenskonventionen

Generieren

Nach der Konfiguration werden die Locales dann generiert.

locale-gen
Generating locales...
de_DE.UTF-8... done
en_DK.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=en_DK.utf8
export LC_NUMERIC=en_DK.utf8
export LC_TIME=en_DK.utf8
export LANG=de_DE.utf8

Hier werden Datum, Zahlenangaben und die Uhrzeit gemäß en_DK verwendet, und die Systemsprache generell auf Deutsch umgestellt. 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/20-keyboard.conf definiert.

Section "InputClass"
        Identifier "keyboard"
        MatchIsKeyboard "yes"
        Option "XkbLayout" "de"
        Option "XkbVariant" "nodeadkeys"
EndSection

Das Schweizer Layout erreicht man mittels Option "XkbLayout" "ch". Bei Verwendung einer Tastatur mit Deutschem Layout kann man Option "XkbVariant" "de" belassen.

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

localectl --no-convert set-keymap de-latin1-nodeadkeys
localectl --no-convert set-x11-keymap de pc105 nodeadkeys

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.

Siehe auch

Weblinks