Как заставить все приложения использовать $XDG_CONFIG_HOME вместо ~/.APP?
Насколько я понимаю, рекомендации XDG рекомендуют приложениям сохранять свою конфигурацию в $XDG_CONFIG_HOME/APP
(обычно ~/.config/APP
) скорее, чем ~/.APP
(Я не уверен, что существуют также руководства по Debian/Ubuntu?). Тем не менее, я нашел несколько файлов конфигурации и папок, использующих более старые ~/.APP
условность.
Есть ли способ принудительно заставить неподтверждающие приложения использовать соглашения о папках XDG?
Или мне просто нужно регистрировать тикет с каждым проектом?:D
2 ответа
Я нашел отличную информацию о конфигурации при поддержке XDG Base Directory.
Это дает отличные советы о настройке таких вещей, как:
export LESSHISTFILE="$XDG_CACHE_HOME"/less/history
так что устаревшие файлы config / cache / data могут по-прежнему использовать указанные XDG каталоги.
Мне также нужно было добавить в мой ~/.bashrc
:
# XDG - set defaults as they may not be set
# See https://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html
# and https://wiki.archlinux.org/index.php/XDG_Base_Directory_support
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_CACHE_HOME="$HOME/.cache"
if [ ! -w ${XDG_RUNTIME_DIR:="/run/user/$UID"} ]; then
echo "\$XDG_RUNTIME_DIR ($XDG_RUNTIME_DIR) not writable. Unsetting." >&2
unset XDG_RUNTIME_DIR
else
export XDG_RUNTIME_DIR
fi
Они не установлены по умолчанию в Ubuntu 14.04 LTS.
Я не вижу способа навязать такое поведение глобально, поскольку пути конфигурации по умолчанию обычно жестко запрограммированы в программах.
Если вы ищете простой способ сделать резервную копию всех ваших настроек, вы можете создать символические ссылки для каждого приложения из ~/.app
в ~/.config/app
, Хотя это, к сожалению, не будет загромождать ваш дом, все файлы конфигурации будут сохранены в ~/.config
для облегчения резервного копирования.