The translated file names are defined in ~/.config/user-dirs.dirs
. After first deleting this file and then issuing the command xdg-user-dirs-update
it became
# 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/Öffentlich"
XDG_DOCUMENTS_DIR="$HOME/"
XDG_MUSIC_DIR="$HOME/"
XDG_PICTURES_DIR="$HOME/Bilder"
XDG_VIDEOS_DIR="$HOME/"
The line about XDG_DESKTOP_DIR read
XDG_DESKTOP_DIR=“$HOME”
In my case, before the deletion, the line with XDG_DESKTOP_DIR
was:
XDG_DESKTOP_DIR="$HOME/"
which explains the strange behavior which triggered my question.
It is not sufficient to just change this line to
XDG_DESKTOP_DIR="$HOME/Schreibtisch"
because one first has to log out and then to log in in order that the changed setting become effective, because xdg-user-dirs-update
is run very early in the login phase.
The prefix of user-dirs.dir
says, all changes to it are retained at the next startup. But I have observed that they are reverted. Has someone stumbled over a language hurdle when writing the description?
man xdg-user-dirs-update
tells us
"... updates the current state of the file user-dirs.dir
. If none exists before calling it, then one is created based on the system default values, or falling back to the old non-translated filenames if such directories exists. The list of old directories used are: ~/Desktop
, ~/Templates
and ~/Public
.
...
Additionally, any configured directories that point to non-existing locations are reset by pointing then to the users home directory."
The last sentence probably describes what deleted the name of the second user's desktop directory name from $XDG_DESKTOP_DIR
.
Unfortunately man xdg-user-dirs-update
does not tell from where it takes the defaults if the other user specific sources in ~/
don't exist, as it was in my case. Probably it is in one of the paths named in $XDG_CONFIG_DIRS
:
XDG_CONFIG_DIRS=/etc/xdg/xdg-xubuntu:/etc/xdg:/etc/xdg
(surprisingly /etc/xdg
is named there twice!)
There is a file /etc/xdg/user-dirs.defaults
which might be the master template effective if no localization has happened. But I could not determine, which file actually makes the localized template for xdg-user-dirs-update
.