XDG Base Directory
本文总结了 XDG Base Directory 规范,并在 #规范 中进行了 #支持 方面的软件支持跟踪。
规范
请阅读完整规范。本节将尝试分解其试图实现的核心内容。
只有 XDG_RUNTIME_DIR
通过 pam_systemd(8) 默认设置。 其他变量需要用户根据规范显式定义。 更改它可能会导致 pipewire 和 chromium 上的屏幕共享出现问题。
有关定义变量的信息,请参阅 环境变量#全局。
用户目录
XDG_CONFIG_HOME
- 应写入用户特定配置的位置(类似于
/etc
)。 - 应默认为
$HOME/.config
。
- 应写入用户特定配置的位置(类似于
XDG_CACHE_HOME
- 应写入用户特定的非必要(缓存)数据的位置(类似于
/var/cache
)。 - 应默认为
$HOME/.cache
。
- 应写入用户特定的非必要(缓存)数据的位置(类似于
XDG_DATA_HOME
- 应写入用户特定数据文件的位置(类似于
/usr/share
)。 - 应默认为
$HOME/.local/share
。
- 应写入用户特定数据文件的位置(类似于
XDG_STATE_HOME
- 应写入用户特定状态文件的位置(类似于
/var/lib
)。 - 应默认为
$HOME/.local/state
。
- 应写入用户特定状态文件的位置(类似于
XDG_RUNTIME_DIR
- 用于非必要的用户特定数据文件,例如套接字、命名管道等。
- 不需要具有默认值;如果未设置或未提供等效项,则应发出警告。
- 必须由用户拥有,访问模式为
0700
。 - 文件系统功能齐全,符合操作系统标准。
- 必须位于本地文件系统上。
- 可能会定期清理。
- 如果需要持久性,则每 6 小时修改一次或设置粘滞位。
- 只能在用户登录期间存在。
- 不应存储大型文件,因为它可能作为 tmpfs 挂载。
- pam_systemd 将其设置为
/run/user/$UID
。
系统目录
XDG_DATA_DIRS
- 以
:
分隔的目录列表(类似于PATH
)。 - 应默认为
/usr/local/share:/usr/share
。
- 以
XDG_CONFIG_DIRS
- 以
:
分隔的目录列表(类似于PATH
)。 - 应默认为
/etc/xdg
。
- 以
支持
本节旨在编目不断增长的软件集,这些软件使用 2003 年引入的 XDG Base Directory 规范。 此处旨在通过列出常见的点文件及其支持状态来证明此规范的可行性。 对于当前不支持 Base Directory 规范的软件,将演示解决方法以模拟它。
解决方法将仅限于不涉及修补源代码、执行存储在环境变量中的代码或编译时选项的任何内容。 这样做的理由是配置应在系统之间可移植,并且具有编译时选项会阻止这种情况发生。
希望这将提供关于特定类型的点文件到底是什么以及它们来自何处的信息来源。
贡献
贡献时,请确保使用正确的部分。
任何内容都不应需要代码评估、补丁或编译时选项才能获得支持,并且任何需要这些操作的内容都必须被视为硬编码。 此外,如果该过程容易出错或困难,也应将其归类为硬编码。
- 第一列应是指向内部文章的链接、Template:Pkg 或 Template:AUR。
- 第二列用于项目拥有的任何旧文件和目录(每行一个),这样做是为了让人们即使在不再读取它们的情况下也能找到它们。
- 在第三列中,尝试找到项目切换到 XDG Base Directory 的提交或版本,或任何公开讨论,并将它们包含在接下来的两列中(每行两个)。
- 最后一列应包含任何适当的解决方法或解决方案。 请验证您的解决方案是否正确且功能正常。
支持
应用程序 | 旧路径 | 支持起始版本 | 讨论 | 注释 |
---|---|---|---|---|
act | ~/.actrc
|
1656 | [1] | XDG_CONFIG_HOME/act/actrc
如果存在 |
aerc | fff1664 | XDG_CONFIG_HOME/aerc/aerc.conf
| ||
ALSA | ~/.asoundrc
|
577df36 | [2] | XDG_CONFIG_HOME/alsa/asoundrc
|
anacondaAUR | ~/.conda/.condarc , ~/.conda/condarc , ~/.conda/condarc.d/ , ~/.condarc |
4.11.0 | [3] [4] | |
Android Studio | ~/.AndroidStudioX.X
|
Android Studio 4.1 |
XDG_CONFIG_HOME/Google/AndroidStudioX.X XDG_DATA_HOME/Google/AndroidStudioX.X XDG_CACHE_HOME/Google/AndroidStudioX.X Google 提供的位置概述 没有提及 XDG - 路径可能是硬编码而不是使用正确的变量,尽管这不太可能,因为 Android Studio 基于的 Intellij IDEA 也正确地实现了它 | |
Anki | ~/Anki , ~/Documents/Anki |
[5] [6] [7] | 如果不存在旧位置,则默认使用 $XDG_DATA_HOME/Anki2 ,可以使用 anki -b <anki_dir> 更改 | |
antimicrox | ~/.antimicro , ~/.antimicrox |
edba864 | [8] | |
apvlvAUR | ~/.apvlvrc
|
[9] | [10] | 如果存在,现在使用 XDG_CONFIG_HOME/apvlv/apvlvrc 。 |
aria2 | ~/.aria2
|
8bc1d37 | [11] |
XDG_CONFIG_HOME/aria2/ XDG_CACHE_HOME/aria2/ |
atuin | ~/.config/atuin ~/.local/share/atuin |
156893d |
XDG_CONFIG_HOME/atuin/config.toml XDG_DATA_HOME/atuin/history.db | |
asunderAUR | ~/.asunder ~/.asunder_album_artist ~/.asunder_album_genre ~/.asunder_album_title |
2.9.0[死链接 2021-05-17 ⓘ] | [12][死链接 2021-05-17 ⓘ] | 对 ~/.asunder 使用 XDG_CONFIG_HOME/asunder/asunder ,对其他 3 个文件使用 XDG_CACHE_HOME/asunder/asunder_album_... 。 迁移后不会删除旧路径,必须手动删除它们。 |
audacity | ~/.audacity-data/
|
3.2.0 | [13] | 如果旧路径不存在,则使用新位置XDG_CONFIG_HOME/audacity XDG_DATA_HOME/audacity |
btop | b5e709d | XDG_CONFIG_HOME/btop
| ||
binwalk | ~/.binwalk
|
2051757 | [14] | XDG_CONFIG_HOME/binwalk
|
bitwarden-cli | ~/.config/Bitwarden CLI
|
1.7.1 | [15] |
XDG_CONFIG_HOME/Bitwarden CLI XDG_DATA_HOME/audacity
当前包含一个包含所有 vault 数据的 |
Blender | ~/.blender
|
4293f47 | [16] | |
borgmatic | ~/.borgmatic/
|
1.9.0 | [17] | |
byobu | ~/.byobu
|
4.17 | [18] |
如果存在旧路径,或者如果未设置 |
cabal | ~/.cabal/
|
9f7dc55 v3.10.1.0 | [19] | |
calcurse | ~/.calcurse
|
04162d | [20] [21] |
XDG_CONFIG_HOME/calcurse XDG_DATA_HOME/calcurse 如果旧路径 |
calibre | ||||
ccache | ~/.ccache
|
4.0 | [22] |
XDG_CACHE_HOME/ccache XDG_CONFIG_HOME/ccache/ccache.conf |
catfish | ~/.config/catfish
|
af65ed25 | [23] | |
clangd | ~/.clangd
|
fdf7dcc[死链接 2022-09-23 ⓘ] | [24] | XDG_CONFIG_HOME/clangd/config.yml
项目特定配置可以在 |
clifmAUR | ~/.config/clifm/
|
9d6e482 | XDG_CONFIG_HOME/clifm/
| |
Composer | ~/.composer
|
1.0.0-beta1 | [25] | |
crossnote | ~/.mume
|
d714a82 | [26] | $XDG_CONFIG_HOME/mume
如果旧路径存在,它将优先。 |
ctags (universal-ctags) | ~/.ctagsrc, .ctags.d
|
68da03a | Issue 89 | 在启动时,Universal-ctags 加载文件扩展名为 `.ctags` 的文件,位于: $XDG_CONFIG_HOME/ctags 参见 Ctags 选项文件。 |
cURL | ~/.curlrc
|
7.73.0 | [27] | XDG_CONFIG_HOME/.curlrc
|
CUPS | ~/.cups/
|
23b1be6 | [28] |
libcups 在 v3 中添加了 XDG 支持(仍在测试版中)。 官方存储库中的版本仍然硬编码为 |
dconf | ||||
Dolphin emulator | ~/.dolphin-emu
|
a498c68 | [29] | |
dr14_t.meter-gitAUR | 7e777ca | [30] | XDG_CONFIG_HOME/dr14tmeter/
| |
dunst | 78b6e2b | [31] | XDG_CONFIG_HOME/dunst/
| |
Emacs | ~/.emacs ~/.emacs.d/init.el |
[32] | XDG_CONFIG_HOME/emacs/init.el
旧路径优先于 XDG 路径。 Emacs 永远不会创建 | |
fish | ||||
fltk | ~/.fltk/
|
7308bcd | [33] [34] | 仅在 1.4.0 版本中支持,该版本尚未发布(截至 2022 年 7 月 9 日) |
fontconfig | ~/.fontconfig ~/.fonts |
8c255fb, [35] | 配置位于 XDG_CONFIG_HOME/fontconfig/fonts.conf 或 XDG_CONFIG_HOME/fontconfig/conf.d/ 中,字体存储在 XDG_DATA_HOME/fonts/ 中 | |
fontforge | ~/.FontForge ~/.PfaEdit |
e4c2cc7 | ||
freecad | ~/.FreeCAD
|
e7e2994ba | [38] | 默认为XDG_CONFIG_HOME/FreeCAD XDG_DATA_HOME/FreeCAD XDG_CACHE_HOME/FreeCAD 可以使用 |
freerdp | ~/.freerdp
|
edf6e72 | ||
Gajim | ~/.gajim
|
3e777ea | [39] | |
gconfAUR | ~/.gconf
|
fc28caa | [40] | |
GDB | ~/.gdbinit , ~/.gdb_history |
11.1 | XDG_CONFIG_HOME/gdb/gdbinit , export GDBHISTFILE="$XDG_DATA_HOME"/gdb/history | |
ghidra | ~/.ghidra/
|
3b0aac9 | [41] | |
GIMP | ~/.gimp-x.y ~/.thumbnails |
|||
Git | ~/.gitconfig , ~/.gitignore , ~/.gitattributes , ~/.git-credentials , ~/.gitk |
0d94427, dc79687, 684e40f | Git Config, Git Attributes, Git Credentials, gitk | XDG_CONFIG_HOME/git/config , XDG_CONFIG_HOME/git/ignore , XDG_CONFIG_HOME/git/attributes , XDG_CONFIG_HOME/git/credentials , XDG_CONFIG_HOME/git/gitk |
gops | 71c4255 | |||
gnuplot | ~/.gnuplot_history
|
a5562b1 | ||
goobookAUR | ~/.goobookrc
|
3.5 | [45] | XDG_CONFIG_HOME/goobookrc
|
Godot Engine | ~/.godot
|
73049d1 | [46] | |
GStreamer | ~/.gstreamer-0.10
|
4e36f93 | [47] | |
GTK 3 | ||||
Haskell#Stack | ~/.stack
|
2.9.3 | [48] | 默认为旧版模式。使用 export STACK_XDG=1 使其符合规范。旧方法 |
helm | ~/.helm
|
3.0.0 | ||
htop | ~/.htoprc
|
93233a6 | XDG_CONFIG_HOME/htop/htoprc
| |
httpie | ~/.httpie
|
5af0874 | [50] | |
hunspell | ~/.hunspell_default.
|
[51] | ||
i3 | ~/.i3
|
7c130fb | ||
i3blocks, i3blocks-gitAUR | [52] | |||
i3status | ~/.i3status.conf
|
c3f7fc4 | ||
i3status-rust | ||||
IdeaVim | ~/.ideavimrc
|
0.54.1-EAP | [53] | XDG_CONFIG_HOME/ideavim/ideavimrc
|
imagemagick | ||||
iotop-c | ~/.config/iotop
|
[54] | [55] | |
Inkscape | ~/.inkscape
|
0.47 | [56] | |
ipython | ~/.ipython
|
8.0.0 | [57] | 检查 $XDG_CONFIG_HOME/ipython (如果 XDG_CONFIG_HOME 未设置,则检查 ~/.config/ipython ) 是否存在,否则使用 ~/.ipython 。 |
iwd / iwctl | ~/.iwctl_history
|
d3e00d7f | ||
intellij-idea-community-edition / intellij-idea-ultimate-editionAUR | ~/.IntelliJIdeaXXXX.X
|
2020.1 | [58] |
XDG_CONFIG_HOME/JetBrains/IntelliJIdeaXXXX.X XDG_DATA_HOME/JetBrains/IntelliJIdeaXXXX.X XDG_CACHE_HOME/JetBrains/IntelliJIdeaXXXX.X |
josm | ~/.josm
|
11162 | [59] | |
jupyter | ~/.jupyter
|
在 5.0 中选择启用,在 6.0 中选择禁用,在 7.0 中强制执行 (更新日志) | XDG_CONFIG_HOME/jupyter
| |
Kakoune | ||||
keynavAUR | ~/.keynavrc
|
XDG_CONFIG_HOME/keynav/keynavrc
| ||
less | ~/.lesskey , ~/.lesshst |
590
在 598 中完全支持 |
[60] | 环境变量 XDG_CONFIG_HOME 和 XDG_DATA_HOME 在 590 版本中必须设置。在 598 版本中不再需要。
|
latexmk (在 texlive-binextra 中) | ~/.latexmkrc
|
| ||
lftp | ~/.lftp
|
21dc400 | [61] | |
lgogdownloaderAUR | ~/.gogdownloader
|
d430af6 | [62] | |
luarocks | ~/.luarocks
|
cd16cdd | [63] |
XDG_CONFIG_HOME/luarocks XDG_CACHE_HOME/luarocks 如果旧路径 |
mangohud | 65b90fc | [64] | XDG_CONFIG_HOME/MangoHud
| |
mc | ~/.mc
|
[65] | ||
Mercurial | ~/.hgrc
|
XDG_CONFIG_HOME/hg/hgrc .
| ||
mesa | 87ab26b | XDG_CACHE_HOME/mesa
| ||
milkytracker | ~/.milkytracker_config
|
eb487c5 | [66] | |
mlterm | ~/.mlterm/
|
71df071 | [67] | XDG_CONFIG_HOME/mlterm/
|
nmcli | ~/.nmcli-history
|
1.52.0 | [68] [69] [70] | XDG_CACHE_HOME/nmcli-history
|
mozc | ~/.mozc
|
91cc1e1 | [71] | |
mpd | ~/.mpdconf
|
87b7328 | ||
mpv | ~/.mpv
|
cb250d4 | [72] | |
msmtp | ~/.msmtprc
|
af2f409 v1.6.7+ |
XDG_CONFIG_HOME/msmtp/config .
| |
mutt | ~/.mutt
|
b17cd67 | [73] | |
mypaint | ~/.mypaint
|
cf723b7 | ||
nano | ~/.nano/ ~/.nanorc |
c16e79b | [74] | |
ncmpcpp | ~/.ncmpcpp ~/.lyrics |
应设置 ncmpcpp_directory 以避免在 ~/.ncmpcpp 中出现 error.log 文件。并且可以将 lyrics_directory 设置为 ~/.cache/ncmpcpp-lyrics 以避免 ~/.lyrics 。 | ||
Neovim | ~/.nvim ~/.nvimlog ~/.nviminfo |
1ca5646bb | ||
Nestopia UE | ~/.nestopia/
|
610c008 1.51.0 | [80] | |
newsboat | ~/.newsboat
|
3c57824 | [81] | 需要创建两个目录 [82]
|
node-gyp | ~/.node-gyp
|
2b5ce52a | [83] | |
np2kai-gitAUR | ~/.config/np2kai ~/.config/xnp2kai |
56a1cc2 | [84] | |
notmuch | ~/.notmuch-config
|
[85] | mkdir -p $XDG_CONFIG_HOME/notmuch/default; mv ~/.notmuch-config $XDG_CONFIG_HOME/notmuch/default/config
| |
NSS | ~/.pki
|
3.42 (da45424) | [86] | 请参阅 Chromium 以了解现有问题。 |
nteract-binAUR | 4593e72 | [87] [88] | 无法识别 ipython/jupyter 的解决方法 | |
ocaml-utopAUR | ~/.utop-history
|
2.13.0 | [89] | XDG_STATE_HOME/utop/utop-history
|
OfflineIMAP | ~/.offlineimaprc
|
5150de5 | [90] | XDG_CONFIG_HOME/offlineimap/config
|
openal | ~/.alsoftrc
|
3c90ed9 | XDG_CONFIG_HOME/alsoft.conf
| |
opentyrianAUR | ~/.opentyrian
|
39559c3 | [91] | |
oscAUR | ~/.oscrc ~/.osc_cookiejar |
6bc2d3f | github.com/openSUSE/osc/pull/940 |
如果旧路径存在,则旧路径优先 |
pam-u2f | ~/.config/Yubico/u2f_keys
|
ad52dd8 | [92] | XDG_CONFIG_HOME/Yubico/u2f_keys
|
pandoc-cli | ~/.pandoc/
|
0bed0ab | [93] | |
PCManFM | ~/.thumbnails
|
1.3.2 | ||
pcsx2AUR | ~/.pcsx2
|
[94] [95] | ||
pdfsamAUR | ~/.openjfx
|
export _JAVA_OPTIONS=-Djavafx.cachedir="$XDG_CACHE_HOME"/openjfx
| ||
Pry | ~/.pryrc ~/.pry_history |
[96] | ||
python-autoimportAUR | ~/.config/autoimport/config.toml
|
1.2.0 | [97] | XDG_CONFIG_HOME/autoimport/config.toml
|
python-black | ~/.config/black
|
21.4b0 | [98] | XDG_CONFIG_HOME/black , XDG_CACHE_HOME/black/<version>/ |
python-pylint | ~/.pylint.d
|
2.10 | [99][死链 2024-10-12 ⓘ] | 以前是 export PYLINTHOME="$XDG_CACHE_HOME"/pylint ,全局配置仍然需要: export PYLINTRC="$XDG_CONFIG_HOME"/pylint/pylintrc |
python-pip | ~/.pip
|
6.0 | [100] | |
python-pipx | ~/.local/pipx
|
c3d8de9 | [101] | 为了兼容性,如果 ~/.local/pipx 存在,pipx 将恢复到 ~/.local/pipx 。使用 python-platformdirs 实现 |
python-poetry | ~/.poetry
|
[102] | [103] | |
powershellAUR | 6.0 | |||
ppsspp | ~/.ppsspp
|
132fe47 | [104] | |
procps-ng | ~/.toprc
|
af53e17 | ||
pacman | ~/.makepkg.conf
|
80eca94 | [107] | |
panda3dAUR | ~/.panda3d
|
2b537d2 | ||
pnpm | ~/.pnpm-store
|
[108] [109] | [110] | |
poezioAUR | ||||
PulseAudio | ~/.pulse ~/.pulse-cookie |
[111] | Steam 可能仍然会创建 ~/.pulse-cookie 。将 cookie-file = ~/.config/pulse/cookie 添加到 /etc/pulse/client.conf 以摆脱它。 | |
pyroomAUR | ||||
quodlibet | ~/.quodlibet
|
3.10.0 | [112] | |
qutebrowser | ||||
qtile | [113] | 一些可选的栏小部件可能会在不合规的路径中创建文件和目录,但大多数情况下这些仍然是可配置的。 | ||
rclone | ~/.rclone.conf
|
9d36258 | [114] | |
retroarch | ||||
ripgrep-all | ~/.cache/rga
|
963524b v0.10.3 | [115] [116] [117] | |
rrAUR | ~/.rr
|
02e7d41 | [118] | |
RSpec | ~/.rspec
|
5e395e2 | [119] | |
rTorrent | ~/.rtorrent.rc
|
6a8d332 | ||
RuboCop | ~/.rubocop.yml
|
6fe5956 | [120] | |
Ruby#RubyGems | ~/.gem
|
3.0.0 (5c6269c) | [121] |
XDG_CONFIG_HOME/gem/gemrc XDG_CONFIG_HOME/irb XDG_DATA_HOME/gem XDG_DATA_HOME/rdoc |
sandboxd | ~/.sandboxrc
|
[122] | [123] | XDG_CONFIG_HOME/sandboxd/sandboxrc
|
scribus | ~/.scribus
|
1.5.3 | ||
scummvm | ~/.scummvmrc ~/.scummvm/ |
7d014be | [124] | 需要手动迁移数据。
|
sdcv | ~/.stardict/ ~/.sdcv_history |
958ec35 | [125] | |
shellcheck | ~/.shellcheckrc
|
581bcc3 | XDG_CONFIG_HOME/shellcheckrc
有关更多信息,请参阅 Shellcheck RC 文件。 | |
snes9x | ~/.snes9x
|
93b5f11 | [126] | 默认情况下,配置文件留空,目的是让用户随意填写(通过 gui 或手动)。 |
spectrwm | ~/.spectrwm
|
a30bbb | [127] | |
sublime-text-devAUR | build 4105 | 在 build 4105 之前,缓存放置在 XDG_CONFIG_HOME/sublime-text-3/Cache 中。 | ||
surfraw | ~/.surfraw.conf ~/.surfraw.bookmarks |
|||
sway | ~/.sway/config
|
614393c | [128] | XDG_CONFIG_HOME/sway/config
|
sxhkd | ||||
systemd | ||||
teeworlds | ~/.teeworlds
|
[129] | ||
termite | ||||
tig | ~/.tigrc , ~/.tig_history |
2.2 | [130] | ~/.local/share/tig 目录必须存在,否则写入 ~/.tig_history 。 |
TigerVNC | ~/.vnc
|
1.14.0 | [131] | |
主题 (桌面) | ~/.icons/ , ~/.themes/ |
[132] | XDG_DATA_HOME/icons
对于 Qt 程序、Wayland 上的 GTK 或 Qt 程序要使用 | |
tmux | ~/.tmux.conf
|
3.1 | [133] | 3.1 引入了 ~/.config/tmux/tmux.conf ,在 3.2 中添加了 XDG_CONFIG_HOME/tmux/tmux.conf |
tmuxp | ~/.tmuxp
|
1.5.0 | [134] | 在 1.5.2 中修复 |
tmuxinatorAUR | ~/.tmuxinator
|
2636923 | [135] | |
Transmission | ~/.transmission
|
b71a298 | ||
util-linux | 570b321 | |||
yapf | a0b51d2 | [136] | $XDG_CONFIG_HOME/yapf/style
| |
Uzbl | c6fd63a | [137] | ||
vale | ~/.vale.ini
|
3.0.0 | ||
vim | ~/.vim , ~/.vimrc , ~/.viminfo |
c9df1fb | [138] | XDG_CONFIG_HOME/vim/vimrc
有关更多详细信息,请参阅 :h xdg-base-dir。 viminfo 文件可以使用 |
vimb | ||||
VirtualBox | ~/.VirtualBox
|
4.3 | [139] | |
vis | ~/.vis
|
[140] | ||
VLC | ~/.vlcrc
|
16f32e1 | [141] | |
warsow | ~/.warsow-2.x
|
98ece3f | [142] | |
WeeChat | ~/.weechat
|
[143] | [144] [145][死链 2023-05-06 ⓘ] |
XDG_CONFIG_HOME/weechat XDG_CACHE_HOME/weechat XDG_DATA_HOME/weechat |
Wireshark | ~/.wireshark
|
b0b53fa[死链 2022-09-23 ⓘ] | ||
wxWidgets | [146] | |||
XKB | ~/.xkb
|
|||
Xsettingsd | ~/.xsettingsd
|
b4999f5 | ||
xmobar | ~/.xmobarrc
|
7b0d6bf[死链接 2024-07-30 ⓘ] | [147][死链接 2024-07-30 ⓘ] | XDG_CONFIG_HOME/xmobar/xmobarrc
|
xmonad | ~/.xmonad/
|
40fc10b | All of these must exist, otherwise it gives up and falls back to ~/.xmonad/ for eachXDG_CACHE_HOME/xmonad XDG_CONFIG_HOME/xmonad XDG_DATA_HOME/xmonad Alternatively, it always respects | |
xonsh | ~/.xonshrc
|
[151] | $XDG_CONFIG_HOME/xonsh/rc.xsh
| |
xournalpp | ~/.xournalpp
|
20db937f | [152] | |
xsel | ~/.xsel.log
|
ee7b481 | [154] | |
Zim | e42b8b0 |
$XDG_CONFIG_HOME/zim/preferences.conf $XDG_CONFIG_HOME/zim/notebooks.list | ||
zoxide | ~/.zo
|
0.3.0 | [155] | |
zutils | ~/.zutilsrc
|
1.12 |
$XDG_CONFIG_HOME/zutils.conf |
Partial
应用程序 | 旧路径 | 支持起始版本 | 讨论 | 注释 |
---|---|---|---|---|
abookAUR | ~/.abook
|
abook --config "$XDG_CONFIG_HOME"/abook/abookrc --datafile "$XDG_DATA_HOME"/abook/addressbook
| ||
ack | ~/.ackrc
|
[156] | export ACKRC="$XDG_CONFIG_HOME/ack/ackrc"
| |
Ansible | ~/.ansible
|
2.14 | [157] [158] [159] | export ANSIBLE_HOME="${XDG_CONFIG_HOME}/ansible" export ANSIBLE_CONFIG="${XDG_CONFIG_HOME}/ansible.cfg" export ANSIBLE_GALAXY_CACHE_DIR="${XDG_CACHE_HOME}/ansible/galaxy_cache"[160] The remote's |
asdf-vmAUR | ~/.asdfrc , ~/.asdf/ |
[163] | export ASDF_CONFIG_FILE="${XDG_CONFIG_HOME}/asdf/asdfrc" , export ASDF_DATA_DIR="${XDG_DATA_HOME}/asdf" | |
aspell | ~/.aspell.conf
|
[164] | Very incomplete. The following re-locates the en dictionaries, but additional possible dictionaries are not specificed here for brevity. export ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_DATA_HOME/aspell/en.pws; repl $XDG_DATA_HOME/aspell/en.prepl" | |
aws-cli | ~/.aws
|
1.7.45 | [165] | export AWS_SHARED_CREDENTIALS_FILE="$XDG_CONFIG_HOME"/aws/credentials , export AWS_CONFIG_FILE="$XDG_CONFIG_HOME"/aws/config |
bash-completion | ~/.bash_completion
|
export BASH_COMPLETION_USER_FILE="$XDG_CONFIG_HOME"/bash-completion/bash_completion
| ||
bashdbAUR | ~/.bashdbinit, ~/.bashdb_hist
|
Like documented at [166], you can specify a file to run commands from. Thus, move the init file to XDG_CONFIG_HOME/bashdb/bashdbinit and create an alias alias bashdb='bashdb -x ${XDG_CONFIG_HOME:-$HOME/.config}/bashdb/bashdbinit' . Unfortunately the history file is hardcoded [167]. | ||
bazaar | ~/.bazaar , ~/.bzr.log |
2.3.0 | [168] | Discussion in upstream bug states that bazaar will use ~/.config/bazaar if it exists. The logfile ~/.bzr.log might still be written. |
bogofilter-db | ~/.bogofilter
|
0.7.5 | [169] | export BOGOFILTER_DIR="$XDG_DATA_HOME"/bogofilter
|
btpd-gitAUR | ~/.btpd/
|
[170] | btpd -d "$XDG_DATA_HOME"/.btpd
| |
bunAUR | ~/.bun/
|
[171] | Bun will prioritize using $XDG_CONFIG_HOME , $XDG_CACHE_HOME , and/or $XDG_DATA_HOME when these have explicitly been set. As an alternative, export BUN_INSTALL="$XDG_DATA_HOME"/bun can be used to set bun 's main location for its directories. | |
calc | ~/.calc_history
|
export CALCHISTFILE="$XDG_CACHE_HOME"/calc_history | ||
Rust#Cargo | ~/.cargo
|
[172] [173] [174] [175] | export CARGO_HOME="$XDG_DATA_HOME"/cargo
| |
cataclysm-dda | ~/.cataclysm-dda
|
0.D-1 | [176] | partial support due to required compile time option |
cd-bookmark | ~/.cdbookmark
|
[177] | export CD_BOOKMARK_FILE=$XDG_CONFIG_HOME/cd-bookmark/bookmarks
or use the fork that has native XDG support: [178] | |
cgdb | ~/.cgdb
|
[On master branch, but no release yet] | [179] [180] | Set export CGDB_DIR=$XDG_CONFIG_HOME/cgdb and move the config file to XDG_CONFIG_HOME/cgdb/cgdbrc |
chez-schemeAUR | ~/.chezscheme_history
|
petite --eehistory "$XDG_DATA_HOME"/chezscheme/history
| ||
chktex in texlive-binextra | ~/.chktexrc
|
Move the config file to $XDG_CONFIG_HOME/chktex/.chktexrc (mind the leading dot) and export CHKTEXRC=$XDG_CONFIG_HOME/chktex | ||
Chromium | ~/.chromium , ~/.pki |
23057 | [181] [182] [183] | Deliberately (according to these sources) clobbers ~/.config by writing hundreds of megabytes of cache data into it. Quite unsupported.Chromium creates .pki due to not setting up NSS properly even though NSS itself allows using XDG spec now. This results in downstream from it not working as well (Qt WebEngine especially affecting many cases like KMail and etc.) |
cinelerra | ~/.bcast5
|
[184] | export CIN_CONFIG="$XDG_CONFIG_HOME"/bcast5
| |
conky | ~/.conkyrc
|
00481ee | [185] | conky --config="$XDG_CONFIG_HOME"/conky/conkyrc
|
claws-mail | ~/.claws-mail
|
[186] | claws-mail --alternate-config-dir "$XDG_DATA_HOME"/claws-mail
| |
coreutils | ~/.dircolors
|
eval $(dircolors "$XDG_CONFIG_HOME"/dircolors)
| ||
crawl | ~/.crawl
|
The trailing slash is required
| ||
clusterssh | ~/.clusterssh/
|
alias cssh="cssh --config-file '$XDG_CONFIG_HOME/clusterssh/config'"
$XDG_CONFIG_HOME/clusterssh/config extra_cluster_file=$HOME/.config/clusterssh/clusters extra_tag_file=$HOME/.config/clusterssh/tags Despite this, clusterssh will still create | ||
CUDA | ~/.nv
|
export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
| ||
dict | ~/.dictrc
|
dict -c "$XDG_CONFIG_HOME"/dict/dictrc
| ||
discord | ${XDG_CONFIG_HOME}/discord
|
As of version 0.0.27 Undocumented, though actively used: Source: | ||
Docker | ~/.docker
|
export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker
| ||
docker-machine | ~/.docker/machine
|
export MACHINE_STORAGE_PATH="$XDG_DATA_HOME"/docker-machine
| ||
DOSBox | ~/.dosbox/dosbox-0.74-2.conf
|
[187] | dosbox -conf "$XDG_CONFIG_HOME"/dosbox/dosbox.conf
| |
dub | ~/.dub
|
v1.30.0-beta.1 | Dub uses the ~/.dub directory for both user settings and caching downloaded packages. The directory can only be moved as a whole, using export DUB_HOME="path/to/new/dub" . | |
Electrum Bitcoin Wallet | ~/.electrum
|
c121230 | export ELECTRUMDIR="$XDG_DATA_HOME/electrum"
| |
ELinks | ~/.elinks
|
export ELINKS_CONFDIR="$XDG_CONFIG_HOME"/elinks
| ||
elixir | ~/.mix , ~/.hex |
afaf889 | [188] [189] | Elixir does not fully conform to XDG specs, it will use XDG only if the MIX_XDG variable is set to a special value, otherwise it will by default use legacy path.
|
Elm | ~/.elm
|
export ELM_HOME="$XDG_CONFIG_HOME"/elm
| ||
factorioAUR | ~/.factorio/
|
[190] [191] | Factorio supports manually specifying data paths with a config file: [192]__Game_Install_directory/config-path.cfg use-system-read-write-data-directories=true __Game_Install_directory/config/config.ini [path] read-data=__PATH__executable__/../../data write-data=.local/share/factorio | |
fceux | ~/.fceux/
|
[193] | export FCEUX_HOME="$XDG_CONFIG_HOME"/fceux . Fceux will create .fceux directory inside $FCEUX_HOME . | |
FFmpeg | ~/.ffmpeg
|
export FFMPEG_DATADIR="$XDG_CONFIG_HOME"/ffmpeg
| ||
flutterAUR | ~/.flutter , ~/.flutter_settings , ~/.flutter_tool_state , ~/.pub-cache |
[194] | ||
fzf-gitAUR | ~/.fzf.bash, ~/.fzf.zsh
|
[195] | The shell init files will be installed to XDG_CONFIG_HOME/fzf if the installation script is called with --xdg for example /usr/local/opt/fzf/install --xdg . | |
emscripten | ~/.emscripten , ~/.emscripten_sanity , ~/.emscripten_ports , ~/.emscripten_cache__last_clear |
[196] | export EM_CONFIG="$XDG_CONFIG_HOME"/emscripten/config , export EM_CACHE="$XDG_CACHE_HOME"/emscripten/cache , export EM_PORTS="$XDG_DATA_HOME"/emscripten/cache , emcc --em-config "$XDG_CONFIG_HOME"/emscripten/config --em-cache "$XDG_CACHE_HOME"/emscripten/cache | |
get_iplayerAUR | ~/.get_iplayer
|
export GETIPLAYERUSERPREFS="$XDG_DATA_HOME"/get_iplayer
| ||
getmail | ~/.getmail/getmailrc
|
getmail --rcfile="$XDG_CONFIG_HOME/getmail/getmailrc" --getmaildir="$XDG_DATA_HOME/getmail"
| ||
ghc | ~/.ghci
|
[197] | [198] | Supported upstream from 9.4.1 [199], but as of 2022-09-24 Arch package is 9.0.2 and not yet up-to-date. |
ghcup-hs-binAUR | ~/.ghcup
|
[200] | [201] | export GHCUP_USE_XDG_DIRS=true
The environment variable |
glivAUR | ~/.glivrc
|
gliv --glivrc="$XDG_CONFIG_HOME"/gliv/glivrc
| ||
gnuradio | ~/.gnuradio
|
[203] | GNU Radio
GNU Radio Companion: | |
GnuPG | ~/.gnupg
|
[204] [205] | export GNUPGHOME="$XDG_DATA_HOME"/gnupg , gpg2 --homedir "$XDG_DATA_HOME"/gnupg Note that this currently does not work out-of-the-box using systemd user units and socket-based activation, since the socket directory changes based on the hash of [Service] Environment="GNUPGHOME=%h/.local/share/gnupg" If you use GPG as your SSH agent, set | |
Go | ~/go
|
[206] | export GOPATH="$XDG_DATA_HOME"/go , export GOMODCACHE="$XDG_CACHE_HOME"/go/mod If | |
Google Earth | ~/.googleearth
|
Some paths can be changed with the KMLPath and CachePath options in ~/.config/Google/GoogleEarthPlus.conf | ||
gopass | ~/.password-store
|
Override settings in ~/.config/gopass/config.yml ~/.config/gopass/config.yml root: path: gpgcli-gitcli-fs+file:///home/<userid>/.config/password-store | ||
gpodder | ~/gPodder
|
GPODDER_DOWNLOAD_DIR sets the download folder. GPODDER_HOME - where config and database files are stored, downloads also if GPODDER_DOWNLOAD_DIR is not set. | ||
GQ LDAP client | ~/.gq , ~/.gq-state |
1.51 | export GQRC="$XDG_CONFIG_HOME"/gqrc , export GQSTATE="$XDG_DATA_HOME"/gq/gq-state , mkdir -p "$(dirname "$GQSTATE")" | |
Gradle | ~/.gradle
|
[209] | export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
| |
GTK 1 | ~/.gtkrc
|
export GTK_RC_FILES="$XDG_CONFIG_HOME"/gtk-1.0/gtkrc
| ||
GTK 2 | ~/.gtkrc-2.0
|
export GTK2_RC_FILES="$XDG_CONFIG_HOME/gtk-2.0/gtkrc":"$XDG_CONFIG_HOME/gtk-2.0/gtkrc.mine"
If Lxappearance is used, To prevent KDE Plasma from creating this file, disable the "GNOME/GTK Settings Synchronization" background service. | ||
hledger | ~/.hledger.journal
|
[211] | export LEDGER_FILE="$XDG_DATA_HOME"/hledger.journal
| |
Houdini | ~/houdiniMAJOR.MINOR)
|
[212] | export HOUDINI_USER_PREF_DIR="$XDG_CACHE_HOME"/houdini__HVER__
The value of this variable must include the substring | |
imapfilterAUR | ~/.imapfilter
|
export IMAPFILTER_HOME="$XDG_CONFIG_HOME/imapfilter"
| ||
IPFS | ~/.ipfs
|
export IPFS_PATH="$XDG_DATA_HOME"/ipfs
| ||
irb | ~/.irbrc
|
~/.profile $ export IRBRC="$XDG_CONFIG_HOME"/irb/irbrc "$XDG_CONFIG_HOME"/irb/irbrc IRB.conf[:SAVE_HISTORY] ||= 1000 IRB.conf[:HISTORY_FILE] ||= File.join(ENV["XDG_DATA_HOME"], "irb", "history") | ||
irssi | ~/.irssi
|
[214] | irssi --config="$XDG_CONFIG_HOME"/irssi/config --home="$XDG_DATA_HOME"/irssi
| |
isync | ~/.mbsyncrc
|
[215] | mbsync -c "$XDG_CONFIG_HOME"/isync/mbsyncrc
| |
Java#OpenJDK | ~/.java/.userPrefs
|
[216] | export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
| |
jupyter | ~/.jupyter
|
5.0.0rc0 | [217] [218] | python-jupyter-core < v5.0.0
v5.0.0 <= python-jupyter-core < v6.0.0
python-jupyter-core >= v6.0.0: full support (via python-platformdirs) enabled by default |
k9s | ~/.k9s
|
0.20.4 | [220] | export K9SCONFIG="$XDG_CONFIG_HOME"/k9s
|
KDE | ~/.kde , ~/.kde4 |
[221] | export KDEHOME="$XDG_CONFIG_HOME"/kde
| |
keychain | ~/.keychain
|
[222] | [223] | keychain --absolute --dir "$XDG_RUNTIME_DIR"/keychain
|
kodi | ~/.kodi
|
[224] | [225] | KODI_DATA=$XDG_DATA_HOME/kodi
|
kscriptAUR | ~/.kscript
|
[226] | export KSCRIPT_CACHE_DIR="$XDG_CACHE_HOME"/kscript
| |
ledger | ~/.ledgerrc , ~/.pricedb |
[227] | ledger --init-file "$XDG_CONFIG_HOME"/ledgerrc
| |
Leiningen | ~/.lein , ~/.m2 |
export LEIN_HOME="$XDG_DATA_HOME"/lein
to change the m2 repo location used by leiningen look here: Leiningen#m2_repo_location | ||
libdvdcss | ~/.dvdcss
|
[228] | export DVDCSS_CACHE="$XDG_DATA_HOME"/dvdcss
| |
libice | ~/.ICEauthority
|
[229] | export ICEAUTHORITY="$XDG_CACHE_HOME"/ICEauthority
Make sure 请勿使用 | |
LibreOffice | [230] | Libreoffice 将所有内容存储在 $XDG_CONFIG_HOME/libreoffice/4/user/ 中,包括运行时文件、用户数据、缓存和扩展。其中一些可以在工具 > 选项 > LibreOffice > 路径下更改 | ||
libx11 | ~/.XCompose , ~/.compose-cache |
export XCOMPOSEFILE="$XDG_CONFIG_HOME"/X11/xcompose , export XCOMPOSECACHE="$XDG_CACHE_HOME"/X11/xcompose | ||
ltrace | ~/.ltrace.conf
|
ltrace -F "$XDG_CONFIG_HOME"/ltrace/ltrace.conf
| ||
Luanti | ~/.minetest/
|
[231] | export MINETEST_USER_PATH="$XDG_DATA_HOME"/luanti
| |
lynx | /etc/lynx.cfg
|
export LYNX_CFG="$XDG_CONFIG_HOME"/lynx.cfg
| ||
m17n-db | ~/.m17n.d
|
[232] | ||
maptool-binAUR | ~/.maptool-rptools
|
[233] | /opt/maptool/lib/app/MapTool.cfg [JavaOptions] -DMAPTOOL_DATADIR=.local/share/maptool-rptools 但是,无法更改此配置文件的位置。 | |
maven | ~/.m2
|
[234] | export MAVEN_OPTS=-Dmaven.repo.local="$XDG_DATA_HOME"/maven/repository
, | |
Mathematica | ~/.Wolfram
|
export WOLFRAM_USERBASE="$XDG_CONFIG_HOME"/Wolfram
以前是 | ||
maxima | ~/.maxima
|
export MAXIMA_USERDIR="$XDG_CONFIG_HOME"/maxima
| ||
mednafen | ~/.mednafen
|
export MEDNAFEN_HOME="$XDG_CONFIG_HOME"/mednafen
| ||
minikube | ~/.minikube
|
[235] | export MINIKUBE_HOME="$XDG_DATA_HOME"/minikube
由于某些原因,在 | |
mitmproxy | ~/.mitmproxy
|
alias mitmproxy="mitmproxy --set confdir=$XDG_CONFIG_HOME/mitmproxy" , alias mitmweb="mitmweb --set confdir=$XDG_CONFIG_HOME/mitmproxy" | ||
MOC | ~/.moc
|
mocp -M "$XDG_CONFIG_HOME"/moc , mocp -O MOCDir="$XDG_CONFIG_HOME"/moc | ||
monero | ~/.bitmonero
|
monerod --data-dir "$XDG_DATA_HOME"/bitmonero
| ||
most | ~/.mostrc
|
export MOST_INITFILE="$XDG_CONFIG_HOME"/mostrc
| ||
MPlayer | ~/.mplayer
|
export MPLAYER_HOME="$XDG_CONFIG_HOME"/mplayer
| ||
mtpaint | ~/.mtpaint
|
[236] | /etc/mtpaint/mtpaintrc userINI = ~/.config/mtpaint | |
mypy | ~/.config/mypy/config , ~/.mypy.ini , ~/.mypy_cache |
v0.670 | [237] [238] | XDG_CONFIG_HOME/mypy/config , export MYPY_CACHE_DIR="$XDG_CACHE_HOME"/mypy |
MySQL | ~/.mysql_history , ~/.my.cnf , ~/.mylogin.cnf |
export MYSQL_HISTFILE="$XDG_DATA_HOME"/mysql_history
不支持 | ||
mysql-workbench | ~/.mysql/workbench
|
您可以使用 ---configdir 标志运行 MySQL Workbench,例如 mysql-workbench --configdir="$XDG_DATA_HOME/mysql/workbench" 。该目录需要手动创建,因为 MySQL Workbench 默认位置是 $HOME/.mysql/workbench 。 | ||
ncurses | ~/.terminfo
|
排除系统路径搜索
| ||
n | /usr/local/n
|
export N_PREFIX=$XDG_DATA_HOME/n
| ||
ncmpc | ~/.ncmpc
|
ncmpc -f "$XDG_CONFIG_HOME"/ncmpc/config
| ||
Netbeans | ~/.netbeans
|
[240] | netbeans --userdir "${XDG_CONFIG_HOME}"/netbeans
| |
Node.js | ~/.node_repl_history
|
[241] | export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
| |
npm | ~/.npm , ~/.npmrc |
[242] | export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
npmrc prefix=${XDG_DATA_HOME}/npm cache=${XDG_CACHE_HOME}/npm init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js logs-dir=${XDG_STATE_HOME}/npm/logs 如果 Node.js 由 nvmAUR 安装,则 | |
opam | ~/.opam
|
[243] | export OPAMROOT="$XDG_DATA_HOME/opam"
配置数据和状态数据都存储在 | |
PuTTY | ~/.putty/
|
9952b2d | 如果 $XDG_CONFIG_HOME/putty 已存在,则将使用它。否则,将创建 ~/.putty 。如果两者都存在,则优先使用 $XDG_CONFIG_HOME/putty 。在 0.74 版本中测试通过 | |
python-easyocrAUR | ~/.EasyOCR
|
export EASYOCR_MODULE_PATH="$XDG_CONFIG_HOME/EasyOCR"
| ||
spotdlAUR | ~/.spotdl
|
v4.0.6 (3929cae) | [244] | mkdir "$XDG_DATA_HOME"/spotdl
|
nuget | ~/.nuget/packages
|
[245] | export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
| |
NVIDIA | ~/.nv
|
如果设置了 XDG_CACHE_HOME ,则使用它,否则不正确地回退到 ~/.nv 而不是 ~/.cache 。 | ||
nvidia-settings | ~/.nvidia-settings-rc
|
[246] | nvidia-settings --config="$XDG_CONFIG_HOME"/nvidia/settings
| |
nvmAUR | ~/.nvm
|
export NVM_DIR="$XDG_DATA_HOME"/nvm
| ||
Octave | ~/octave , ~/.octave_packages , ~/.octave_hist |
export OCTAVE_HISTFILE="$XDG_CACHE_HOME/octave-hsts" , export OCTAVE_SITE_INITFILE="$XDG_CONFIG_HOME/octave/octaverc" $XDG_CONFIG_HOME/octave/octaverc source /usr/share/octave/site/m/startup/octaverc; pkg prefix ~/.local/share/octave/packages ~/.local/share/octave/packages; pkg local_list /home/<your username>/.local/share/octave/octave_packages;
| ||
omnisharp-roslyn-binAUR | ~/.omnisharp/
|
[247] | [248] | export OMNISHARPHOME="$XDG_CONFIG_HOME/omnisharp"
|
openscad | ~/.OpenSCAD
|
7c3077b0f | [249] | 未完全遵守 XDG 基本目录规范,请参阅 [250] 目前它 硬编码 了 |
packettracerAUR | ~/.packettracer , ~/pt |
具有 GUI 配置来更改 PT 安装目录,~/pt/ (选项 > 首选项 > 管理 > 用户文件夹)。此路径写入文件 ~/.packettracer 。日志文件仍然可能写入 | ||
parallel | ~/.parallel
|
20170422 | export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel
| |
pass | ~/.password-store
|
export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
| ||
Phive | ~/.phive
|
[251] | 自 0.14.5 版本起,可以移动整个数据目录。
| |
Pidgin | ~/.purple
|
[254] | pidgin --config="$XDG_DATA_HOME"/purple
| |
platformio-core | ~/.platformio
|
[255] | export PLATFORMIO_CORE_DIR="$XDG_DATA_HOME"/platformio
| |
PostgreSQL | ~/.psqlrc , ~/.psql_history , ~/.pgpass , ~/.pg_service.conf |
9.2 | [256] [257] | export PSQLRC="$XDG_CONFIG_HOME/pg/psqlrc" , export PSQL_HISTORY="$XDG_STATE_HOME/psql_history" , export PGPASSFILE="$XDG_CONFIG_HOME/pg/pgpass" , export PGSERVICEFILE="$XDG_CONFIG_HOME/pg/pg_service.conf" 需要创建两个目录: |
PulseAudio | ~/.esd_auth
|
很可能由 module-esound-protocol-unix.so 模块生成。可以配置为使用不同的位置,但在 /etc/pulse/default.pa 或 "$XDG_CONFIG_HOME"/pulse/default.pa 中注释掉此模块更有意义。 | ||
pyenv | ~/.pyenv
|
[258] [259] | export PYENV_ROOT=$XDG_DATA_HOME/pyenv
| |
azure-cli | ~/.azure
|
export AZURE_CONFIG_DIR=$XDG_DATA_HOME/azure
| ||
python | ~/.python_history
|
v3.13 | [260] [261] [262] | 自 3.4 版本以来,交互式会话的所有历史记录默认保存到 ~/.python_history ,自 3.13 版本起为 PYTHON_HISTORY 。对于历史记录文件,Python 不会创建任何缺失的目录,并且仅当其目录存在时才写入文件。这仍然可以像旧版本一样自定义(请参阅此示例),包括使用自定义路径或禁用历史记录保存。PYTHON_HISTORY: |
python-gripAUR | ~/.grip
|
export GRIPHOME="$XDG_CONFIG_HOME/grip"
| ||
python-setuptools | ~/.python-eggs
|
export PYTHON_EGG_CACHE="$XDG_CACHE_HOME"/python-eggs
| ||
racket | ~/.racketrc , ~/.racket |
[263] | export PLTUSERHOME="$XDG_DATA_HOME"/racket
| |
rbenv | ~/.rbenv
|
[264] [265] | export RBENV_ROOT="$XDG_DATA_HOME"/rbenv
| |
nodenvAUR | ~/.nodenv
|
export NODENV_ROOT="$XDG_DATA_HOME"/nodenv
| ||
readline | ~/.inputrc
|
export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
| ||
recoll | ~/.recoll
|
export RECOLL_CONFDIR="$XDG_CONFIG_HOME"/recoll"
| ||
redis | ~/.rediscli_history , ~/.redisclirc |
export REDISCLI_HISTFILE="$XDG_DATA_HOME"/redis/rediscli_history , export REDISCLI_RCFILE="$XDG_CONFIG_HOME"/redis/redisclirc | ||
ripgrep | [266] | export RIPGREP_CONFIG_PATH=$XDG_CONFIG_HOME/ripgrep/config
| ||
rlwrap | ~/.*_history
|
[267] | export RLWRAP_HOME="$XDG_DATA_HOME"/rlwrap
| |
ruby-bundler | ~/.bundle
|
4a120d8 | 拉取请求 3545 |
export BUNDLE_USER_CACHE=$XDG_CACHE_HOME/bundle export BUNDLE_USER_CONFIG=$XDG_CONFIG_HOME/bundle/config export BUNDLE_USER_PLUGIN=$XDG_DATA_HOME/bundle 有关更多信息,请参阅 Bundler: bundle config。 |
ruby-solargraphAUR | ~/.solargraph/cache/
|
[268] | export SOLARGRAPH_CACHE=$XDG_CACHE_HOME/solargraph
| |
ruff | .ruff_cache
|
[269] | export RUFF_CACHE_DIR=$XDG_CACHE_HOME/ruff
| |
Rust#Rustup | ~/.rustup
|
[270] | export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
| |
sbt | ~/.sbt
|
[271] | sbt -ivy "$XDG_DATA_HOME"/ivy2 -sbt-dir "$XDG_DATA_HOME"/sbt (注意 [272]) | |
SageMath | ~/.sage
|
export DOT_SAGE="$XDG_CONFIG_HOME"/sage
| ||
GNU Screen | ~/.screenrc
|
export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc , export SCREENDIR="${XDG_RUNTIME_DIR}/screen" | ||
simplescreenrecorderAUR | ~/.ssr/
|
0.4.3 | [273] | 仅当 $XDG_CONFIG_HOME/simplescreenrecorder/ 已经创建时才会使用,否则默认为 ~/.ssr
|
singularity-ceAUR | ~/.singularity
|
3.11.4 | export SINGULARITY_CONFIGDIR="$XDG_CONFIG_HOME/singularity" , export SINGULARITY_CACHEDIR="$XDG_CACHE_HOME/singularity" | |
spacemacs | ~/.spacemacs , ~/.spacemacs.d |
[275] | [276] | 移动 ~/.spacemacs 文件。
其他文件需要像 Emacs 一样配置。 |
SQLite | ~/.sqliterc , ~/.sqlite_history |
3.44.0 用于配置; 历史记录仍保留在旧位置 |
XDG_CONFIG_HOME/sqlite3/sqliterc , export SQLITE_HISTORY=$XDG_DATA_HOME/sqlite_history | |
starship | ~/.config/starship , ~/.cache/starship |
[277] (v0.2.0), [278] (v0.45.0) | [279] | export STARSHIP_CONFIG="$XDG_CONFIG_HOME"/starship.toml , export STARSHIP_CACHE="$XDG_CACHE_HOME"/starship |
subversion | ~/.subversion
|
[280] [281][282] | alias svn="svn --config-dir \"$XDG_CONFIG_HOME\"/subversion"
| |
sudo | ~/.sudo_as_admin_successful
|
1.9.6 | [283] [284] | 仅在编译时激活时存在(默认无)。自 1.9.6 起,/etc/sudoers 中可以使用 admin_flag 参数。 |
task | ~/.task , ~/.taskrc |
在 2.6 版本中完全支持(请注意,$XDG_CONFIG_HOME/task/taskrc 必须存在,否则即使设置了 $XDG_CONFIG_HOME ,taskwarrior 也会在旧的 $HOME/.taskrc 位置提供创建示例配置 [285][286]) | ||
本地 TeX Live TeXmf 树、TeXmf 缓存和配置 | ~/texmf , ~/.texlive/texmf-var , ~/.texlive/texmf-config |
export TEXMFHOME=$XDG_DATA_HOME/texmf , export TEXMFVAR=$XDG_CACHE_HOME/texlive/texmf-var , export TEXMFCONFIG=$XDG_CONFIG_HOME/texlive/texmf-config | ||
TeXmacs | ~/.TeXmacs
|
export TEXMACS_HOME_PATH=$XDG_STATE_HOME/texmacs
| ||
tiptopAUR | ~/.tiptoprc
|
这仍然会期望 .tiptoprc 文件。
| ||
ruby-travisAUR | ~/.travis/
|
[287] | export TRAVIS_CONFIG_PATH=$XDG_CONFIG_HOME/travis
| |
uncrustify | ~/.uncrustify.cfg
|
export UNCRUSTIFY_CONFIG="$XDG_CONFIG_HOME"/uncrustify/uncrustify.cfg
| ||
Unison | ~/.unison
|
export UNISON="$XDG_DATA_HOME"/unison
| ||
unitsAUR | ~/.units_history
|
units --history "$XDG_CACHE_HOME"/units_history
| ||
urxvtd | ~/.urxvt/urxvtd-hostname
|
export RXVT_SOCKET="$XDG_RUNTIME_DIR"/urxvtd
| ||
Vagrant | ~/.vagrant.d , ~/.vagrant.d/aliases |
[288] | export VAGRANT_HOME="$XDG_DATA_HOME"/vagrant , export VAGRANT_ALIAS_FILE="$XDG_DATA_HOME"/vagrant/aliases | |
vint | ~/.vintrc.yaml , .vintrc.yml , .vintrc |
0f741ac2c | [289] | 未文档化,但代码显示 $XDG_CONFIG_HOME/.vintrc.yaml 应该可以工作 |
virtualenv | ~/.virtualenvs
|
export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
| ||
Visual Studio Code | ~/.vscode-oss/
|
[290] | 你可以使用 export VSCODE_PORTABLE="$XDG_DATA_HOME"/vscode ,这没有文档记录,并且可能会意外中断。设置此项会使编辑器在 你也可以使用 | |
VSCodiumAUR | ~/.vscode-oss/
|
[291] [292] | 你可以使用 --extensions-dir 标志运行 VSCodium,例如 vscodium --extensions-dir "$XDG_DATA_HOME/vscode" 。然而,这无法阻止 ~/.vscode-oss/ 目录的创建。 | |
w3m | ~/.w3m
|
26284ff | [293] [294] | export W3M_DIR="$XDG_STATE_HOME/w3m"
|
wakatime | ~/.wakatime.cfg , ~/.wakatime.data , ~/.wakatime.db , ~/.wakatime.log |
export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime"
该目录需要手动创建
| ||
wget | ~/.wgetrc , ~/.wget-hsts |
export WGETRC="$XDG_CONFIG_HOME/wgetrc" 并添加以下作为 wget 的别名:wget --hsts-file="$XDG_CACHE_HOME/wget-hsts" ,或者使用绝对路径设置 hsts-file 变量,因为 wgetrc 不支持环境变量:echo hsts-file \= "$XDG_CACHE_HOME"/wget-hsts >> "$XDG_CONFIG_HOME/wgetrc" | ||
wine | ~/.wine
|
[295] | Winetricks 使用类似 XDG 的位置,如下所示,用于 WINEPREFIX 管理
| |
x3270AUR | ~/.x3270pro , ~/.c3270pro |
export X3270PRO="$XDG_CONFIG_HOME"/x3270/config , export C3270PRO="$XDG_CONFIG_HOME"/c3270/config 应用程序还会创建 | ||
xbindkeys | ~/.xbindkeysrc
|
xbindkeys -f "$XDG_CONFIG_HOME"/xbindkeys/config
| ||
xorg-xauth | ~/.Xauthority
|
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
请注意,LightDM 不允许您更改此变量。如果您仍然更改它,您将无法登录。请改用 startx 或 配置 LightDM。根据 [296] SLiM 硬编码了 SDDM Xauthority 路径可以在其自身的配置文件中更改,如下所示。不幸的是,它是相对于主目录的。 /etc/sddm.conf.d/xauth-path.conf [X11] UserAuthFile=.Xauthority 在 Wayland 上,覆盖此项可能会导致 Xorg 程序无法连接到 Xwayland 服务器。例如,kwin 和 mutter 都使用随机名称,因此无法将其设置为静态值。 | ||
xinit | ~/.xinitrc , ~/.xserverrc |
[297] | export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc , export XSERVERRC="$XDG_CONFIG_HOME"/X11/xserverrc | |
xorg-xrdb | ~/.Xresources , ~/.Xdefaults |
最终你 应该 使用 Xresources ,并且由于这些资源是通过 xrdb 加载的,你可以指定路径,例如 xrdb -load ~/.config/X11/xresources 。 | ||
Xorg | ~/.xsession , ~/.xsessionrc , ~/.Xsession , ~/.xsession-errors |
这些可以作为 Xorg 初始化脚本 (~/.xinitrc ) 或 Xsession 启动脚本(通常基于 /etc/X11/Xsession )的一部分添加。根据您配置 # xsession start script USERXSESSION="$XDG_CACHE_HOME/X11/xsession" USERXSESSIONRC="$XDG_CACHE_HOME/X11/xsessionrc" ALTUSERXSESSION="$XDG_CACHE_HOME/X11/Xsession" ERRFILE="$XDG_CACHE_HOME/X11/xsession-errors" 与此表中的大多数其他示例不同,实际的 X11 初始化脚本在不同安装之间差异很大。 | ||
z | ~/.z
|
[298] | export _Z_DATA="$XDG_DATA_HOME/z"
| |
yarn | ~/.yarnrc , ~/.yarn/ , ~/.yarncache/ , ~/.yarn-config/ |
2d454b5 | [299] [300] | alias yarn='yarn --use-yarnrc "$XDG_CONFIG_HOME/yarn/config"'
|
zsh | ~/.zshrc , ~/.zprofile , ~/.zshenv , ~/.zlogin , ~/.zlogout , ~/.histfile , ~/.zcompdump , ~/.zcompcache |
[301] | export ZDOTDIR=$HOME/.config/zsh 以避免在您的主目录中需要大多数 zsh 点文件。"$XDG_CONFIG_HOME"/zsh/.zshrc # Use XDG dirs for completion and history files [ -d "$XDG_STATE_HOME"/zsh ] || mkdir -p "$XDG_STATE_HOME"/zsh HISTFILE="$XDG_STATE_HOME"/zsh/history [ -d "$XDG_CACHE_HOME"/zsh ] || mkdir -p "$XDG_CACHE_HOME"/zsh zstyle ':completion:*' cache-path "$XDG_CACHE_HOME"/zsh/zcompcache compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-$ZSH_VERSION 最后,如果您使用 zsh 作为登录 shell,并选择依赖启动文件 |
硬编码
应用程序 | 旧路径 | 讨论 | 注释 |
---|---|---|---|
adb & Android Studio | ~/.android/
|
尽管 表面上看起来不是这样,但 adb 将始终生成 ~/.android/adbkeys ,尽管它也会尝试 ADB_VENDOR_KEYS 中的密钥。 | |
aegisub | ~/.aegisub/
|
[302] | |
alpine | ~/.pinerc , ~/.addressbook , ~/.pine-debug[1-4] , ~/.newsrc , ~/.mailcap , ~/.mime.types , ~/.pine-interrupted-mail |
alias alpine="alpine -p $XDG_CONFIG_HOME/alpine/pinerc"
在上面的配置文件中,可以使用诸如 | |
aMule | ~/.aMule
|
[303] [304] [305] | |
anthy | ~/.anthy
|
[306] | |
Apache Directory Studio | ~/.ApacheDirectoryStudio
|
||
ARandR | ~/.screenlayout
|
[307] | |
Arduino | ~/.arduino15 , ~/.jssc |
不会修复 | |
arduino-cli | ~/.arduino15/
|
[308] | mv ~/.arduino15 $XDG_CONFIG_HOME/arduino15
在 arduino-cli.yaml 中指定 Arduino CLI 使用的新目录,如此处文档中所述。 |
ASP.NET Core | ~/.aspnet
|
[309] | |
Avidemux | ~/.avidemux6
|
[310] | |
Bash | ~/.bashrc , ~/.bash_history , ~/.bash_profile , ~/.bash_login , ~/.bash_logout |
108134 10431 | mkdir -p "$XDG_STATE_HOME"/bash
|
Berkshelf | ~/.berkshelf/
|
||
celestiaAUR | ~/.celestiarc
|
||
chatty | ~/.chatty/
|
[311] | |
cmake | ~/.cmake/
|
[312] | 用于用户包注册表 ~/.cmake/packages/<package> ,详见 cmake-packages(7) § 用户包注册表 和 包注册表 wiki 页面。看起来它是硬编码的,例如在 cmFindPackageCommand.cxx 中。 |
cmus | ~/.config/cmus
|
[313] | [314] |
Cinnamon | ~/.cinnamon/
|
[315] | |
conanAUR | ~/.conan/
|
[316] | export CONAN_USER_HOME="$XDG_CONFIG_HOME" 将设置创建 .conan/ 的目录。它 旨在简化 CI,但也适用于此处。 |
cryptomatorAUR | ~/.Cryptomator
|
[317] | |
cVim[死链接 2022-09-23 ⓘ] | ~/.cvimrc
|
[318] | |
darcs | ~/.darcs/
|
[319] | |
dart | ~/.dart , ~/.dart-tool , ~/.dartServer |
[320] | |
dbus | ~/.dbus/
|
[321] | 考虑使用 dbus-broker,因为它不会创建或使用此目录。 |
devede | ~/.devedeng
|
硬编码 此处 | |
Dia | ~/.dia/
|
||
dig | ~/.digrc
|
||
dotnet-sdk | ~/.dotnet/ , ~/.templateengine |
[322] | |
dropbox | ~/.dropbox/
|
||
Eclipse | ~/.eclipse/
|
[323] | 选项 -Dosgi.configuration.area=@user.home/.config/.. 会覆盖,但必须添加到 "$ECLIPSE_HOME"/eclipse.ini" 而不是命令行,这意味着您必须具有对 $ECLIPSE_HOME 的写入权限。(Arch Linux 在 /usr/bin/eclipse 中硬编码了 $ECLIPSE_HOME ) |
emacs-slime | ~/.slime/
|
[324] | |
equalxAUR | ~/.equalx/
|
[326] | |
Fetchmail | ~/.fetchmailrc
|
||
Firefox | ~/.mozilla/
|
[327] [328] | |
Flatpak | ~/.var/
|
[329] [330] 不会修复 | |
freesweep | ~/.sweeprc
|
[331] | |
gftpAUR | ~/.gftp/
|
[332] | 按照 XDG 规范是 gftp 的计划。 |
gitkrakenAUR | ~/.gitkraken/
|
[333] | |
GoldenDict | ~/.goldendict/
|
[334] | |
gphoto2 | ~/.gphoto
|
[335] | |
gramps | ~/.gramps/
|
[336] | 2022 年支持 XDG 基本目录规范(针对下一个 Gramps 5.2 版本) - 补丁 https://github.com/gramps-project/gramps/pull/1368 |
groovy | ~/.groovy/
|
||
grsync | ~/.grsync/
|
[337] | |
google-cloud-cliAUR | ~/.gsutil/
|
[338] | |
gtk-recordMyDesktop | ~/.gtk-recordmydesktop
|
||
hplip | ~/.hplip/
|
[339] | |
hydrogen | ~/.hydrogen/
|
[340] | |
idris | ~/.idris
|
[341] | |
itch-setup-binAUR | ~/.itch
|
不会修复 | 您可以在应用程序设置中移动游戏安装位置。 |
Jmol | ~/.jmol/
|
[342] | |
lbdbAUR | ~/.lbdbrc, ~/.lbdb/
|
[343] | |
llpp | ~/.config/llpp.conf
|
[344][死链接 2022-09-23 ⓘ] (仓库已被删除) | 在 3ab86f0 中添加,但在 old:e253c9f1/new:e253c9f1 中随后被恢复 |
Java OpenJDK | ~/.java/fonts
|
[345] | export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
|
Java OpenJFX | ~/.java/webview
|
||
jgmenu | ~/.jgmenu-lockfile
|
[346] [347] | |
jitsi-meetAUR | ~/Downloads
|
libjitsi#518 | 下载目录硬编码为 ~/Downloads 而不是 XDG_DOWNLOAD_DIR (来自 XDG 用户目录) |
julia | ~/.juliarc.jl , ~/.julia_history , ~/.julia |
[348] [349] | 尾部的 :$JULIA_DEPOT_PATH 是必要的。请参阅 [350]export JULIA_DEPOT_PATH="$XDG_DATA_HOME/julia:$JULIA_DEPOT_PATH" export JULIAUP_DEPOT_PATH="$XDG_DATA_HOME/julia" |
kotlin | ~/.kotlinc_history
|
相关 Konan 问题:[351] | |
Kubernetes | ~/.kube/
|
[352][353][354] |
export KUBECONFIG="$XDG_CONFIG_HOME/kube" export KUBECACHEDIR="$XDG_CACHE_HOME/kube" |
elan-leanAUR | ~/.elan
|
[355] | |
librewolfAUR | ~/.mozilla
|
[356] | |
lldb | ~/.lldb , ~/.lldbinit |
||
LMMS | ~/.lmmsrc.xml
|
[357] | |
maliit-keyboard | ~/.presage
|
Maliit 键盘使用一个旧的、未维护的库 Presage,它创建 ~/.presage 。在 2024 年,Maliit 键盘 放弃了对 Presage 的依赖,但截至 2.3.1 版本,这尚未包含在发布版本中。在此期间,请编译 maliit-keyboard 的 master 分支。 | |
man-db | ~/.manpath
|
[358] | |
mathomatic[死链接 2024-10-12 ⓘ] | ~/.mathomaticrc , ~/.matho_history |
历史记录可以通过使用 rlwrap mathomatic -r 和适当设置的 RLWRAP_HOME 环境变量来移动。 | |
MediaWiki | ~/.mweval_history 和 ~/.mwsql_history (如果定义了 $HOME) |
如果未定义 $HOME:[MediaWiki]/maintenance/.mweval_history 和 [MediaWiki]/maintenance/.mwsql_history 。
| |
Minecraft | ~/.minecraft/
|
不会修复 | |
minicom | ~/.minirc.dfl
|
上游有一个 TODO 条目,用于支持 ~/.config/minicom 下的配置文件。[359] | |
Mono | ~/.mono/
|
[360] | |
mongodb | ~/.mongorc.js , ~/.dbshell |
[361] | 这个 Stack Overflow 帖子 建议使用命令行开关 --norc 进行部分规避。 |
~/.netrc
|
与 ~/.ssh 类似,许多程序都期望此文件在此处。 这些包括像 curl (CURLOPT_NETRC_FILE ), ftp (NETRC ), s-nail (NETRC ) 等项目。 虽然它们中的一些提供了可配置的替代位置,但许多没有,例如 w3m、wget 和 lftp。 | ||
nim | ~/.nimble
|
[362] | Nimble 将在启动时尝试加载 ~/.config/nimble/nimble.ini ,并在那里设置 nimbleDir 。 您还需要在 Nim 编译器配置文件中更改 nimblepath 。 |
Networkmanager-openvpn | ~/.cert/nm-openvpn
|
[364] | |
nyx | ~/.nyx
|
该项目目前未维护 | |
oh-my-bash-gitAUR | ~/.osh-update
|
||
Ollama | ~/.ollama
|
[365] | 模型位置可以使用以下命令设置
来源:[366] |
openshot | ~/.openshot_qt
|
[367] [368] | |
OpenSSH | ~/.ssh
|
不会修复 | 许多 ssh 守护程序和客户端(如 DropBear 和 OpenSSH)都假定它存在。 |
palemoon | ~/.moonchild productions
|
[369] | |
parsec-binAUR | ~/.parsec
|
||
pcsxrAUR | ~/.pcsxr
|
存在 -cfg 标志,但只能相对于 ~/.pcsxr 设置。 | |
perf | ~/.debug
|
硬编码在 tools/perf/util/config.c 中。提交:[370] | |
perl | ~/.cpan , ~/perl5 |
[371] | Perl5 的 CPAN 期望 ~/.cpan |
phoronix-test-suiteAUR | ~/.phoronix-test-suite
|
[372] | 部分规避方法:[373] |
PHP | ~/.php_history
|
[374] | PHP 应用程序可以使用 readline_read_history 和 readline_write_history 读取/写入自定义文件。 |
portfolio-performance-binAUR | ~/.PortfolioPerformance/
|
[375] | |
各种 shell 和 显示管理器 | ~/.profile
|
||
psensor | ~/.psensor
|
[376] | |
pulumi | ~/.pulumi
|
[377] | |
python-tensorflow | ~/.keras
|
[378] | 问题针对 tf.keras 模块 |
quilt | ~/.quiltrc
|
如果 ~/.quiltrc 不存在,则回退到 /etc/quilt.quiltrc 。 | |
Qt Designer | ~/.designer
|
[379] | |
R | ~/.Rprofile, ~/.Rdata, ~/.Rhistory
|
R_HOME_USER="$HOME/.config/R" R_PROFILE_USER="$HOME/.config/R/profile" R_HISTFILE="$HOME/.config/R/history" | |
RedNotebook | ~/.rednotebook
|
[380] | |
Remarkable | ~/.remarkable
|
||
renderdoc | ~/.renderdoc
|
不会修复 | |
Ren'Py | ~/.renpy
|
不会修复 | 最新版本支持 RENPY_PATH_TO_SAVES 环境变量。 因此,您可以设置它来更改某些游戏的路径。export RENPY_PATH_TO_SAVES="$XDG_DATA_HOME/renpy" |
repo | ~/.repoconfig
|
[381] | |
rpm | ~/.rpmrc ~/.rpmmacros |
积压 | 解决方法是使用 --rcfile 和 --macros,但这会带来副作用。 |
SANE | ~/.sane/
|
scanimage 在那里创建一个 .cal 文件 | |
sbcl | ~/.sbclrc
|
/etc/sbclrc (require :asdf) (setf sb-ext:*userinit-pathname-function* (lambda () (uiop:xdg-config-home #P"sbcl/sbclrc"))) 请注意,这需要 root 权限,并将更改所有用户的 | |
SeaMonkey | ~/.mozilla/seamonkey
|
[382] | |
Signal Desktop | [383] | 当前将消息保存在 ~/.config/Signal 中 | |
Snap | ~/snap/
|
[384] | |
Solfege | ~/.solfege , ~/.solfegerc , ~/lessonfiles |
[385] | |
SpamAssassin | ~/.spamassassin
|
||
Steam | ~/.steam , ~/.steampath , ~/.steampid |
[386] | 许多游戏引擎(Unity 3D、Unreal)都遵循该规范,但随后各个游戏发行商在 Steam Auto-Cloud 中硬编码路径,导致游戏存档同步到错误的目录。 |
stellariumAUR | ~/.stellarium/
|
[387] | |
stremioAUR | ~/.stremio-server/
|
[388] | |
sts4 | ~/.sts4
|
[389] | 传递 JVM 参数 -Dlanguageserver.boot.symbolCacheDir=$XDG_CACHE_HOME/sts4/symbolCache |
python-streamlitAUR | ~/.streamlit
|
[390] | |
sweethome3d | ~/.eteks/sweethome3d
|
[391] | |
python-sympy | ~/.sympy-history
|
[392] | |
TeamSpeak | ~/.ts3client
|
export TS3_CONFIG_DIR="$XDG_CONFIG_HOME/ts3client"
| |
terraform | ~/.terraform.d/
|
[393] | |
texinfo | ~/.infokey
|
info --init-file "$XDG_CONFIG_HOME/infokey"
| |
Thunderbird | ~/.thunderbird/
|
[394] | |
tllocalmgr | ~/.texlive
|
||
urlviewAUR | ~/.urlview
|
使用 fork urlview-xdg-gitAUR 代替。 此 fork 将使用 XDG_CONFIG_HOME/urlview/config | |
viberAUR | ~/.ViberPC
|
||
vimperator | ~/.vimperatorrc
|
[395] | export VIMPERATOR_INIT=":source $XDG_CONFIG_HOME/vimperator/vimperatorrc"
|
visidata | ~/.visidata
|
[396] | |
wpa_cli | ~/.wpa_cli_history
|
||
wegoAUR | ~/.wegorc
|
[397] | |
x2goclientAUR | ~/.x2goclient
|
alias x2goclient="x2goclient --home=$HOME/.config"
| |
xpdf | ~/.xpdfrc
|
||
xrdpAUR | ~/thinclient_drives
|
对于目录 ~/thinclient_drives ,您可以考虑编辑 /etc/xrdp/sesman.ini 并按照示例配置修改 [Chansrv] 部分。 | |
XVim2 | ~/.xvimrc
|
[398] | |
YARD | ~/.yard
|
[399] | 如果有人想实现它,将接受 Pull Request。 |
zenmap nmap | ~/.zenmap
|
[400] [401] | |
zoomAUR | ~/.zoom
|
不推荐:设置以下变量会移动 .zoom 的内容,但目录本身始终会被创建。 此外,它会破坏某些功能,例如能够开始会议。 export SSB_HOME="$XDG_DATA_HOME"/zoom | |
zotero-binAUR | ~/.zotero ~/Zotero |
[402] | 可以从 GUI 更改 ~/Zotero 的默认数据位置:编辑 -> 首选项 -> 高级 -> 数据目录位置 -> 自定义 |
工具
工具 xdg-ninjaAUR 检测 $HOME
中不需要的文件/目录,这些文件/目录可以移动到 XDG 基本目录。 有关示例,请参阅 README。
工具 boxxy 可用于包装不遵守 XDG 基本目录的应用程序,并重定向任何不需要的文件。
工具 ephemeral 可用于链接通常位于 XDG_CONFIG_HOME
中的 chromium/electron 缓存到 XDG_CACHE_HOME
中的位置。
库
- C++
- xdg-utils-cxx
- xdgpp
- Go
- adrg/xdg
- go-appdir(已弃用,已存档)
- configdir(已弃用,已废弃)
- kyoh86/xdg(已弃用,已存档)
- Haskell
- 自 1.2.3.0 ab9d0810ce 起,正式包含在 directory 中。
- xdg-basedir
- JVM
- Java, Kotlin, Clojure, Scala, ...
- directories-jvm
- Perl
- File-BaseDir
- Python
- pyxdg
- appdirs(已废弃)
- platformdirs
- Ruby
- bkuhlmann/xdg
- rubyworks/xdg(已弃用,已废弃)
- Rust
- directories-rs
- rust-xdg
- Swift
- swift-xdg
- Vala
- 通过 GLib.Environment 提供内置支持。
- 请参阅
get_user_cache_dir
、get_user_data_dir
、get_user_config_dir
等。
提示与技巧
隐藏不需要的目录
对于无法重定位的目录,某些桌面环境(如 KDE)允许您隐藏它们
$ echo path >> ~/.hidden
path 是文件/目录的路径,相对于 .hidden
的父目录。
另请参阅
- GNOME 目标:XDG 基本目录规范用法
- Rob Pike:“Dotfiles”被隐藏是 UNIXv2 的错误.
- systemd-path(1)
- file-hierarchy(7)
- Grawity 关于点文件的笔记.
- Grawity 关于环境变量的笔记.
- ploum.net:修改您的应用程序以使用 XDG 文件夹.
- PCGamingWiki 尝试记录 Linux PC 游戏是否遵循 XDG 基本目录规范。