Как заставить все приложения использовать $ XDG_CONFIG_HOME вместо ~ / .APP?

Насколько я понимаю, рекомендации XDG рекомендуют, чтобы приложения хранили свою конфигурацию в $XDG_CONFIG_HOME/APP (обычно ~/.config/APP), а не в ~/.APP (я не уверен, что есть и Debian Руководство по Ubuntu?). Тем не менее, я нашел несколько файлов конфигурации и папок, использующих старое соглашение ~/.APP.

Есть ли способ принудительно заставить неподтверждающие приложения использовать соглашения о папках XDG?

Или мне просто нужно регистрировать заявку в каждом проекте? : D

4
задан 7 October 2016 в 21:33

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.

0
ответ дан 7 October 2016 в 21:33

Я не вижу способа навязать такое поведение глобально, поскольку пути конфигурации по умолчанию обычно жестко запрограммированы в программах.

Если вы ищете простой способ сделать резервную копию всех ваших настроек, вы можете создать символические ссылки для каждого приложения с ~/.app по ~/.config/app. Хотя это, к сожалению, не будет загромождать ваш дом, все файлы конфигурации будут сохранены в ~/.config для упрощения резервного копирования.

0
ответ дан 7 October 2016 в 21:33

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

Похожие вопросы: