据我了解,XDG 指南建议应用程序将其配置存储在$XDG_CONFIG_HOME/APP
(通常~/.config/APP
)而不是~/.APP
(我不确定是否也有 Debian/Ubuntu 指南?)。但是,我发现许多配置文件和文件夹使用较旧的~/.APP
约定。
有没有办法全局强制未确认的应用程序使用 XDG 文件夹约定?
或者我是否只需要为每个项目登记一张票?:D
答案1
我没有找到一种可以全局强制这种行为的方法,因为默认配置路径通常是硬编码到程序中的。
如果您正在寻找一种简单的方法来备份所有配置,您可以为每个应用程序创建从 到~/.app
的符号链接~/.config/app
。虽然这不幸不会让您的家变得整洁,但所有配置文件都将保存在 中,~/.config
以便于备份。
答案2
我在以下网址找到了一些出色的配置信息XDG 基本目录支持。
这为设置以下内容提供了很好的提示:
export LESSHISTFILE="$XDG_CACHE_HOME"/less/history
以便旧的配置/缓存/数据文件仍然可以使用 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/title/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 上不是默认设置的。