XDG-Verzeichnisse: Unterschied zwischen den Versionen
Dirk (Diskussion | Beiträge) |
Dirk (Diskussion | Beiträge) |
||
Zeile 30: | Zeile 30: | ||
|} | |} | ||
Die Variable {{ic|XDG_RUNTIME_DIR}} wird unter Arch Linux automatisch durch {{ic|pam_systemd}} gesetzt und wie benötigt konfiguriert, und sollte auch nicht geändert werden, da sonst unter | Die Variable {{ic|XDG_RUNTIME_DIR}} wird unter Arch Linux automatisch durch {{ic|pam_systemd}} gesetzt und wie benötigt konfiguriert, und sollte auch nicht geändert werden, da es sonst unter anderem mit {{paket|pipewire}} zu Problemen kommt und und z.B. in [[Chromium]] das Screensharing nicht mehr funktioniert. | ||
== ''User Directory''s == | == ''User Directory''s == |
Version vom 20. März 2025, 22:37 Uhr
„XDG-Verzeichnisse“ wurde von Dirk (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Dirk (Diskussion) bitte, bevor du den Artikel bearbeitest.
Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!
Dieser Artikel behandelt die durch die XDG Base Directory Specification spezifizierten Verzeichnisse, deren Konfiguration, Definition, und Verwendung, sowie die aus dieser Spezifikation abgeleiteten useraccountspezifischen Verzeichnisse.
Installation
Zur Verwaltung der XDG-Verzeichnisse muss kein spezielles Programm installiert werden, die Konfiguration kann vollständig durch Umgebungsvariablen erfolgen. Aus Gründen der Einfachheit kann man für die Verwaltung der useraccountspezifischen Verzeichnisse xdg-user-dirs installieren.
Das Programm ist als
xdg-user-dirs
in extra
verfügbar, und kann von dort
mittels Pacman
installiert werden.
Die meisten Desktopumgebungen haben das Programm bereits als Abhängigkeit installiert.
Base Directorys
Die XDG Base Directory Specification spezifiziert mehrere Standard-Verzeichnisse für verschiedene Aufgaben. Man sollte die Entsprechenden variablen im angegebenen Kontext definieren, und auf den „Ziel“-Pfad setzen. Einige Programme ignorieren die Variablen und nutzen die angegebenen, in der Spezifikation so bestimmten Ziel-Pfade direkt.
Kontext | Variable | Ziel | Verwendung |
---|---|---|---|
User | XDG_CACHE_HOME |
$HOME/.cache |
Nicht-essentielle Cache-Dateien |
User | XDG_CONFIG_HOME |
$HOME/.config |
Konfigurationsdateien |
User | XDG_RUNTIME_DIR |
/run/user/$UID |
Nicht-essentielle Laufzeitdateien |
User | XDG_DATA_HOME |
$HOME/.local/share |
Architekturunabhängige Datendateien |
User | XDG_STATE_HOME |
$HOME/.local/state |
Persistente Zustandsdateien |
System | XDG_CONFIG_DIRS |
/etc/xdg |
Wie PATH , aber für Konfigurationsdateien
|
System | XDG_DATA_DIRS |
/usr/local/share:/usr/share |
Wie PATH, aber für Datendateiverzeichnisse |
Die Variable XDG_RUNTIME_DIR
wird unter Arch Linux automatisch durch pam_systemd
gesetzt und wie benötigt konfiguriert, und sollte auch nicht geändert werden, da es sonst unter anderem mit pipewire zu Problemen kommt und und z.B. in Chromium das Screensharing nicht mehr funktioniert.
User Directorys

Aus der XDG Base Directory Specification heraus haben sich diverse weitere XDG-Verzeichnisse etabliert, die allgemein anerkannt werden.
Bei Verwendung von xdg-user-dirs
werden die Verzeichnisse automatisch lokalisiert, und verweisen dann auf „Dokumente“, „Öffentlich“, „Vorlagen“, etc. Auch einige Dateimanager zeigen die die konfigurierten Pfade mit angepassten Icons an, oder bieten Shortcuts, um direkt zu den Verzeichnissen zu wechseln. Wenn unterstützt, werden auch Desktopicons automatisch angezeigt.
Variable | Ziel | Verwendung |
---|---|---|
XDG_DESKTOP_DIR |
$HOME/Desktop |
Icons auf dem Desktop |
XDG_DOCUMENTS_DIR |
$HOME/Documents |
Dokumente aus Office-Programmen |
XDG_DOWNLOAD_DIR |
$HOME/Downloads |
Speicherziel aus dem Browser heraus |
XDG_MUSIC_DIR |
$HOME/Music |
Musikdateien |
XDG_PICTURES_DIR |
$HOME/Pictures |
Bilddateien |
XDG_PUBLICSHARE_DIR |
$HOME/Public |
Öffentlich geteilte Daten |
XDG_TEMPLATES_DIR |
$HOME/Templates |
Vorlagen für z.B. Neue-Datei-Menüs |
XDG_VIDEOS_DIR |
$HOME/Videos |
Videodateien |
Die meisten Programme respektieren entsprechende Umgebungsvariablen, oder lesen ~/.config/user-dirs.dirs
aus, und legen die Verzeichnisse teilweise auch an, wenn sie nicht existieren, bzw. nutzen den allgemein anerkannten Zielpfad, wenn die Definition nicht gefunden werden kann.
Will man die Verzeichnisse nicht verwenden, sollte man die Variablen dennoch anlegen, und entsprechend auf $HOME
verweisen lassen, da dies schon existiert, wird durch Programme nicht ungewollt ein Verzeichnis angelegt.