staging.inyokaproject.org

systemd/localectl

Status: Ungelöst | Ubuntu-Version: Xubuntu 16.04 (Xenial Xerus)
Antworten |
Dieses Thema ist die Diskussion des Artikels systemd/localectl.

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

Ich bin ursprünglich darüber gestolpert, dass im Gegensatz zu anderen Distributionen, die nicht so viel am Systemd-Paket herumpatchen wie Debian/Ubuntu, localed die /etc/X11/xorg.conf.d/00-keyboard.conf nicht anlegt und man daher mit localectl leider nicht bequem die Keyboard-Konfiguration für den X-Server erzeugen kann.

Außerdem kann wie man im Patch sehen kann durch localed eine selbst angelegte /etc/locale.conf überschrieben werden, wenn sie existiert - das kannst du z.B. so ausprobieren:

$ echo "# TEST" | sudo tee /etc/locale.conf
$ sudo localectl set-locale "LANG=de_DE.utf8"
$ cat /etc/locale.conf 
LANG=de_DE.utf8 

Dabei ist mir gerade auch noch aufgefallen, dass in der Tabelle mit den Argumenten für localectl ein paar Leerzeichen um die Gleichheitszeichen reingerutscht sind, die zu einer Fehlermeldung führen, wenn man das so übernimmt:

Legt das Systemgebietsschema fest. Eine oder mehrere Zuordnungen wie "LANG = de_DE.utf8" und/oder "LC_MESSAGES = de_DE.utf8".

$ sudo localectl set-locale "LANG = de_DE.utf8"
Failed to issue method call: Invalid Locale data. 

Es ist nicht ganz leicht die Besonderheiten, die durch den Patch entstehen in einen kurzen Hinweis zu packen, aber vielleicht geht es so:

Hinweis:

Beim Setzen von Einstellungen über localectl können die Dateien /etc/vconsole.conf, /etc/default/keyboard sowie die /etc/locale.conf - falls die Datei existiert - bzw. die /etc/default/locale überschrieben werden.

Da localed für Ubuntu durch Patches angepasst wurde, wird im Gegensatz zum Upstream-Verhalten keine /etc/X11/xorg.conf.d/00-keyboard.conf generiert. Wenn der X-Server ohne Hilfsprogramme gestartet wird, die die /etc/default/keyboard berücksichtigen, muss diese Datei bei Bedarf von Hand angelegt werden (die Syntax wird in Spracheinstellungen (Abschnitt „Kommandozeile“) umrissen), um das Tastaturlayout des X-Servers festzulegen.

Ich weiß nicht, ob man noch erwähnen sollte, dass es mit dpkg-reconfigure locales|keyboard-configuration|console-setup bestehende Konfigurationsmöglichkeiten gibt, die z.T. auch gleich noch das initramfs anpassen.

picnerd

(Themenstarter)
Avatar von picnerd

Anmeldungsdatum:
17. März 2016

Beiträge: 872

seahawk1986 schrieb:

Ich bin ursprünglich darüber gestolpert, dass im Gegensatz zu anderen Distributionen, die nicht so viel am Systemd-Paket herumpatchen wie Debian/Ubuntu, localed die /etc/X11/xorg.conf.d/00-keyboard.conf nicht anlegt und man daher mit localectl leider nicht bequem die Keyboard-Konfiguration für den X-Server erzeugen kann.

Außerdem kann wie man im Patch sehen kann durch localed eine selbst angelegte /etc/locale.conf überschrieben werden, wenn sie existiert - das kannst du z.B. so ausprobieren:

$ echo "# TEST" | sudo tee /etc/locale.conf
$ sudo localectl set-locale "LANG=de_DE.utf8"
$ cat /etc/locale.conf 
LANG=de_DE.utf8 

Gut das du das getestet hast. Ich habe deinen Auszug aus dem Patch nämlich so verstanden das die /etc/locale.conf für manuelle Änderungen vorgesehen ist wen man sie denn erstellt. Das diese bei Aufruf localectl überschrieben wird ist ja das normale Verhalten. Deswegen ja die Hinweisbox. Früher wurde ja die /etc/X11/xorg.conf.d/00-keyboard.conf dafür hergenommen um manuelle Veränderungen zu tätigen. Das haben wir mal im Forum irgendwo mal angesprochen dass diese ja jetzt schon ignoriert wird. Ich habe es aber der Vollständigkeit halber mit rein geschrieben.

Dabei ist mir gerade auch noch aufgefallen, dass in der Tabelle mit den Argumenten für localectl ein paar Leerzeichen um die Gleichheitszeichen reingerutscht sind, die zu einer Fehlermeldung führen, wenn man das so übernimmt:

Legt das Systemgebietsschema fest. Eine oder mehrere Zuordnungen wie "LANG = de_DE.utf8" und/oder "LC_MESSAGES = de_DE.utf8".

$ sudo localectl set-locale "LANG = de_DE.utf8"
Failed to issue method call: Invalid Locale data. 

Geändert. 👍

Es ist nicht ganz leicht die Besonderheiten, die durch den Patch entstehen in einen kurzen Hinweis zu packen, aber vielleicht geht es so:

Hinweis:

Beim Setzen von Einstellungen über localectl können die Dateien /etc/vconsole.conf, /etc/default/keyboard sowie die /etc/locale.conf - falls die Datei existiert - bzw. die /etc/default/locale überschrieben werden.

Da localed für Ubuntu durch Patches angepasst wurde, wird im Gegensatz zum Upstream-Verhalten keine /etc/X11/xorg.conf.d/00-keyboard.conf generiert. Wenn der X-Server ohne Hilfsprogramme gestartet wird, die die /etc/default/keyboard berücksichtigen, muss diese Datei bei Bedarf von Hand angelegt werden (die Syntax wird in Spracheinstellungen (Abschnitt „Kommandozeile“) umrissen), um das Tastaturlayout des X-Servers festzulegen.

Habe ich mal so übernommen. Obwohl ich mich mit dem Begriff „Upstream-Verhalten" schwer tue. Gemeint ist wohl damit, das im Gegensatz zu anderen Distris mit Systemd, keine solche Datei erstellt wird und somit Ubuntu sein eigenes Süppchen kocht. 😈

Ich weiß nicht, ob man noch erwähnen sollte, dass es mit dpkg-reconfigure locales|keyboard-configuration|console-setup bestehende Konfigurationsmöglichkeiten gibt, die z.T. auch gleich noch das initramfs anpassen.

Weitere solcher Befehle haben wir ja schon in Spracheinstellungen. Könnte man ja dann dort hinzufügen. Der Artikel localectl soll eigentlich auch nur von da aus verlinkt werden als Erweiterung von Spracheinstellungen und als Unterartikel von Systemd.

mfg

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 10978

picnerd schrieb:

Obwohl ich mich mit dem Begriff „Upstream-Verhalten" schwer tue.

Wenn du eine schönere deutsche Entsprechung findest, habe ich nichts dagegen ☺

Gemeint ist wohl damit, das im Gegensatz zu anderen Distris mit Systemd, keine solche Datei erstellt wird und somit Ubuntu sein eigenes Süppchen kocht. 😈

Ich nutze den Begriff Upstream in der Bedeutung, wie es z.B. Fedora macht:

In free and open source projects, the upstream of a program or set of programs is the project that develops those programs.

Der Upstream-Stand von systemd ist also systemd/systemd (bzw. systemd/systemd-stable) - wenn man das übernimmt, bekommt man das von den Systemd-Entwicklern vorgesehene und in der auf der Projektwebsite verfügbaren Dokumentation beschriebene Verhalten. Bei Ubuntu bekommt man eine recht kräftig gepatchte Version von Systemd, die (neben den obligatorischen zurückportierten Sicherheitspatches und Bugfixes) eine Reihe von Anpassungen enthält (deren Folgen leider nicht immer in den Manpages auftauchen).

picnerd

(Themenstarter)
Avatar von picnerd

Anmeldungsdatum:
17. März 2016

Beiträge: 872

seahawk1986 schrieb:

Der Upstream-Stand von systemd ist also systemd/systemd (bzw. systemd/systemd-stable) - wenn man das übernimmt, bekommt man das von den Systemd-Entwicklern vorgesehene und in der auf der Projektwebsite verfügbaren Dokumentation beschriebene Verhalten. Bei Ubuntu bekommt man eine recht kräftig gepatchte Version von Systemd, die (neben den obligatorischen zurückportierten Sicherheitspatches und Bugfixes) eine Reihe von Anpassungen enthält (deren Folgen leider nicht immer in den Manpages auftauchen).

Ja, du bist ein Fuchs. 😀 Man sollte sich aber schon auf die Manpages verlassen können. Man kann ja auch nicht immer an alle Eventualitäten beim erstellen eines Wiki-Eintrages denken. Da macht einen Canonical das Leben dann auch ein wenig schwer auch wenn sie es ja nur gut mit uns meinen. 😈

Grundsätzlich finde ich Systemd gut und Benutzerfeundlich wenn man den Zeitaufwand fürs lesen der Manpages in Kauf nimmt. Wenn man sich damit beschäftigt kann man sein ganzes Leben auch nur damit verbringen. Das mache ich aber auch nur wenn es Nötig ist weil ich ein Problem habe und das dann Lösen muss ohne immer über die blöde GUI zu arbeiten. Sonst lernt man ja auch nix.

mfg

Antworten |