On Tue, Feb 26, 2013 at 6:57 AM, Robbie Smith <zoqaeski@xxxxxxxxx> wrote: > On 26/02/13 22:44, Daniel Micay wrote: >> >> On Tue, Feb 26, 2013 at 6:42 AM, Robbie Smith <zoqaeski@xxxxxxxxx> wrote: >>> >>> For some reason, after my last reboot (a kernel update), none of the XDG >>> variables[1] (such as $XDG_CONFIG_HOME) are being set, which broke a lot >>> of >>> my configuration, as I rely on those in scripts. >>> >>> I was able to fix it by writing a script[2] to drop in /etc/profile.d/ >>> that >>> would create those directories and export the variables as required, but >>> what I want to know is why they broke in the first place. >>> >>> Has anyone else experienced this? >>> >>> Robbie >>> >>> >>> [1] >>> >>> http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables >>> >>> [2] Like this (taken from /etc/xdg/xfce4/xinitrc) : >>> #!/bin/sh >>> # $XDG_CONFIG_HOME defines the base directory relative to which >>> # user specific configuration files should be stored. If >>> # $XDG_CONFIG_HOME is either not set or empty, a default equal to >>> # $HOME/.config should be used. >>> if test "x$XDG_CONFIG_HOME" = "x" ; then >>> XDG_CONFIG_HOME=$HOME/.config >>> export XDG_CONFIG_HOME >>> fi >>> [ -d "$XDG_CONFIG_HOME" ] || mkdir "$XDG_CONFIG_HOME" >> >> >> You can only expect these to be set if the default has been changed. >> If they're unset, it means anything querying them should fall back to >> ~/.config (and the other fallbacks). >> > They didn’t exist at all. I had to manually export them or they didn’t exist > at login, which is why I wrote that script. Yes, that's correct. They aren't supposed to be set by default (it was a bug that they were). Your scripts/applications that use those variables should be checking for their existence and falling back to a default unless you're sure that you're setting them manually yourself.