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:
-l, --full
Verkürzt die Ausgabe nicht.
Hinzugefügt in Version 257.
--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.
--no-ask-password
Befragt den Benutzer nicht für Authentifizierung
für privilegierte Aktionen.
-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 true, 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 true, 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 true, 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 true, 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, $PAGER
Zu verwendendes Textanzeigeprogramm, wenn
--no-pager nicht angegeben ist. Falls gesetzt, wird
$SYSTEMD_PAGER verwandt, andernfalls
$PAGER. 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 dieser Umgebungsvariablen auf die leere Zeichenkette oder
den Wert »cat« ist äquivalent zur Übergabe von
--no-pager.
Beachten Sie: Falls $SYSTEMD_PAGERSECURE nicht gesetzt ist,
können $SYSTEMD_PAGER und $PAGER nur zum Deaktivieren
des Seitenanzeigeprogramms (mit »cat« oder »«)
verwandt werden und werden ansonsten 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
Typische Seitenanzeigeprogramme wie
less(1)
unterstützen nebem dem seitenweisen Anzeigen (d.h. dem Durchlaufen der
Ausgabe) das Öffnen von oder Schreiben in andere Dateien und die
Ausführung von beliebigen Shell-Befehlen. Werden Befehle mit
erhöhten Berechtigungen, beispielsweise unter
sudo(8) oder
pkexec(1), aufgerufen, wird das Seitenanzeigeprogramm zur
Sicherheitsgrenze. Es muss darauf geachtet werden, dass nur Programme mit
streng begrenzter Funktionalität als Seitenanzeigeprogramm verwandt
werden und unerwünschte interaktive Funktionalitäten wie das
Öffnen oder Erstellen von neuen Dateien oder das Starten von
Subprozessen nicht erlaubt sind. Der »Sichere Modus« für
das Seitenanzeigeprogramm kann wie nachfolgend beschrieben aktiviert werden,
falls das Seitenanzeigeprogramm dies unterstützt (die meisten
Seitenanzeigeprogramme sind nicht so geschrieben, dass sie dies
berücksichtigen). Es wird empfohlen, den »Sicheren Modus«
explizit zu aktivieren oder das Seitenanzeigeprogramm komplett mittels
--no-pager oder
PAGER=cat zu deaktivieren, wenn nicht
vertrauenswürdigen Benutzern die Ausführung von Programmen mit
erhöhten Privilegien erlaubt wird.
Diese Option akzeptiert ein logisches Argument. Ist es auf
»true« gesetzt, wird der »Sichere Modus« des
Seitenanzeigeprogramms aktiviert. Im »Sicheren Modus« wird
LESSSECURE=1 beim Aufruf des Seitenanzeigeprogramms gesetzt. Dies
weist das Seiteanzeigeprogramm an, Befehle zum Öffnen oder Erstellen
von neuen Dateien sowie das Starten von Subprozessen zu deaktivieren.
Derzeit ist nur von less(1) bekannt, dass es diese Variable versteht
und den »Sicheren Modus« implementiert.
Ist diese Variable auf »false« gesetzt, unterliegt
das Seitenanzeigeprogramm keinen Beschränkungen. Setzen auf
SYSTEMD_PAGERSECURE=0 oder das Beibehalten der Variable von der
geerbten Umgebung könnte den Benutzern die Ausführung
beliebiger Befehle erlauben.
Ist $SYSTEMD_PAGERSECURE nicht gesetzt, versuchen die
Systemd-Werkzeuge automatisch herauszufinden, ob der »Sicheren
Modus« aktiviert werden soll und ob das Seitenanzeigeprogramm dies
unterstützt. Der »Sichere Modus« wird aktiviert, falls
die effektive UID nicht mit der UID des Eigentümers der
Anmeldesitzung übereinstimmt, siehe geteuid(2) und
sd_pid_get_owner_uid(3), oder wenn die Ausführung unter
Werkzeugen wie sudo(8) oder ähnlichem erfolgt
($SUDO_UID ist gesetzt [1]). In diesen Fällen wird
SYSTEMD_PAGERSECURE=1 gesetzt und Seitenanzeigeprogramme, von denen
nicht bekannt ist, dass sie den »Sicheren Modus«
unterstützen, werden überhaupt nicht verwandt. Beachten Sie,
dass diese automatische Erkennung nur die typischsten Mechanismen zur
Erlangung von Privilegien abdeckt und dem Komfort dient. Es wird empfohlen,
explizit $SYSTEMD_PAGERSECURE zu setzen oder das
Seitenanzeigeprogramm zu deaktivieren.
Beachten Sie, dass auch $SYSTEMD_PAGERSECURE gesetzt sein
muss, damit die Variablen $SYSTEMD_PAGER oder $PAGER
(außer zum Deaktivieren des Seitenanzeigeprogramms)
berücksichtigt werden.
$SYSTEMD_COLORS
Akzeptiert ein logisches Argument. Wenn true, 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.