Provided by: manpages-de_4.13-4_all 

BEZEICHNUNG
environment.d - Definition einer Benutzerdiensteumgebung
ÜBERSICHT
~/.config/environment.d/*.conf
/etc/environment.d/*.conf
/run/environment.d/*.conf
/usr/lib/environment.d/*.conf
/etc/environment
BESCHREIBUNG
Konfigurationsdateien in den environment.d-Verzeichnissen enthalten Listen von
Umgebungsvariablenzuweisungen für Dienste, die durch die Systembenutzerinstanz gestartet werden.
systemd-environment-d-generator(8) wertet sie aus und aktualisiert die von der Systemd-Benutzerinstanz
exportierte Umgebung. Lesen Sie die nachfolgende Diskussion darüber, welche Prozesse diese Variablen
erben.
Es wird empfohlen, alle Namen mit Ziffern zu beginnen, um die Sortierung zu vereinfachen.
Zur Rückwärtskompatibilität wird ein Symlink auf /etc/environment installiert, so dass diese Datei auch
ausgewertet wird.
KONFIGURATIONSVERZEICHNISSE UND RANGFOLGE
Konfigurationsdateien werden aus Verzeichnissen in /etc/, /run/, /usr/local/lib/ und /lib/, in dieser
Rangfolge, gelesen, wie im Abschnitt ÜBERSICHT oben aufgeführt. Dateien müssen die Endung ».conf« haben.
Dateien in /etc/ setzen Dateien mit dem gleichen Namen in /run/, /usr/local/lib/ und /lib/ außer Kraft.
Dateien in /run/ setzen Dateien mit dem gleichen Namen unter /usr/lib/ außer Kraft.
Alle Konfigurationsdateien werden in lexikographischer Reihenfolge sortiert, unabhängig davon, in welchem
Verzeichnis sie sich befinden. Falls mehrere Dateien die gleiche Option angeben, wird der Eintrag in der
Datei mit dem lexikographisch letzten Namen Vorrang erhalten. Daher kann die Konfiguration in einer
bestimmten Datei entweder komplett ersetzt werden (indem eine Datei mit dem gleichen Namen in einem
Verzeichnis mit höherer Priorität abgelegt wird) oder einzelne Einstellungen können geändert werden
(indem zusätzliche Einstellungen in einer Datei mit einem anderen Namen, der später angeordnet ist,
angegeben werden).
Pakete sollten ihre Konfigurationsdateien in /usr/lib/ (Distributionspakete) oder /usr/local/lib/ (lokale
Installationen) installieren. Dateien in /etc/ sind für den lokalen Administrator reserviert, der diese
Logik verwenden kann, um die durch die Lieferantenpakete bereitgestellten Konfigurationsdateien außer
Kraft zu setzen. Es wird empfohlen, allen Dateinamen eine zweistellige Zahl und einen Bindestrich
voranzustellen, um die Sortierung der Dateien zu vereinfachen.
Falls der Administrator eine vom Lieferanten bereitgestellte Konfigurationsdatei deaktivieren möchte,
wird empfohlen, einen Symlink im Konfigurationsverzeichnis in /etc/ mit dem gleichen Dateinamen wie die
des Lieferanten auf /dev/null zu setzen. Falls die Lieferantendatei im Initrd-Image enthalten ist, muss
das Image neu erstellt werden.
KONFIGURATIONSFORMAT
Die Konfigurationsdateien enthalten eine Liste von »SCHLÜSSEL=Wert«-Umgebungsvariablenzuweisungen,
getrennt durch Zeilenumbrüche. Die rechte Seite dieser Zuweisungen kann vorher definierte
Umgebungsvariablen referenzieren, indem das Format »${ANDERER_SCHLÜSSEL}« und »$ANDERER_SCHLÜSSEL«
verwandt wird. Es ist auch möglich, »${FOO:-VORGABEWERT}« zu verwenden, um auf die gleiche Art wie
»${FOO}« zu expandieren, außer die Expandierung wäre leer, in welchem Fall sie auf VORGABEWERT expandiert
wird; und »${FOO:+ALTERNATIVWERT}« zu verwenden, um auf ALTERNATIVWERT zu expandieren, falls ${FOO}« sich
auf einen nicht leeren Wert expandiert hätte. Weiter Elemente der Shell-Syntax werden nicht unterstützt.
Jeder SCHLÜSSEL muss ein gültiger Variablenname sein. Leere Zeilen und Zeilen, die mit dem
Kommentarzeichen »#« beginnen, werden ignoriert.
Beispiel
Beispiel 1. Einrichten einer Umgebung, um Zugriff auf ein unter /opt/foo installiertes Programm zu geben
/etc/environment.d/60-foo.conf:
FOO_DEBUG=force-software-gl,log-verbose
PATH=/opt/foo/bin:$PATH
LD_LIBRARY_PATH=/opt/foo/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
XDG_DATA_DIRS=/opt/foo/share:${XDG_DATA_DIRS:-/usr/local/share/:/usr/share/}
GELTUNGSBEREICH
Die durch die Benutzerverwalterinstanz (Instanz systemd --user, gestartet in dem Systemdienst
user@UID.service) exportierten Umgebungsvariablen gelten für alle Dienste, die durch diesen Verwalter
gestartet werden. Dies betrifft insbesondere Dienste, die in Shells ausgeführt werden. Beispielsweise
läuft in der GNOME-Umgebung der graphische Terminal-Emulator als Benutzer-Unit
gnome-terminal-server.service, die wiederum die Benutzer-Shell ausführt, so dass die Shell die durch den
Benutzerverwalter exportierten Umgebungsvariablen erben wird. Für andere Instanzen der Shell, die nicht
vom Benutzerverwalter gestartet werden, wird die geerbte Umgebung durch das Programm definiert, das sie
startete. Tipp: Im Allgemeinen enthalten systemd.service(5)-Units die durch Systemd gestarteten Programme
und systemd.scope(5)-Units enthalten Programme, die von etwas anderem gestartet wurden.
Insbesondere für SSH-Anmeldungen baut der Dienst sshd(8) eine Umgebung auf, die eine Kombination aus
Variablen sind, die von dem fernen System weitergeleitet und solchen, die durch sshd definiert wurden;
siehe die Diskussion in ssh(1). Eine graphische Display-Sitzung wird über analoge Mechanismen zur
Definition der Umgebung verfügen. Beachten Sie, dass einige Verwalter die Systemd-Benutzer-Instanz
bezüglich der exportierten Umgebung mittels systemctl show-environment oder dem zugrundeliegenden
D-Bus-Aufruf abfragen und diese Konfiguration in Programme einleiten, die sie starten.
SIEHE AUCH
systemd(1), systemd-environment-d-generator(8), systemd.environment-generator(7)
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer.
systemd 250 ENVIRONMENT.D(5)