[arch-general] XDG variables no longer set

Daniel Micay danielmicay at gmail.com
Tue Feb 26 07:24:14 EST 2013


On Tue, Feb 26, 2013 at 6:57 AM, Robbie Smith <zoqaeski at gmail.com> wrote:
> On 26/02/13 22:44, Daniel Micay wrote:
>>
>> On Tue, Feb 26, 2013 at 6:42 AM, Robbie Smith <zoqaeski at gmail.com> 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.


More information about the arch-general mailing list