Является ли $HOME/.local/share значением по умолчанию для $XDG_DATA_HOME в Ubuntu 14.04?

Какое значение по умолчанию для $XDG_DATA_HOME в Ubuntu 14.04? Я получаю пустую строку с:

echo $XDG_DATA_HOME

Согласно спецификациям Free Desktop, оно может быть равно $HOME/.local/share

2 ответа

Решение

Поскольку отчет в переменных среды XDG Base Directory Specification по умолчанию не установлен, Ubuntu не устанавливает переменные XDG.

В соответствии со спецификацией FreeDesktop Base Directory:

$XDG_DATA_HOME определяет базовый каталог, относительно которого должны храниться файлы данных конкретного пользователя. Если $XDG_DATA_HOME либо не установлен, либо пуст, следует использовать значение по умолчанию, равное $HOME/.local/share.

Приложения, которые реализуют эту спецификацию, должны реализовать это поведение, поэтому если $XDG_DATA_HOME не определено, они должны использовать $HOME/.local/share по умолчанию.

Есть некоторые реализации этой спецификации, такие как: Glib, libghc-xdg-basedir-prof и pyxdg

Если вы хотите переопределить это значение, вы должны определить XDG переменная в /etc/profile или лучше в /etc/profile.d как описано в разделе Где должна быть определена переменная XDG_CONFIG_HOME?

Вот как я это установил в своем ~/.bashrc:

export XDG_DATA_HOME=${XDG_DATA_HOME:="$HOME/.local/share"}

Это сохраняет любое уже установленное значение, иначе устанавливает его в значение по умолчанию, указанное в спецификации XDG Base Directory.

Другие вопросы по тегам