Zum Inhalt springen

XDG-Verzeichnisse: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Zeile 3: Zeile 3:


== Installation ==
== 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.
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. Die meisten Desktopumgebungen haben das Programm aber sowieso schon als Abhängigkeit installiert.


{{installation|noheading=1|xdg-user-dirs}}
{{installation|noheading=1|xdg-user-dirs}}


Die meisten Desktopumgebungen haben das Programm bereits als Abhängigkeit installiert.
Es wird bei der installation automatisch ein passender [[systemd|systemd-Service]] installiert und aktiviert, der bei jedem Login die Konfiguration überprüft und gegebenenfalls fehlende Verzeichnisse erstellt.


== ''Base Directory''s ==
== ''Base Directory''s ==

Version vom 20. März 2025, 22:52 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. Die meisten Desktopumgebungen haben das Programm aber sowieso schon als Abhängigkeit installiert.


Das Programm ist als xdg-user-dirs in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S xdg-user-dirs

Es wird bei der installation automatisch ein passender systemd-Service installiert und aktiviert, der bei jedem Login die Konfiguration überprüft und gegebenenfalls fehlende Verzeichnisse erstellt.

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

Anzeige der lokalisierten XDG-Verzeichnisse mit angepasstem Icon in Thunar

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.

Automatische Konfiguration

Aufgrund der hohen Verbreitung und allgemeinen Akzeptanz ist der gängige Weg der Konfiguration der XDG-Verzeichnisse xdg-user-dirs-update aus dem Paket xdg-user-dirs. Dies wird automatisch ausgeführt, und erstellt wenn nötig die entsprechenden XDG-Verzeichnisse basierend auf der Konfiguration. Standardmäßig werden die Verzeichnisse anhand der Locale benannt.

Die Konfiguration von xdg-user-dirs-update findet useraccountbezogen in den Dateien $XDG_CONFIG_HOME/user-dirs.dirs und $XDG_CONFIG_HOME/user-dirs.locale statt. Wenn $XDG_CONFIG_HOME nicht definiert ist, wird $HOME/.config benutzt.

Manuelle Konfiguration

Weblinks