xdg-user-dirs

Standard-Ordner in GNOME loswerden

31. Oktober 2023 · Betriebssysteme · andreas · Kein Kommentar

Gut gemeint ist nicht immer gut gemacht, so auch im Falle von GNOME und dessen Dateimanager Files: egal, ob die Ordner verwendet werden oder nicht, den freedesktop.org-Spezifikationen folgend werden bei jedem Login die XDG-Standard-Ordner wie z.B. “Musik” und “Videos” angelegt und auch in der Seitenleiste von Files angezeigt. Eine Möglichkeit, dies innerhalb der Oberfläche zu konfigurieren ist nicht vorgesehen.

This program reads a configuration file, and a set of default directories. It then creates localized versions of these directories in the users home directory and sets up a config file in $(XDG_CONFIG_HOME)/user-dirs.dirs (XDG_CONFIG_HOME defaults to ~/.config) that applications can read to find these directories. [Quelle]

Das Verhalten kann aber mit Hilfe von Konfigurationsdateien angepasst werden.

Ändern der Verzeichnisse

Wer den grundlegenden Mechanismus aktiviert lassen möchte, kann in der Datei “~/.config/user-dirs.dirs” die nicht benötigten Verzeichniseinträge auf sein “home”-Verzeichnis umbiegen.

Dies wird auch so vorgeschlagen:

To disable a directory, point it to the homedir. [Quelle]

Alternativ ist auch ein Auskommentieren der nicht benötigten Zeilen möglich, dies würde aber ggf. dazu führen, daß eine Applikation einen benötigten Ablageort nicht (mehr) findet.

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run.
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
#
XDG_DESKTOP_DIR="$HOME/Schreibtisch"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Vorlagen"
XDG_PUBLICSHARE_DIR="$HOME"
XDG_DOCUMENTS_DIR="$HOME/Dokumente"
XDG_MUSIC_DIR="$HOME"
XDG_PICTURES_DIR="$HOME/Bilder"
XDG_VIDEOS_DIR="$HOME"

Da “home” bereits exisitiert, werden Ordner, welche auf “$HOME” verweisen, nicht nochmal angelegt und auch nicht zusätzlich zum “Persönlichen Ordner” angezeigt. Das Verbiegen einer Variable mit dem Namen “XDG_PUBLICSHARE_DIR” auf “$HOME” hinterlässt aber auf Systemen, auf denen mehr als ein Benutzer aktiv ist, ein ungutes Gefühl.

Abschalten des Mechanismus

Alternativ (oder zusätzlich) kann der Mechanismus auch komplett stillgelegt werden.

At the moment there are only two settings, you can disable the whole thing, and you can specify the charset encoding used for filenames. [Quelle]

Dies kann entweder systemweit über die Datei “/etc/xdg/user-dirs.conf” gesteuert oder benutzerbezogen eingestellt werden.

Hierzu ist die Systemdatei zuerst ins Benutzerverzeichnis zu kopieren

$ cp /etc/xdg/user-dirs.conf ~/.config/

dann kann die Einstellung “enabled” von “True” auf “False” geändert werden:

# This controls the behaviour of xdg-user-dirs-update which is run on user login
# You can also have per-user config in ~/.config/user-dirs.conf, or specify
# the XDG_CONFIG_HOME and/or XDG_CONFIG_DIRS to override this
#

enabled=False

# This sets the filename encoding to use. You can specify an explicit
# encoding, or "locale" which means the encoding of the users locale
# will be used
filename_encoding=UTF-8

Bei der nächsten Anmeldung werden die Ordner nicht mehr neu angelegt und die Einträge in der Seitenleiste von “Files” sind verschwunden.

Dies ist eine Erweiterung zu den Beiträgen “Wahl der Desktopumgebung” und “Eigene Dateien umziehen”, in denen die xdg-user-dirs bereits angesprochen wurden.

Eigene Dateien umziehen

21. Januar 2020 · Betriebssysteme · andreas · Kein Kommentar

Ablageort

Um Dateien abzulegen, hat sich das freedesktop.org-Projekt ein System von Ordnern ausgedacht, welche direkt bei der Anmeldung im “home”-Verzeichnis jedes Benutzers erzeugt werden: “Bilder”, “Dokumente”, “Downloads”, “Musik”, “Öffentlich”, “Schreibtisch”, “Videos” sowie “Vorlagen”.

Einen (oder mehrere) davon loszuwerden ist gar nicht so einfach. Löscht man einen der Ordner, meldet sich ab und wieder an, ist der Ordner wieder da. Um dieses Verhalten zu ändern, ist ein Eingriff auf Systemebene notwendig, dieser wirkt sich allerdings auf alle Benutzer und nicht nur auf den aktuell angemeldeten Benutzer aus:

Sysadmins can configure things by editing /etc/xdg/user-dirs.conf. At the moment there are only two settings, you can disable the whole thing, and you can specify the charset encoding used for filenames.

Detailliertere Konfigurationsmöglichkeiten beschreibt der Beitrag “Standard-Ordner in GNOME loswerden”.

Kopieren oder verschieben?

Beide Methoden haben ihre Vor- bzw. Nachteile: Wer die Dateien kopiert, kann jederzeit nochmal zurück zum Start und im Falle eines Falles von vorne beginnen bzw. hat immer noch ein voll funktionsfähiges Altsystem, auf dem alle Dateien vorhanden sind. Dafür fällt es schwerer, den Überblick zu behalten, ob tatsächlich alles kopiert wurde und nicht noch irgendwo in einem Ordner ein paar eigentlich benötigte Dateien vergessen wurden.

Wer verschiebt, weiss ganz sicher: was im Altsystem weg ist, ist mit an Sicherheit grenzender Wahrscheinlichkeit im neuen System gelandet. Dafür ist ab dem ersten Schritt kein einfaches “Zurück” mehr möglich, auch weil bei einem Verschiebevorgang zurück u.U. die Zugriffsberechtigungen des Windows-Systems nicht mehr rekonstruiert werden können.

Wenn genügend Platz vorhanden ist, kann natürlich auch eine Kombination der beiden Methoden eingesetzt werden: Zuerst eine Kopie der gesamten Widows-Ordnerstruktur in einem Arbeitsverzeichnis erstellen und von dort dann verschieben.

Berechtigungen

Eine Klippe bezüglich der Dateiberechtigungen ist beim Kopieren bzw. Verschieben allerdings zu umschiffen: da Windows seine Dateien innerhalb des NTFS-Dateisystems speichert und dies keinerlei brauchbaren Informationen bezüglich der unter Linux zu verwendenden Dateiberechtigungen beinhaltet, müssen diese neu erzeugt werden.

Wer die Dateien gerne grafisch kopieren möchte, öffnet hierzu Gnome-Dateien (interner Name: Nautilus) und wechselt in der linken Leiste auf “Andere Orte”. Dort findet er die Laufwerke seines Windows-Systems, welche sich mit einem Klick einbinden lassen.

Beim Kopieren haben sich die Entwickler entschieden, den neu angelegten Dateien die maximal möglichen Berechtigungen zu erteilen.

 4 drwxrwxrwx 2 andreas andreas 4096 Aug 11 15:02 'a directory'
52 -rwxrwxrwx 1 andreas andreas 1234 Aug 11 14:52 file.txt

Dies ist auf einem Einbenutzer-System kein Problem, auf einem System mit mehreren Benutzern allerdings ein potentielles Sicherheitsrisiko.

Umgehen lässt sich dies durch das manuelle Kopieren der Dateien auf der Kommandozeile:

Zuerst wird das benötigte Windows-Laufwerk manuell eingebunden und anschließend die Dateien mittels “cp”-Befehl (oder “mv”) an den neuen Ort kopiert (oder verschoben). Der “cp”-Befehl berücksichtigt hierbei die sogegannte UMask, die Berechtigungen, unter denen neue Dateien eines Benutzers standardmäßig angelegt werden sollen. Mit ein paar zusätzlichen Parametern werden die zu übertragenen Dateien dann im neuen System angelegt:

$ cp -r --no-preserve=owner,mode --preserve=timestamp /media/VonWoAuchImmer ~/ZielOrdner/
Aktualisierungen:
2023-10-31: Hinweis auf Beitrag Standard-Ordner in GNOME loswerden ergänzt.

Wahl der Desktopumgebung

22. Oktober 2019 · Betriebssysteme · andreas · 1 Kommentar

Viele Distributionen setzen GNOME als Default-Desktopumgebung ein, unter Debian schlicht “Debian Desktop Environment” genannt. Neben GNOME gibt es mit KDE noch eine zweite “große” Desktopumgebung, welche versucht, für möglichst viele Anwendungsfälle ein eigenes Programm(paket) anzubieten, während mit LXDE, XFCE (und anderen) auch schlanke(re) Alternativen zur Verfügung stehen.

Jede der Umgebungen folgt ihrer eigenen Philosophie, aber während man sich bei der Distributionswahl vorerst für eine Distribution entscheiden muss, können problemlos mehrere Desktopumgebungen parallell installiert und getestet werden.

Schon GNOME und KDE unterscheiden sich in ihrer Grundausrichtung gewaltig: während GNOME dem Prinzip “weniger ist mehr” folgt und man sich zur stressfreien Nutzung auf die Philosophie einlassen sollte, statt GNOME zu verbiegen, ist KDE mehr an die von Microsoft Windows bekannte Oberfläche angelehnt und bietet Einstelloptionen für fast jeden Pixel auf dem Bildschirm.

Dazu gibt es bei beiden Umgebungen noch eine ganze Reihe von Standardprogrammen, mit ein Grund, weshalb während der Installation des Betriebssystems keine Desktopumgebung ausgewählt wurde.

Bei der nachträglichen Installation kommt der Mechanismus der Metapakete zum tragen, Pakete die dazu dienen, eine Untermenge an logisch zusammenhängenden Paketen zu mit einer einzigen Paketangabe zu installieren. Für viele der Anwendungsfälle gibt es neben dem eigentlichen Metapaket noch ein entsprechendes “…-core”-Paket, welches statt der vollständigen Funktionalität nur die Basisfunktionalität und minimal benötigten Komponenten installiert. Für die GNOME-Desktopumgebung sind dies die beiden Metapakete “gnome” (rund 1.100 Pakete mit 2.600 MB) und “gnome-core” (820 Pakete mit 1.500 MB).

Weiterlesen