Как заставить все приложения использовать $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 для облегчения резервного копирования.

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