BESCHREIBUNG¶
localectl kann zur Abfrage und zur Änderung der
Einstellungen der System-Locale und der Tastaturbelegung verwandt werden. Es
kommuniziert mit systemd-localed(8), um Dateien wie /etc/locale.conf
und /etc/vconsole.conf zu verändern.
Die System-Locale steuert die Spracheinstellung der Systemdienste
und der Benutzeroberfläche, bevor sich der Benutzer anmeldet, wie
beim Display Manager, sowie die Vorgabe, nachdem sich Benutzer angemeldet
haben.
Die Tastatureinstellungen steuern die auf der Textkonsole und in
der graphischen Benutzeroberfläche verwandte Tastaturbelegung, bevor
sich der Benutzer anmeldet, wie beim Display Manager, sowie die Vorgabe,
nachdem sich Benutzer angemeldet haben.
Beachten Sie, dass Änderungen, die mit diesem Werkzeug
gemacht wurden, es notwendig machen könnten, dass die Initrd neu
gebaut wird, damit die Änderungen in der frühen
Systemstartphase wirksam werden. Die Initrd wird durch localectl nicht
automatisch neu gebaut. Diese Aufgabe muss manuell durchgeführt
werden, normalerweise durch Neuinstallation des Kernelpakets der
Distribution.
Beachten Sie, dass systemd-firstboot(1) zur Initialisierung
der System-Locale für eingehängte (aber nicht gestartete)
Systemabbilder verwandt werden kann.
BEFEHLE¶
Die folgenden Befehle werden verstanden:
status
Zeigt die aktuellen Einstellungen der System-Locale und
Tastaturzuordnung. Falls kein Befehl angegeben ist, ist dies die implizierte
Vorgabe.
Hinzugefügt in Version 195.
set-locale LOCALE, set-locale
VARIABLE=LOCALE…
Setzt die System-Locale. Dies akzeptiert eine Locale wie
»en_US.UTF-8« oder eine oder mehrere Zuweisungen wie
»LANG=de_DE.utf8«, »LC_MESSAGES=en_GB.utf8« und so
weiter. Falls eine Locale ohne Variablennamen bereitgestellt wird, dann wird
die Locale-Variable »LANG« gesetzt. Siehe
locale(7)
für Details über die verfügbaren Einstellungen und ihrer
Bedeutungen. Verwenden Sie
list-locales für eine Liste der
verfügbaren Locales (siehe unten).
Hinzugefügt in Version 195.
list-locales
Listet für die Konfiguration mit
set-locale
verfügbare Locales auf.
Hinzugefügt in Version 195.
set-keymap ZUORDNUNG [UMSCHALTZUORDNUNG]
Setzt die Systemtastaturzuordnung für die Konsole
und X11. Dies akzeptiert einen Zuordnungsnamen (wie »de« oder
»us«) und möglicherweise einen zweiten, um die
Umschalttastaturzuordnung (Zweitbelegung) zu definieren. Die
ausgewählte Einstellung wird auch als die vorgegebene
Systemtastaturzuordnung von X11 angewandt, nachdem diese zu der passendsten
X11-Tastaturzuordnung umgewandelt wurde, außer
--no-convert wird
übergeben. Verwenden Sie
list-keymaps für eine Liste der
verfügbaren Tastaturzuordnungen (siehe unten).
Hinzugefügt in Version 195.
list-keymaps
Listet verfügbare Tastaturzuordnungen für
die Konsole auf, nützlich für die Konfiguration mit
set-keymap.
Hinzugefügt in Version 195.
set-x11-keymap BELEGUNG [MODEL [VARIANTE [OPTIONEN]]]
Setzt die Standard-Tastaturzuordnung für X11 und
die virtuelle Konsole des Systems. Dies akzeptiert einen
Tastaturzuordnungsnamen (wie »de« oder »us«) und
möglicherweise ein Modell, eine Variante und Optionen, siehe
kbd(4) für Details. Die ausgewählte Einstellung wird auch
als die Systemtastaturzuordnung für die Konsole angewandt, nachdem
diese zu der passendsten Tastaturzuordnung für die Konsole umgewandelt
wurde, außer
--no-convert wird übergeben.
Hinzugefügt in Version 195.
list-x11-keymap-models, list-x11-keymap-layouts,
list-x11-keymap-variants [BELEGUNG],
list-x11-keymap-options
Listet für die Konfiguration mit
set-keymap
verfügbaren Modelle, Belegungen, Varianten und Optionen der
X11-Tastaturzuweisungen auf. Der Befehl
list-x11-keymap-variants
akzeptiert optional einen Belegungsparameter, um die Ausgabe der Varianten auf
die für die angegebene Belegung geeigneten einzuschränken.
Hinzugefügt in Version 201.
OPTIONEN¶
Die folgenden Optionen werden verstanden:
--no-ask-password
Befragt den Benutzer nicht für Authentifizierung
für privilegierte Aktionen.
Hinzugefügt in Version 195.
--no-convert
Falls
set-keymap oder
set-x11-keymap
aufgerufen und diese Option übergeben wird, dann wird die
Tastaturzuweisung nicht von der Konsole nach X11 bzw. von X11 auf die Konsole
konvertiert.
Hinzugefügt in Version 195.
-H, --host=
Führt die Aktion aus der Ferne aus. Geben Sie den
Rechnernamen oder einen Benutzernamen und Rechnernamen (getrennt durch
»@«) an, zu dem verbunden werden soll. Dem Rechnernamen darf
optional ein Port, auf dem SSH auf Anfragen wartet, getrennt durch
»:« und dann ein Container-Name, abgetrennt durch
»/«, folgen, womit direkt zu einem bestimmten Container auf dem
angegebenen Rechner verbunden wird. Dies verwendet SSH, um mit der
Maschinen-Verwalterinstanz auf dem Rechner in der Ferne zu kommunizieren.
Container-Namen dürfen mit machinectl -H RECHNER
aufgezählt werden. Setzen Sie IPv6-Adressen in Klammern.
-M, --machine=
Führt die Aktion in einem lokalen Container aus.
Geben Sie den Namen des Containers an, zu dem verbunden werden soll. Optional
kann diesem ein Benutzername, abgetrennt durch ein »@«-Zeichen,
als der verbunden werden soll, vorangestellt werden. Falls die besondere
Zeichenkette ».host« anstelle des Container-Names verwandt wird,
wird eine Verbindung zu dem lokalen System aufgebaut (das ist nützlich,
um sich zu dem Benutzerbus eines bestimmten Benutzers zu verbinden:
»--user --machine=lennart@.host«. Falls die
»@«-Syntax nicht verwandt wird, wird die Verbindung als Benutzer
»root« vorgenommen. Falls die »@«-Syntax verwandt
wird, kann entweder die linke oder die rechte Seite fortgelassen werden (aber
nicht beide). In diesem Fall wird der lokale Benutzername und
».host« angenommen.
-h, --help
Zeigt einen kurzen Hilfetext an und beendet das
Programm.
--version
Zeigt eine kurze Versionszeichenkette an und beendet das
Programm.
--no-pager
Leitet die Ausgabe nicht an ein Textanzeigeprogramm
weiter.
UMGEBUNGSVARIABLEN¶
$SYSTEMD_LOG_LEVEL
Die maximale Protokollierstufe für ausgegebene
Meldungen (Meldungen mit einer höheren Protokollierstufe, d.h. weniger
wichtige, werden unterdrückt). Akzeptiert eine Kommata-getrennte Liste
von Werten. Ein Wert kann einer der folgenden sein (in Reihenfolge
absteigender Bedeutung):
emerg,
alert,
crit,
err,
warning,
notice,
info,
debug oder eine Ganzzahl im
Bereich 0…7. Siehe
syslog(3) für weitere Informationen.
Jedem Wert kann optional eine Zeichenkette aus
console,
syslog,
kmsg oder
journal gefolgt von einem Doppelpunkt vorangestellt
werden, um die maximale Protokollierstufe für dieses spezielle
Protokollierziel zu setzen (d.h.
SYSTEMD_LOG_LEVEL=debug,console:info
legt fest, dass auf der Stufe »debug« protokolliert werden soll,
außer beim Protokollieren auf die Konsole, die auf Stufe
»info« erfolgen soll). Beachten Sie, dass die globale maximale
Protokollierstufe Priorität gegenüber jeder zielbezogenen
maximalen Protokollierstufe hat.
$SYSTEMD_LOG_COLOR
Ein logischer Wert. Falls wahr, werden auf das TTY
geschriebene Nachrichten gemäß ihrer Priorität
eingefärbt.
Diese Einstellung ist nur nützlich, falls die Nachrichten
direkt auf das Terminal geschrieben werden, da journalctl(1) und
andere Werkzeuge, die Protokolle anzeigen, selbständig Nachrichten
gemäß ihrer Protokollierungsstufe einfärben.
$SYSTEMD_LOG_TIME
Ein logischer Wert. Falls wahr, wird den
Protokollnachrichten der Konsole ein Zeitstempel vorangestellt.
Diese Einstellung ist nur nützlich, falls die Nachrichten
direkt auf das Terminal oder in eine Datei geschrieben werden, da
journalctl(1) und andere Werkzeuge, die Protokolle anzeigen,
selbständig Zeitstempel basierend auf ihren Metadaten den Nachrichten
anhängen.
$SYSTEMD_LOG_LOCATION
Ein logischer Wert. Falls wahr, wird den
Protokollnachrichten ein Dateiname und eine Zeilenummer in dem Quellcode, aus
dem die Nachrichten stammen, vorangestellt.
Beachten Sie, dass der Protokollierort sowieso oft als Metadaten
zu den Journal-Einträgen angehängt ist. Die Aufnahme in den
Nachrichtentext kann bei der Fehlersuche in Programmen dennoch praktisch
sein.
$SYSTEMD_LOG_TID
Ein logischer Wert. Falls wahr, wird den Nachrichten die
aktuelle numerische Thread-Kennung (TID) vorangestellt.
Beachten Sie, dass diese Informationen sowieso als Metadaten an
Journal-Einträge angehängt wird. Die Aufnahme direkt im
Nachrichtentext kann aber trotzdem bei der Fehlersuche in Programmen
praktisch sein.
$SYSTEMD_LOG_TARGET
Das Ziel für Protokolliernachrichten. Entweder
console (auf das angehängte TTY protokollieren),
console-prefixed (auf das angehängte TTY protokollieren, aber
die Protokollierstufe und »Einrichtung« voranstellen, siehe
syslog(3)),
kmsg (in den zirkulären
Kernel-Protokollpuffer protokollieren),
journal (in das Journal
protokollieren),
journal-or-kmsg (in das Journal protokollieren, falls
verfügbar, und andernfalls nach Kmsg),
auto (das geeignete
Protokollierziel automatisch ermitteln, die Vorgabe) oder
null (die
Protokollierung deaktivieren).
$SYSTEMD_LOG_RATELIMIT_KMSG
Ob Kmsg ratenlimitiert werden soll oder nicht. Akzeptiert
einen logischen Wert. Standardmäßig »true«. Falls
deaktiviert, wird Systemd die nach Kmsg geschriebenen Meldungen nicht
ratenlimitieren.
$SYSTEMD_PAGER
Zu verwendendes Textanzeigeprogramm, wenn
--no-pager nicht angegeben ist; setzt
$PAGER außer Kraft.
Falls weder
$SYSTEMD_PAGER noch
$PAGER gesetzt sind, wird eine
Reihe wohlbekannter Implementierungen von Textanzeigeprogrammen der Reihe nach
ausprobiert, einschließlich
less(1) und
more(1), bis
eines gefunden wird. Falls keine Implementierung eines Textanzeigeprogramms
gefunden wird, wird keines aufgerufen. Setzen der Umgebungsvariablen auf die
leere Zeichenkette oder den Wert »cat« ist äquivalent zur
Übergabe von
--no-pager.
Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist,
dann wird $SYSTEMD_PAGER (sowie $PAGER) ohne
Rückmeldung ignoriert.
$SYSTEMD_LESS
Setzt die an
less übergebenen Optionen
(standardmäßig »FRSXMK«) außer Kraft.
Benutzer könnten insbesondere zwei Optionen ändern
wollen:
K
Diese Option weist das Textanzeigeprogramm an, sich
sofort beim Druck von Strg-C zu beenden. Um
less die Handhabung von
Strg-C selbst zum Umschalten auf die Eingabeaufforderung zu erlauben, setzen
Sie diese Option zurück.
Falls der Wert von $SYSTEMD_LESS kein »K«
enthält und less das aufgerufene Textanzeigeprogramm ist, wird
Strg+C durch das Programm ignoriert und muss durch das Textanzeigeprogramm
selbst gehandhabt werden.
X
Diese Option weist das Textanzeigeprogramm an, keine
Termcap-Initialisierungs- und -Deinitalisierungszeichenketten an das Terminal
zu senden. Dies ist standardmäßig gesetzt, damit die Darstellung
von Befehlen selbst nach dem Beenden des Textanzeigeprogramms sichtbar bleibt.
Allerdings stehen dadurch einige Funktionen des Textanzeigeprogramms nicht zur
Verfügung; insbesondere ist das Scrollen in der Ausgabe mit der Maus
nicht möglich.
Beachten Sie, dass das Setzen der regulären
Umgebungsvariablen $LESS keine Auswirkungen auf die Ausführung
von less(1) durch systemd(1)-Werkzeuge hat.
Siehe less(1) für weitere Ausführungen.
$SYSTEMD_LESSCHARSET
Setzt den an
less zu übergebenden
Zeichensatz (standardmäßig »utf-8«, falls das
aufrufende Terminal als UTF-8-kompatibel erkannt wurde) außer Kraft.
Beachten Sie, dass das Setzen der regulären
Umgebungsvariablen $LESSCHARSET keine Auswirkungen auf die
Ausführungen von less(1) durch systemd(1)-Werkzeuge
hat.
$SYSTEMD_PAGERSECURE
Akzeptiert einen logischen Wert. Wenn wahr, wird der
»sichere« Modus des Textanzeigeprogramms verwandt, falls falsch,
wird dieser deaktiviert. Falls
$SYSTEMD_PAGERSECURE überhaupt
nicht gesetzt ist, dann wird der sichere Modus aktiviert, falls die effektive
Kennung nicht identisch zu dem Eigentümer der Anmeldesitzung ist, siehe
geteuid(2) und
sd_pid_get_owner_uid(3). Im sicheren Modus wird
LESSSECURE=1 beim Aufruf des Textanzeigeprogramms gesetzt und das
Textanzeigeprogramm muss Befehle deaktivieren, die neue Dateien öffnen
oder erstellen oder die einen neuen Unterprozess starten. Falls
$SYSTEMD_PAGERSECURE überhaupt nicht gesetzt ist, werden
Textanzeigeprogramme, bei denen unbekannt ist, ob sie einen sicheren Modus
implementieren, nicht verwandt. (Derzeit implementiert nur
less(1)
einen sicheren Modus.)
Hinweis: Wenn Befehle mit erhöhten Rechten
ausgeführt werden, beispielsweise mittels sudo(8) oder
pkexec(1), muss Vorsicht walten gelassen werden, um sicherzustellen,
dass keine ungeplanten interaktiven Funktionalitäten aktiviert
werden. Der »sichere« Modus für das Textanzeigeprogramm
kann wie oben beschrieben automatisch aktiviert werden. Durch Setzen von
SYSTEMD_PAGERSECURE=0 oder durch Nichtenfernen dieser Einstellung aus
der ererbten Umgebung wird es dem Benutzer ermöglicht, beliebige
Befehle auszuführen. Beachten Sie, dass auch
$SYSTEMD_PAGERSECURE gesetzt werden muss, falls die Variablen
$SYSTEMD_PAGER oder $PAGER berücksichtigt werden
sollen. Es kann sinnvoll sein, stattdessen das Textanzeigeprogramm komplett
mit --no-pager zu deaktivieren.
$SYSTEMD_COLORS
Akzeptiert ein logisches Argument. Wenn wahr, werden
systemd und verwandte Hilfswerkzeuge Farben in ihrer Ausgabe verwenden,
andernfalls wird die Ausgabe einfarbig sein. Zusätzlich kann die
Variable eine der folgenden besonderen Werte annehmen: »16«,
»256«, um die Verwendung von Farbe auf die grundlegenden 16 bzw.
256 ANSI-Farben zu beschränken. Dies kann festgelegt werden, um die auf
$TERM und der vorliegenden Verbindung der Konsole basierende
automatische Entscheidung außer Kraft zu setzen.
$SYSTEMD_URLIFY
Dies muss ein logischer Wert sein. Er steuert, ob
anklickbare Links für Terminal-Emulatoren, die dies
unterstützen, erstellt werden sollen. Dies kann angegeben werden, um
die Entscheidung, die systemd basierend auf $TERM und anderen
Bedingungen trifft, außer Kraft zu setzen.