XDG 基本目录
此文章在#规范中总结了 XDG 基本目录规范,并在#支持中跟进软件支持情况。
规范
请阅读完整规范。本节将尝试分解其试图实现的核心内容。
默认情况下,只有 $XDG_RUNTIME_DIR 会由 pam_systemd(8) 自动设置,其他变量用户可根据规范自行定义。更改 XDG_RUNTIME_DIR 可能会导致 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- 单个目录,用于存放运行时用户文件或其他文件对象(如 sockets、命名管道等)。
- 不需要提供默认值;如果未设置且没有其他等效配置,则应发出警告。
- 必须由用户拥有,访问模式为
0700。 - 文件系统符合 OS 标准。
- 必须位于本地文件系统上。
- 可能会定期清理。
- 设置粘滞位或每 6 小时修改一次防止被清理。
- 只能在用户登录期间存在。
- 可能挂载为 tmpfs,故不应用于存储大文件。
-
pam_systemd将其设置为/run/user/$UID。
-
$HOME/.local/bin- 普遍用于存放用户可执行文件。
-
没有
$XDG_BIN_HOME目录。-
$HOME/.local应类似/usr/local使用。
-
-
$HOME可能在不同架构的系统间共享,造成问题:将已编译的二进制文件安装到$HOME/.local/bin目录后,不能在架构不同的系统上使用。虽然这通常没有什么关系,但需谨记:若将编译好的二进制文件存放在$HOME中,该目录便部分地架构相关。
系统目录
-
$XDG_DATA_DIRS- 由
:分隔的目录列表,按优先级排列(类似$PATH),用于搜索数据文件。 - 默认应为
/usr/local/share:/usr/share。
- 由
-
$XDG_CONFIG_DIRS- 由
:分隔的目录列表,按优先级排列(类似$PATH),用于搜索配置文件。 - 默认应为
/etc/xdg。
- 由
支持
此节旨在记录日益增长的使用 XDG 基本目录规范(于 2003 年提出)的软件,通过列出常见的 dotfiles 及其支持状态来展示此规范的可用性。 对于那些目前不支持 XDG 基本目录规范的软件,此处给出可模拟该规范的变通方案。
变通方案仅限于那些不涉及修改源代码、在环境变量中执行代码或修改编译时选项的方法。不修改编译时选项是因为配置应该能够在系统之间移植,而编译时选项会妨碍这一点。
希望这能作为识别 dotfiles 到底是干什么的、是来自哪个软件的信息源。
贡献
贡献时,请确保章节分类正确。
任何变通方案都不应需要修改源代码、在环境变量中执行代码或修改编译时选项,任何需要这些方法才能获得支持的软件都必须分类为“硬编码”。 此外,如果过程容易出错或困难,也应分类为“硬编码”。
- “应用程序”列应该使用指向本 wiki 条目的链接、模板:Pkg 或 模板:AUR。
- “旧路径”列是项目曾经拥有的所有遗留文件和目录(每行一个),即使这些文件或目录不再被读取,也应保留以便查找。
- 尽量找到项目采用 XDG 基本目录规范的首个 commit 或版本以及任何相关的公开讨论,分别收入“采用规范自”列和“讨论”列(每行两个)。
- “注释”列应包括适当的变通方案或解决方案。请确认提供的方案正确且可行。
完整支持
| 应用程序 | 旧路径 | 采用规范自 | 讨论 | 注释 |
|---|---|---|---|---|
| act包 |
~/.actrc
|
1656 2195 | [1] |
如果 |
| aerc | fff1664 |
XDG_CONFIG_HOME/aerc/aerc.conf
|
||
| ALSA |
~/.asoundrc
|
577df36 1.2.3 | [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/
|
| asunder包 |
~/.asunder~/.asunder_album_artist~/.asunder_album_genre~/.asunder_album_title
|
2.9.0[失效链接 2021-05-17 ⓘ] | [12][失效链接 2021-05-17 ⓘ] | 使用 $XDG_CONFIG_HOME/asunder/asunder 代替原 ~/.asunder,$XDG_CACHE_HOME/asunder/asunder_album_...代替其他 3 个文件。迁移后原文件需要手动删除。
|
| atuin包 |
~/.config/atuin~/.local/share/atuin
|
156893d |
$XDG_CONFIG_HOME/atuin/config.toml$XDG_DATA_HOME/atuin/history.db
|
|
| audacity包 |
~/.audacity-data/
|
3.2.0 | [13] | 如果旧路径不存在,则使用以下新路径:
|
| binwalk包 |
~/.binwalk
|
2051757 | [14] |
$XDG_CONFIG_HOME/binwalk
|
| bitwarden-cli包 |
~/.config/Bitwarden CLI
|
1.7.1 | [15] |
$XDG_CONFIG_HOME/Bitwarden CLI
优先遵循 该目录包含一个存放所有保险库数据的 |
| Blender |
~/.blender
|
4293f47 | [16] | |
| borgmatic |
~/.borgmatic/
|
1.9.0 | [17] | |
| btop包 | b5e709d |
$XDG_CONFIG_HOME/btop
|
||
| byobu包 |
~/.byobu
|
4.17 | [18] |
$XDG_CONFIG_HOME/byobu
如果旧路径存在或者 |
| cabal |
~/.cabal/
|
9f7dc55 v3.10.1.0 | [19] | |
| calcurse包 |
~/.calcurse
|
04162d | [20] [21] |
$XDG_CONFIG_HOME/calcurse$XDG_DATA_HOME/calcurse
如果旧路径 |
| calibre包 | ||||
| catfish包 |
~/.config/catfish
|
af65ed25 | [22] | |
| ccache包 |
~/.ccache
|
4.0 | [23] |
$XDG_CACHE_HOME/ccache$XDG_CONFIG_HOME/ccache/ccache.conf
|
| celestiaAUR |
~/.celestiarc
|
[24] |
$XDG_CONFIG_HOME/celestia/celestiarc
|
|
| clangd-binAUR |
~/.clangd
|
ad38f4b3 11.0.0 | [25] |
$XDG_CONFIG_HOME/clangd/config.yml$XDG_CACHE_HOME/clangd
可以在 |
| clifmAUR |
~/.config/clifm/
|
9d6e482 |
$XDG_CONFIG_HOME/clifm/
|
|
| Composer |
~/.composer
|
1.0.0-beta1 | [26] | |
| crossnote |
~/.mume
|
d714a82 0.8.13 | [27] |
$XDG_CONFIG_HOME/mume
如果旧路径存在,优先使用。 |
| cryptomatorAUR |
~/.Cryptomator
|
39f9da1 | [28] |
$XDG_CONFIG_HOME/Cryptomator
|
| ctags包 (universal-ctags) |
~/.ctagsrc~/.ctags.d/
|
68da03a 8fb0b04 |
Issue 89 Pull request 2384 |
在启动时,Universal-ctags 会加载 $XDG_CONFIG_HOME/ctags 目录中文件扩展名为“.ctags”的文件。
|
| CUPS |
~/.cups/
|
23b1be6 | [29] | |
| cURL |
~/.curlrc
|
7.73.0 | [30] |
$XDG_CONFIG_HOME/.curlrc
|
| dconf包 | ||||
| Dolphin 模拟器 |
~/.dolphin-emu
|
a498c68 | [31] | |
| dr14_t.meter-gitAUR | 7e777ca | [32] |
$XDG_CONFIG_HOME/dr14tmeter/
|
|
| dunst包 | 78b6e2b | [33] |
$XDG_CONFIG_HOME/dunst/
|
|
| Emacs |
~/.emacs~/.emacs.d/init.el
|
[34] |
$XDG_CONFIG_HOME/emacs/init.el
旧路径优先于 XDG 路径。Emacs 不会自行创建 |
|
| Firefox |
~/.mozilla/
|
147 | [35] |
$XDG_CONFIG_HOME/mozilla/
如果旧路径 |
| fish |
$XDG_CONFIG_HOME/fish/
|
|||
| freesweep |
~/.sweeprc
|
[36] | ||
| fltk包 |
~/.fltk/
|
7308bcd | [37] | [38] |
| fontconfig |
~/.fontconfig~/.fonts
|
8c255fb [39] | 配置位于 $XDG_CONFIG_HOME/fontconfig/fonts.conf 和 $XDG_CONFIG_HOME/fontconfig/conf.d/,字体存储在 $XDG_DATA_HOME/fonts/。
|
|
| fontforge包 |
~/.FontForge ~/.PfaEdit
|
e4c2cc7 | [40] [41] | |
| freecad包 |
~/.FreeCAD
|
e7e2994ba | [42] | 默认使用
旧路径可通过 |
| freerdp包 |
~/.freerdp
|
edf6e72 | ||
| Gajim |
~/.gajim
|
3e777ea | [43] | |
| gconfAUR |
~/.gconf
|
fc28caa | [44] | |
| ghc包 |
~/.ghci
|
763d285 9.4.1 | ||
| ghidra包 |
~/.ghidra/
|
3b0aac9 | [45] | |
| GIMP |
~/.gimp-x.y ~/.thumbnails
|
60e0cfe 483505f | [46] [47] | |
| 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
|
| gnuplot |
~/.gnuplot_history
|
a5562b1 [48] | ||
| Godot Engine |
~/.godot
|
73049d1 3.0-stable | [49] | |
| GoldenDict |
~/.goldendict/
|
[50] |
$XDG_CONFIG_HOME/goldendict/.goldendict/
|
|
| goobookAUR |
~/.goobookrc
|
3.5 | [51] |
$XDG_CONFIG_HOME/goobookrc
|
| gops | 71c4255 | |||
| GStreamer |
~/.gstreamer-0.10
|
4e36f93 | [52] | |
| GTK 3 | ||||
| Haskell#Stack |
~/.stack
|
2.9.3 | [53] | 默认使用旧目录。使用 export STACK_XDG=1 使其符合规范。
旧方法 |
| helm包 |
~/.helm
|
3.0.0 | ||
| htop包 |
~/.htoprc
|
93233a6 |
$XDG_CONFIG_HOME/htop/htoprc
|
|
| httpie包 |
~/.httpie
|
5af0874 | [55] | |
| i3 |
~/.i3
|
7c130fb | ||
| i3blocks包 i3blocks-gitAUR | [56] | |||
| i3status包 |
~/.i3status.conf
|
c3f7fc4 | ||
| i3status-rust包 | ||||
| IdeaVim |
~/.ideavimrc
|
0.54.1-EAP | [57] |
$XDG_CONFIG_HOME/ideavim/ideavimrc
|
| imagemagick包 | ||||
| Inkscape |
~/.inkscape
|
0.47 | [58] | |
| intellij-idea-community-edition包 intellij-idea-ultimate-editionAUR |
~/.IntelliJIdeaXXXX.X
|
2020.1 | [59] |
$XDG_CONFIG_HOME/JetBrains/IntelliJIdeaXXXX.X$XDG_DATA_HOME/JetBrains/IntelliJIdeaXXXX.X$XDG_CACHE_HOME/JetBrains/IntelliJIdeaXXXX.X
|
| iotop-c包 |
~/.config/iotop
|
[60] | [61] | |
| ipython |
~/.ipython
|
8.0.0 | [62] |
$XDG_CONFIG_HOME/ipython(或当 $XDG_CONFIG_HOME 未设置或为空时默认使用的 ~/.config/ipython)不存在时使用旧路径。
|
| iwctl (iwd包) |
~/.iwctl_history
|
d3e00d7f | ||
| josm包 |
~/.josm
|
11162 | [63] | |
| jupyter |
~/.jupyter
|
在 5.0 中可选使用 XDG 路径,在 6.0 中可选使用旧路径,在 7.0 中强制使用 XDG 路径(更新日志) |
$XDG_CONFIG_HOME/jupyter
|
|
| Kakoune | ||||
| keynavAUR |
~/.keynavrc
|
$XDG_CONFIG_HOME/keynav/keynavrc
|
||
| latexmk (texlive-binextra包) |
~/.latexmkrc
|
$XDG_CONFIG_HOME/latexmk/latexmkrc
|
||
| less |
~/.lesshst~/.lesskey
|
590
完整支持:598 |
[64] |
$XDG_STATE_HOME/lesshst(或当 $XDG_STATE_HOME 未设置或为空时默认使用的 ~/.local/state/lesshst),不存在则回退到 $XDG_DATA_HOME/lesshst$XDG_CONFIG_HOME/lesskey
在 590 版本中必须设置环境变量 |
| lftp包 |
~/.lftp
|
21dc400 | [65] | |
| lgogdownloaderAUR |
~/.gogdownloader
|
d430af6 | [66] | |
| librewolfAUR |
~/.librewolf
|
587de52 | [67] | 如果旧路径 ~/.librewolf 存在,优先使用。
|
| luarocks包 |
~/.luarocks
|
cd16cdd | [68] |
$XDG_CONFIG_HOME/luarocks$XDG_CACHE_HOME/luarocks
如果旧路径 |
| mangohud包 | 65b90fc | [69] |
$XDG_CONFIG_HOME/MangoHud
|
|
| mc |
~/.mc
|
1b99570 0b71156 ce401d7 |
[70] | |
| Mercurial |
~/.hgrc
|
3540200 4.2 |
$XDG_CONFIG_HOME/hg/hgrc
|
|
| mesa包 | 87ab26b |
$XDG_CACHE_HOME/mesa
|
||
| milkytracker包 |
~/.milkytracker_config
|
eb487c5 | [71] | |
| mlterm |
~/.mlterm/
|
71df071 | [72] |
$XDG_CONFIG_HOME/mlterm/
|
| mozc |
~/.mozc
|
91cc1e1 | [73] | |
| mpd |
~/.mpdconf
|
87b7328 | ||
| mpv |
~/.mpv
|
cb250d4 | [74] | |
| msmtp |
~/.msmtprc
|
af2f409 v1.6.7 |
$XDG_CONFIG_HOME/msmtp/config
|
|
| mutt |
~/.mutt
|
b17cd67 | [75] | |
| mypaint包 |
~/.mypaint
|
cf723b7 | ||
| nano |
~/.nano/ ~/.nanorc
|
c16e79b | [76] | |
| Neovim |
~/.nvim ~/.nvimlog ~/.nviminfo
|
1ca5646bb | [77] [78] | |
| Nestopia UE (nestopiaAUR) |
~/.nestopia/
|
610c008 1.51.0 | [79] | |
| Networkmanager-openvpn |
~/.cert/nm-openvpn
|
1.12.1 | [80] | |
| newsboat |
~/.newsboat
|
3c57824 | [81] |
$XDG_CONFIG_HOME/newsboat$XDG_DATA_HOME/newsboat
默认使用旧目录,若 |
| node-gyp包 |
~/.node-gyp
|
2b5ce52a | [82] | |
| np2kai-gitAUR |
~/.config/np2kai ~/.config/xnp2kai
|
56a1cc2 | [83] | |
| notmuch |
~/.notmuch-config
|
[84] |
mkdir -p $XDG_CONFIG_HOME/notmuch/default; mv ~/.notmuch-config $XDG_CONFIG_HOME/notmuch/default/config
|
|
| NSS |
~/.pki
|
3.42 (da45424) | [85] | 参阅 Chromium 了解现有问题。 |
| nteract-binAUR | 4593e72 | [86] [87] | 无法识别 ipython/jupyter 的绕过方法 | |
| ocaml-utopAUR |
~/.utop-history
|
2.13.0 9729963 | [88] |
$XDG_STATE_HOME/utop/utop-history$XDG_CONFIG_HOME/utop/utoprc
|
| OfflineIMAP |
~/.offlineimaprc
|
5150de5 | [89] |
$XDG_CONFIG_HOME/offlineimap/config
|
| openal包 |
~/.alsoftrc
|
3c90ed9 |
$XDG_CONFIG_HOME/alsoft.conf
|
|
| opentyrianAUR |
~/.opentyrian
|
39559c3 | [90] | |
| oscAUR |
~/.oscrc~/.osc_cookiejar
|
6bc2d3f ebcf3de | [91] [92] |
$XDG_CONFIG_HOME/osc/oscrc$XDG_STATE_HOME/osc/cookiejar
如果旧路径存在,优先使用。 |
| pacman |
~/.makepkg.conf
|
80eca94 | [93] | |
| pam-u2f包 |
~/.config/Yubico/u2f_keys
|
ad52dd8 | [94] |
$XDG_CONFIG_HOME/Yubico/u2f_keys
|
| panda3dAUR |
~/.panda3d
|
2b537d2 | ||
| pandoc-cli包 |
~/.pandoc/
|
0bed0ab | [95] | |
| PCManFM |
~/.thumbnails
|
1.3.2 | ||
| pcsx2AUR |
~/.pcsx2
|
87f1e8f a9020c6 3b22f0f 0a012ae |
[96] [97] | |
| pnpm包 |
~/.pnpm-store
|
[98] [99] | [100] | |
| poezioAUR | ||||
| powershellAUR | 6.0 | |||
| ppsspp包 |
~/.ppsspp
|
132fe47 | [101] | |
| procps-ng包 |
~/.toprc
|
af53e17 | [102] [103] | |
| Pry (ruby-pry包) |
~/.pryrc~/.pry_history
|
a0be0cc7 15e1fc92 e9d1be0e |
[104] | |
| PulseAudio |
~/.pulse ~/.pulse-cookie
|
59a8618 87ae830 9ab510a 4c195bc |
[105] |
$XDG_CONFIG_DIR/pulse$XDG_CONFIG_DIR/pulse/cookie
|
| pyroomAUR | ||||
| python-autoimportAUR |
~/.config/autoimport/config.toml
|
1.2.0 | [106] |
$XDG_CONFIG_HOME/autoimport/config.toml
|
| python-black包 |
~/.config/black
|
21.4b0 | [107] |
$XDG_CONFIG_HOME/black$XDG_CACHE_HOME/black/版本号/
|
| python-pip包 |
~/.pip
|
6.0 | [108] | |
| python-pipx包 |
~/.local/pipx
|
c3d8de9 | [109] | 如果旧路径 ~/.local/pipx 存在,优先使用。使用 python-platformdirs包 实现。
|
| python-poetry包 |
~/.poetry
|
[110] | [111] | |
| quodlibet包 |
~/.quodlibet
|
3.10.0 | [112] | |
| qutebrowser | ||||
| qtile |
fd8686e 66d704b 51cff01 |
[113] | 一些可选的栏小部件可以在不符合规范的路径中创建文件或目录,但大多数情况下仍然可配置。 | |
| rclone包 |
~/.rclone.conf
|
9d36258 | [114] | |
| retroarch包 | ||||
| ripgrep-all包 |
~/.cache/rga
|
963524b v0.10.3 |
[115] [116] [117] |
|
| rrAUR |
~/.rr
|
02e7d41 | [118] | |
| RSpec (ruby-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] | 需要手动迁移数据。
mkdir "$XDG_CONFIG_HOME"/scummvm/ "$XDG_DATA_HOME"/scummvm mv ~/.scummvmrc "$XDG_CONFIG_HOME"/scummvm/scummvm.ini mv ~/.scummvm "$XDG_DATA_HOME"/scummvm/saves |
| sdcv包 |
~/.stardict/ ~/.sdcv_history
|
958ec35 | [125] | |
| shellcheck包 |
~/.shellcheckrc
|
581bcc3 |
$XDG_CONFIG_HOME/shellcheckrc
有关更多信息,请参阅 shellcheck(1) § RC FILES。 |
|
| snes9x包 |
~/.snes9x
|
93b5f11 | [126] | 默认情况下,配置文件留空,以便用户填写(通过 GUI 或手动)。 |
| spectrwm |
~/.spectrwm
|
a30bbb | [127] | |
| sublime-text-devAUR | build 4105 | 在版本 4105 之前,缓存被放置在 $XDG_CONFIG_HOME/sublime-text-3/Cache 中。
|
||
| surfraw |
~/.surfraw.conf ~/.surfraw.bookmarks
|
3e4591d bd8c427 f57fc71 |
||
| sway |
~/.sway/config
|
614393c | [128] |
$XDG_CONFIG_HOME/sway/config
|
| sxhkd | ||||
| systemd | ||||
| teeworlds包 |
~/.teeworlds
|
[129] | ||
| termite | ||||
| tig包 |
~/.tigrc~/.tig_history
|
2.2 | [130] |
$XDG_DATA_HOME/tig(或默认的 ~/.local/share/tig 目录)必须存在否则将会写入 ~/.tig_history。
|
| TigerVNC |
~/.vnc
|
1.14.0 | [131] | |
| tmux |
~/.tmux.conf
|
3.1 3.2 | [132] | 3.1 引入了 ~/.config/tmux/tmux.conf 并在 3.2 添加了 $XDG_CONFIG_HOME/tmux/tmux.conf 支持。
|
| tmuxinatorAUR |
~/.tmuxinator
|
2636923 | [133] | |
| tmuxp |
~/.tmuxp
|
1.5.0 1.5.2 | [134] | |
| tmuxinatorAUR |
~/.tmuxinator
|
2636923 | [135] | |
| Transmission |
~/.transmission
|
b71a298 | ||
| 图标主题规范(Icon Theme Specification) |
~/.icons/~/.themes/
|
0.7 |
$XDG_DATA_HOME/icons$XDG_DATA_HOME/themes
为了使 X11 Qt、GTK 程序或 Wayland Qt 程序使用 |
|
| util-linux包 | 570b321 | |||
| Uzbl | c6fd63a | [136] | ||
| vale包 |
~/.vale.ini
|
3.0.0 | ||
| vim |
~/.vim~/.vimrc~/.viminfo./.文件名.swp./.文件名.un~./文件名~
|
c9df1fb 4f04efb | [137] [138] |
$XDG_CONFIG_HOME/vim/(原 ~/.vim 下的配置文件)$XDG_CONFIG_HOME/vim/vimrc
默认仅使用以上 XDG 目录/文件,其他需创建
以下目录需要在
|
| vimb包 | ||||
| VirtualBox |
~/.VirtualBox
|
4.3 | [139] | 滥用 $XDG_CONFIG_HOME 目录,向其中写入数百 KB 的 *.log 和 *.dat 文件。
|
| vis包 |
~/.vis
|
68a25c7 d138908 | [140] | |
| VLC |
~/.vlcrc
|
16f32e1 | [141] | |
| warsow包 |
~/.warsow-2.x
|
98ece3f | [142] | |
| WeeChat |
~/.weechat
|
[143] | [144] [145] |
$XDG_CONFIG_HOME/weechat$XDG_CACHE_HOME/weechat$XDG_DATA_HOME/weechat$XDG_RUNTIME_DIR/weechat
|
| Wireshark |
~/.wireshark
|
b0b53fa v2.1.0 | ||
| wxWidgets | [146] | |||
| XKB |
~/.xkb
|
$XDG_CONFIG_HOME/xkb
仅支持 Wayland [147]。 |
||
| Xsettingsd |
~/.xsettingsd
|
b4999f5 | ||
| xmobar |
~/.xmobarrc
|
7b0d6bf 9fc6b37 eaccf70 |
[148] [149] |
$XDG_CONFIG_HOME/xmobar/xmobarrc
|
| xmonad |
~/.xmonad/
|
40fc10b | 以下所有目录必须都存在,否则回退到 ~/.xmonad/:
也可以使用更高优先级的 |
|
| xonsh包 |
~/.xonshrc
|
[152] |
$XDG_CONFIG_HOME/xonsh/rc.xsh
|
|
| xournalpp包 |
~/.xournalpp
|
20db937f 1.1.0 | [153] [154] | |
| xsel包 |
~/.xsel.log
|
ee7b481 | [155] | |
| Xsettingsd |
~/.xsettingsd
|
b4999f5 | ||
| yapf包 | a0b51d2 | [156] |
$XDG_CONFIG_HOME/yapf/style
|
|
| Zim | e42b8b0 |
$XDG_CONFIG_HOME/zim/preferences.conf$XDG_CONFIG_HOME/zim/notebooks.list
|
||
| zoxide包 |
~/.zo
|
0.3.0 | [157] |
部分支持
| 应用程序 | 旧路径 | 采用规范自 | 讨论 | 注释 |
|---|---|---|---|---|
| abookAUR |
~/.abook
|
abook --config "$XDG_CONFIG_HOME"/abook/abookrc --datafile "$XDG_DATA_HOME"/abook/addressbook
|
||
| ack包 |
~/.ackrc
|
[158] |
export ACKRC="$XDG_CONFIG_HOME/ack/ackrc"
|
|
| Ansible |
~/.ansible
|
2.14 |
[159] [160] [161] |
export ANSIBLE_HOME="${XDG_CONFIG_HOME}/ansible"
export ANSIBLE_GALAXY_CACHE_DIR="${XDG_CACHE_HOME}/ansible/galaxy_cache"
export ANSIBLE_LOCAL_TEMP="${XDG_CACHE_HOME}/ansible/tmp"
export ANSIBLE_SSH_CONTROL_PATH_DIR="${XDG_CACHE_HOME}/ansible/cp"
export ANSIBLE_ASYNC_DIR="${XDG_CACHE_HOME}/ansible_async"
|
| asdf-vmAUR |
~/.asdfrc~/.asdf/
|
[162] |
export ASDF_CONFIG_FILE="${XDG_CONFIG_HOME}/asdf/asdfrc"
export ASDF_DATA_DIR="${XDG_DATA_HOME}/asdf"
|
|
| aspell |
~/.aspell.conf
|
[163] | 非常不完整。以下内容重新定位了 en 词典,但为了简洁起见,这里没有指定其他可能的词典。
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 | [164] |
export AWS_SHARED_CREDENTIALS_FILE="$XDG_CONFIG_HOME"/aws/credentials export AWS_CONFIG_FILE="$XDG_CONFIG_HOME"/aws/config |
| azure-cli包 |
~/.azure
|
export AZURE_CONFIG_DIR=$XDG_DATA_HOME/azure
|
||
| bash-completion包 |
~/.bash_completion
|
export BASH_COMPLETION_USER_FILE="$XDG_CONFIG_HOME"/bash-completion/bash_completion
|
||
| bashdbAUR |
~/.bashdbinit~/.bashdb_hist
|
就像 [165] 中所述,您可以指定一个文件来运行命令。因此,将 init 文件移动到 $XDG_CONFIG_HOME/bashdb/bashdbinit 并创建一个别名 alias bashdb='bashdb -x ${XDG_CONFIG_HOME:-$HOME/.config}/bashdb/bashdbinit'。不幸的是,历史文件是硬编码的 [166]。
|
||
| bazaar |
~/.bazaar~/.bzr.log
|
2.3.0 | [167] | 上游 bug 讨论指出,如果存在 ~/.config/bazaar,bazaar 将使用它。日志文件 ~/.bzr.log 可能仍会被写入。
|
| bitwarden包 |
~/.bitwarden-ssh-agent.sock
|
[168] |
export BITWARDEN_SSH_AUTH_SOCK="$XDG_RUNTIME_DIR"
|
|
| 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] | 当明确设置了 $XDG_CONFIG_HOME、$XDG_CACHE_HOME 和/或 $XDG_DATA_HOME 时,Bun 将优先使用它们。或者,可以使用 export BUN_INSTALL="$XDG_DATA_HOME"/bun 来设置 bun 目录的主位置。
|
|
| bup包 |
~/.bup/
|
export BUP_DIR="$XDG_DATA_HOME"/bup[并把 ~/.bup(如果存在)移动过去]
即使未设置 |
||
| 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] | 由于需要编译时选项,属于部分支持。 |
| cd-bookmark |
~/.cdbookmark
|
[177] |
export CD_BOOKMARK_FILE=$XDG_CONFIG_HOME/cd-bookmark/bookmarks
或者使用具有原生 XDG 支持的 fork:[178]。 |
|
| cgdb包 |
~/.cgdb
|
0.8.0 | [179] [180] | 设置 export CGDB_DIR=$XDG_CONFIG_HOME/cgdb 并将配置文件移动到 XDG_CONFIG_HOME/cgdb/cgdbrc。
|
| chez-schemeAUR |
~/.chezscheme_history
|
petite --eehistory "$XDG_DATA_HOME"/chezscheme/history
|
||
| chktex (texlive-binextra包) |
~/.chktexrc
|
将配置文件移动到 $XDG_CONFIG_HOME/chktex/.chktexrc(注意前导点)和 export CHKTEXRC=$XDG_CONFIG_HOME/chktex。
|
||
| Chromium |
~/.chromium~/.pki
|
23057 |
[181] [182] [183] |
故意(根据这些来源)破坏 ~/.config,向其中写入数百兆字节的缓存数据,非常不支持。
尽管 NSS 本身现在允许使用 XDG 规范,由于 Chromium 未正确设置 NSS,创建了 |
| cinelerra |
~/.bcast5
|
[184] |
export CIN_CONFIG="$XDG_CONFIG_HOME"/bcast5
|
|
| claude-codeAUR |
~/.claude~/.claude.json
|
[185] |
export CLAUDE_CONFIG_DIR="$XDG_CONFIG_HOME"/claude
|
|
| claws-mail包 |
~/.claws-mail
|
[186] |
claws-mail --alternate-config-dir "$XDG_DATA_HOME"/claws-mail
|
|
| clustersshAUR |
~/.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 即使使用以上方案,clusterssh 仍会创建 |
||
| conky |
~/.conkyrc
|
00481ee | [187] |
conky --config="$XDG_CONFIG_HOME"/conky/conkyrc
|
| claws-mail包 |
~/.claws-mail
|
[188] |
claws-mail --alternate-config-dir "$XDG_DATA_HOME"/claws-mail
|
|
| coreutils |
~/.dircolors
|
eval $(dircolors "$XDG_CONFIG_HOME"/dircolors)
|
||
| crawl |
~/.crawl
|
结尾的斜杠是必需的:
|
||
| 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 尽管如此,clusterssh 仍然会创建 |
||
| CUDA |
~/.nv
|
export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
|
||
| dict |
~/.dictrc
|
dict -c "$XDG_CONFIG_HOME"/dict/dictrc
|
||
| discord |
${XDG_CONFIG_HOME}/discord
|
自 0.0.27 版起:
文档未记录,但常用:
来源: |
||
| 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
|
[189] |
dosbox -conf "$XDG_CONFIG_HOME"/dosbox/dosbox.conf
|
|
| dub包 |
~/.dub
|
v1.30.0-beta.1 | Dub 使用 ~/.dub 目录进行用户设置和缓存下载的软件包。该目录只能整体移动,方法是使用 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 | [190] [191] | Elixir 并不完全符合 XDG 规范,只有当 MIX_XDG 变量设置为特殊值时,它才会使用 XDG,否则它将默认使用旧路径。
|
| Elm |
~/.elm
|
export ELM_HOME="$XDG_CONFIG_HOME"/elm
|
||
| emscripten包 |
~/.emscripten~/.emscripten_sanity~/.emscripten_ports~/.emscripten_cache__last_clear
|
[192] |
export EM_CONFIG="$XDG_CONFIG_HOME"/emscripten/configexport EM_CACHE="$XDG_CACHE_HOME"/emscripten/cacheexport EM_PORTS="$XDG_DATA_HOME"/emscripten/cacheemcc --em-config "$XDG_CONFIG_HOME"/emscripten/config --em-cache "$XDG_CACHE_HOME"/emscripten/cache
|
|
| erlang包 |
~/.erlang.cookie
|
[193] | [194] | Erlang 不完全支持 XDG 规范,最后才会在 $XDG_CONFIG_HOME 目录查找文件。
|
| factorioAUR |
~/.factorio/
|
[195] [196] | Factorio 支持使用配置文件手动指定数据路径:[197]
__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/
|
[198] |
export FCEUX_HOME="$XDG_CONFIG_HOME"/fceux。Fceux 将在 $FCEUX_HOME 内创建 .fceux 目录。
|
|
| FFmpeg |
~/.ffmpeg
|
export FFMPEG_DATADIR="$XDG_CONFIG_HOME"/ffmpeg
|
||
| flutterAUR |
~/.flutter~/.flutter_settings~/.flutter_tool_state,~/.pub-cache
|
[199] | ||
| fzf-gitAUR |
~/.fzf.bash,~/.fzf.zsh
|
[200] | 如果使用 --xdg 调用安装脚本,则 shell init 文件将安装到 XDG_CONFIG_HOME/fzf,例如 /usr/local/opt/fzf/install --xdg。
|
|
| GDB |
~/.gdbinit~/.gdb_history
|
11.1 |
$XDG_CONFIG_HOME/gdb/gdbinit
|
|
| gemini-cli包 |
~/.gemini/
|
0.25.0 | [201] |
export GEMINI_CLI_HOME="$XDG_CONFIG_HOME"/gemini
|
| 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"
|
||
| ghcup-hs-binAUR |
~/.ghcup
|
[202] | [203] |
export GHCUP_USE_XDG_DIRS=true
环境变量 |
| github-copilot-cliAUR |
~/.copilot
|
[205] |
export COPILOT_HOME="$XDG_CONFIG_HOME"/copilot
|
|
| gitsign包 |
~/.sigstore/root
|
[206] |
export TUF_ROOT="$XDG_DATA_HOME"/sigstore/root
|
|
| glivAUR |
~/.glivrc
|
gliv --glivrc="$XDG_CONFIG_HOME"/gliv/glivrc
|
||
| GNU Screen |
~/.screenrc~/.screen/
|
export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrcexport SCREENDIR="${XDG_RUNTIME_DIR}/screen"
|
||
| GnuPG |
~/.gnupg
|
[207] [208] |
export GNUPGHOME="$XDG_DATA_HOME"/gnupg,gpg2 --homedir "$XDG_DATA_HOME"/gnupg
请注意,目前使用 systemd 用户单元和基于 socket 的激活无法开箱即用,因为 socket 目录会根据 [Service] Environment="GNUPGHOME=%h/.local/share/gnupg" 如果您使用 GPG 作为您的 SSH 代理,请将 |
|
| gnuradio包 |
~/.gnuradio
|
[209] | GNU Radio:
|
|
| Go |
~/go
|
[210] |
export GOPATH="$XDG_DATA_HOME"/go,export GOMODCACHE="$XDG_CACHE_HOME"/go/mod
如果未设置 |
|
| Google Earth |
~/.googleearth
|
可以使用 ~/.config/Google/GoogleEarthPro.conf 中的 KMLPath 和 CachePath 选项更改某些路径。
|
||
| gopass包 |
~/.password-store
|
覆盖 ~/.config/gopass/config.yml 中的设置:
~/.config/gopass/config.yml root: path: gpgcli-gitcli-fs+file:///home/<userid>/.config/password-store
|
||
| gpodder包 |
~/gPodder
|
GPODDER_DOWNLOAD_DIR 用于设置下载文件夹。GPODDER_HOME 用于指定配置和数据库文件的存储位置,同时如果未设置 GPODDER_DOWNLOAD_DIR,下载的文件也会保存在此目录中。
|
||
| 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
|
[213] |
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"
如果使用了 Lxappearance, 要阻止 KDE Plasma 创建此文件,请禁用“GNOME/GTK 设置同步”后台服务。 |
||
| hledger包 |
~/.hledger.journal
|
[215] |
export LEDGER_FILE="$XDG_DATA_HOME"/hledger.journal
|
|
| Houdini |
~/houdiniMAJOR.MINOR)
|
[216] |
export HOUDINI_USER_PREF_DIR="$XDG_CACHE_HOME"/houdini__HVER__
这个变量的值必须包含子字符串 |
|
| 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
|
[218] |
irssi --config="$XDG_CONFIG_HOME"/irssi/config --home="$XDG_DATA_HOME"/irssi
|
|
| isync |
~/.mbsyncrc
|
[219] |
mbsync -c "$XDG_CONFIG_HOME"/isync/mbsyncrc
|
|
| Java#OpenJDK |
~/.java/.userPrefs
|
[220] |
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
|
|
| jupyter |
~/.jupyter
|
5.0.0rc0 | [221] [222] |
python-jupyter-core包 < v5.0.0:
v5.0.0 <= python-jupyter-core包 < v6.0.0:
python-jupyter-core包 >= v6.0.0:完整支持(通过python-platformdirs包),默认开启 |
| k9s包 |
~/.k9s
|
0.20.4 | [224] |
export K9SCONFIG="$XDG_CONFIG_HOME"/k9s
|
| KDE 4 |
~/.kde~/.kde4
|
[225] |
export KDEHOME="$XDG_CONFIG_HOME"/kde
KDE 4 使用 |
|
| keychain包 |
~/.keychain
|
[226] | [227] |
keychain --absolute --dir "$XDG_RUNTIME_DIR"/keychain
|
| kodi包 |
~/.kodi
|
[228] | [229] |
KODI_DATA=$XDG_DATA_HOME/kodi
|
| kscriptAUR |
~/.kscript
|
[230] |
export KSCRIPT_CACHE_DIR="$XDG_CACHE_HOME"/kscript
|
|
| ledger |
~/.ledgerrc~/.pricedb
|
[231] |
ledger --init-file "$XDG_CONFIG_HOME"/ledgerrc
|
|
| Leiningen |
~/.lein~/.m2
|
[232] |
export LEIN_HOME="$XDG_DATA_HOME"/lein
要更改 Leiningen 使用的 m2 仓库位置,请参阅:Leiningen#m2 仓库位置 |
|
| libdvdcss包 |
~/.dvdcss
|
[233] |
export DVDCSS_CACHE="$XDG_DATA_HOME"/dvdcss
|
|
| libice包 |
~/.ICEauthority
|
[234] |
export ICEAUTHORITY="$XDG_CACHE_HOME"/ICEauthority
确保提前设置 不要使用 |
|
| LibreOffice | [235] | LibreOffice 将所有数据存储在 $XDG_CONFIG_HOME/libreoffice/4/user/ 目录下,包括运行时文件、用户数据、缓存和扩展。其中一些路径可以在工具(T) > 选项(O)⋯ > 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/
|
[236] |
export MINETEST_USER_PATH="$XDG_DATA_HOME"/luanti
|
|
| lynx包 |
/etc/lynx.cfg
|
export LYNX_CFG="$XDG_CONFIG_HOME"/lynx.cfg
|
||
| m17n-db |
~/.m17n.d
|
[237] | ||
| MAME |
~/.mame
|
如果使用 Arch 的 mame包 软件包,/usr/bin/mame 将是一个包装脚本,它会自动创建并强制使用 ~/.mame。请先运行一次 /usr/bin/mame 以生成该目录,随后可将其移动至 $XDG_DATA_HOME/mame。编辑 mame.ini,将其中所有的 $HOME/.mame 替换掉,之后便可通过 /usr/lib/mame/mame -inipath $XDG_DATA_HOME/mame 启动 MAME。
|
||
| maptool-binAUR |
~/.maptool-rptools
|
[238] |
/opt/maptool/lib/app/MapTool.cfg [JavaOptions] -DMAPTOOL_DATADIR=.local/share/maptool-rptools 但是,没有办法改变这个配置文件的位置。 |
|
| Mathematica |
~/.Wolfram
|
export WOLFRAM_USERBASE="$XDG_CONFIG_HOME"/Wolfram
曾为 |
||
| maven包 |
~/.m2
|
[239] |
export MAVEN_OPTS=-Dmaven.repo.local="$XDG_DATA_HOME"/maven/repositoryexport MAVEN_ARGS="--settings $XDG_CONFIG_HOME/maven/settings.xml"mvn -gs "$XDG_CONFIG_HOME"/maven/settings.xml并在 settings.xml 中根据需要设置 <localRepository>
|
|
| maxima包 |
~/.maxima
|
export MAXIMA_USERDIR="$XDG_CONFIG_HOME"/maxima
|
||
| mednafen包 |
~/.mednafen
|
export MEDNAFEN_HOME="$XDG_CONFIG_HOME"/mednafen
|
||
| minikube包 |
~/.minikube
|
[240] |
export MINIKUBE_HOME="$XDG_DATA_HOME"/minikube
无论出于什么原因,这会在 |
|
| minio-client包 |
~/.mc
|
[241] |
export MC_CONFIG_DIR="$XDG_CONFIG_HOME"/minio-client
|
|
| 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"/mocmocp -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
|
[242] |
/etc/mtpaint/mtpaintrc userINI = ~/.config/mtpaint |
|
| mypy包 |
~/.config/mypy/config~/.mypy.ini~/.mypy_cache
|
v0.670 | [243] [244] |
$XDG_CONFIG_HOME/mypy/config
export MYPY_CACHE_DIR="$XDG_CACHE_HOME"/mypy |
| MySQL |
~/.mysql_history~/.my.cnf ~/.mylogin.cnf
|
1=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。
|
||
| n |
/usr/local/n
|
export N_PREFIX=$XDG_DATA_HOME/n
|
||
| ncmpc包 |
~/.ncmpc
|
ncmpc -f "$XDG_CONFIG_HOME"/ncmpc/config
|
||
| ncmpcpp |
~/.ncmpcpp~/.lyrics
|
38d9f81 27cd86e |
[246] [247] [248] |
应设置 ncmpcpp_directory,以避免在 ~/.ncmpcpp 中生成 error.log 文件;同时可将 lyrics_directory 设置为 ~/.cache/ncmpcpp-lyrics,以避免使用 ~/.lyrics。
|
| ncurses包 |
~/.terminfo
|
排除系统路径搜索:
|
||
| Netbeans |
~/.netbeans
|
[249] |
netbeans --userdir "${XDG_CONFIG_HOME}"/netbeans
|
|
| Node.js |
~/.node_repl_history
|
[250] |
export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
|
|
| nodenvAUR |
~/.nodenv
|
export NODENV_ROOT="$XDG_DATA_HOME"/nodenv
|
||
| npm包 |
~/.npm~/.npmrc
|
[251] |
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 安装的,则 |
|
| nuget包 |
~/.nuget/packages
|
[252] |
export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
|
|
| NVIDIA |
~/.nv
|
如果设置则使用 XDG_CACHE_HOME,否则不正确地回退到 ~/.nv 而不是 ~/.cache。
|
||
| nvidia-settings包 |
~/.nvidia-settings-rc
|
[253] |
nvidia-settings --config="$XDG_CONFIG_HOME"/nvidia/settings
|
|
| nvm包 |
~/.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/
|
[254] | [255] |
export OMNISHARPHOME="$XDG_CONFIG_HOME/omnisharp"
|
| opam包 |
~/.opam
|
[256] |
export OPAMROOT="$XDG_DATA_HOME/opam"
配置和状态数据都存储在 |
|
| openai-codex包 |
~/.codex/
|
5fc9fc3 | [257] |
export CODEX_HOME="$XDG_CONFIG_HOME"/codex
|
| openscad包 |
~/.OpenSCAD
|
7c3077b0f | [258] | 不完全遵守 XDG 基本目录规范,请参阅 [259]。
目前它硬编码 |
| 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
|
||
| pdfsamAUR |
~/.openjfx
|
export _JAVA_OPTIONS=-Djavafx.cachedir="$XDG_CACHE_HOME"/openjfx
|
||
| Phive |
~/.phive
|
[260] | 从 0.14.5 开始,可以移动整个数据目录。
|
|
| PHP |
~/.php_history
|
PHP 8.4 | [263] |
export PHP_HISTFILE="$XDG_STATE_HOME"/php/history
|
| Pidgin |
~/.purple
|
[264] |
pidgin --config="$XDG_DATA_HOME"/purple
|
|
| pklAUR |
~/.pkl/
|
CLI flags --settings="$XDG_CONFIG_HOME"/pkl/settings.pkl --cache-dir="$XDG_CACHE_HOME"/pkl can be used, but must appear after the command (e.g. pkl eval --settings(...))
|
||
| platformio-core包 |
~/.platformio
|
[265] |
export PLATFORMIO_CORE_DIR="$XDG_DATA_HOME"/platformio
|
|
| PostgreSQL |
~/.psqlrc~/.psql_history~/.pgpass~/.pg_service.conf
|
9.2 | [266] [267] |
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"
必须创建这两个目录: |
| Project Zomboid |
~/Zomboid
|
可以使用 -cachedir="${XDG_DATA_HOME}"/Zomboid/ 参数更改游戏文件的存储位置。
start.sh #!/usr/bin/env bash
SCRIPT="$(dirname "$0")/projectzomboid.sh"
sed 's|GAMEDIR|"${HOME}/Zomboid"|GAMEDIR="${XDG_DATA_HOME}/Zomboid"|' -i "$SCRIPT"
exec "$SCRIPT" -cachedir="${XDG_DATA_HOME}"/Zomboid/ "$@"
将其命名为 |
||
| PulseAudio |
~/.esd_auth
|
很可能是由 module-esound-protocol-unix.so 模块生成的。可以将其配置为使用不同的位置,但更有意义的是,在 /etc/pulse/default.pa 或 "$XDG_CONFIG_HOME"/pulse/default.pa 中注释掉此模块。
|
||
| PuTTY |
~/.putty/
|
[268] | 如果已存在,将使用 $XDG_CONFIG_HOME/putty。如果不存在,则创建 ~/.putty。如果两者都存在,则优先使用 $XDG_CONFIG_HOME/putty。已在 0.74 中测试。
|
|
| pyenv包 |
~/.pyenv
|
[269] [270] |
export PYENV_ROOT=$XDG_DATA_HOME/pyenv
|
|
| azure-cli包 |
~/.azure
|
export AZURE_CONFIG_DIR=$XDG_DATA_HOME/azure
|
||
| python |
~/.python_history
|
v3.13 |
[271] [272] [273] |
自版本 3.4 起,所有交互式会话的历史记录默认保存到 ~/.python_history,自 3.13 起,保存到 PYTHON_HISTORY。对于历史记录文件,Python 不会自动创建缺失的目录,只有在文件所在目录已存在的情况下,才会向该文件写入内容。您仍可以像在旧版本中一样自定义此功能(请参阅此示例),包括使用自定义路径或禁用历史记录保存。
PYTHON_HISTORY: |
| python-easyocrAUR |
~/.EasyOCR
|
export EASYOCR_MODULE_PATH="$XDG_CONFIG_HOME/EasyOCR"
|
||
| python-gripAUR |
~/.grip
|
export GRIPHOME="$XDG_CONFIG_HOME/grip"
|
||
| python-kivy包 |
~/.kivy
|
export KIVY_HOME="$XDG_DATA_HOME/kivy"
|
||
| python-pylint包 |
~/.pylint.d
|
2.10 | [274] | 自 2.10 版本起,数据目录已遵循 $XDG_CACHE_HOME。配置查找优先级为:$PYLINTRC > ~/.pylintrc > ~/.config/pylintrc > /etc/pylintrc。由于 ~/.config/pylintrc 与 /etc/pylintrc 均为硬编码路径,它会忽略 $XDG_CONFIG_HOME 和 $XDG_CONFIG_DIRS。变通方案:export PYLINTRC="$XDG_CONFIG_HOME"/pylint/pylintrc(若该文件存在,将直接跳过家目录查找)。
|
| python-setuptools包 |
~/.python-eggs
|
export PYTHON_EGG_CACHE="$XDG_CACHE_HOME"/python-eggs
|
||
| racket包 |
~/.racketrc~/.racket
|
[275] |
export PLTUSERHOME="$XDG_DATA_HOME"/racket
|
|
| rbenv包 |
~/.rbenv
|
[276] [277] |
export RBENV_ROOT="$XDG_DATA_HOME"/rbenv
|
|
| readline |
~/.inputrc
|
export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
|
||
| recoll包 |
~/.recoll
|
export RECOLL_CONFDIR="$XDG_CONFIG_HOME/recoll"
|
||
| redisAUR |
~/.rediscli_history~/.redisclirc
|
export REDISCLI_HISTFILE="$XDG_DATA_HOME"/redis/rediscli_history,export REDISCLI_RCFILE="$XDG_CONFIG_HOME"/redis/redisclirc
|
||
| Ren'Py |
~/.renpy
|
7.5 | [278] | 存档文件存储在 $RENPY_PATH_TO_SAVES 中。跨多个游戏共享的数据(例如允许导入前作存档的续作)则存储在 RENPY_MULTIPERSISTENT 中。 export RENPY_PATH_TO_SAVES="$XDG_DATA_HOME/renpy" export RENPY_MULTIPERSISTENT="$XDG_DATA_HOME/renpy_shared" |
| ripgrep包 | [279] |
export RIPGREP_CONFIG_PATH=$XDG_CONFIG_HOME/ripgrep/config
|
||
| rlwrap包 |
~/.*_history
|
[280] |
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/
|
[281] |
export SOLARGRAPH_CACHE=$XDG_CACHE_HOME/solargraph
|
|
| ruby-travisAUR |
~/.travis/
|
[282] |
export TRAVIS_CONFIG_PATH=$XDG_CONFIG_HOME/travis
|
|
| ruff包 |
.ruff_cache
|
[283] |
export RUFF_CACHE_DIR=$XDG_CACHE_HOME/ruff
|
|
| Rust#rustup |
~/.rustup
|
[284] |
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
|
|
| SageMath |
~/.sage
|
export DOT_SAGE="$XDG_CONFIG_HOME"/sage
|
||
| sbt包 |
~/.sbt
|
[285] |
sbt -ivy "$XDG_DATA_HOME"/ivy2 -sbt-dir "$XDG_DATA_HOME"/sbt(注意 [286])
|
|
| sdkman-binAUR |
~/.sdkman/
|
[287] |
export SDKMAN_DIR="$XDG_DATA_HOME/sdkman"
配置和数据文件均存储在 |
|
| simplescreenrecorderAUR |
~/.ssr/
|
0.4.3 | [288] [289] | 仅当已创建时才会使用 $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
|
[290] | [291] | 移动 ~/.spacemacs 文件。
其他文件需要像 Emacs 一样进行配置。 |
| spotdlAUR |
~/.spotdl
|
[292] ([293]) | [294] |
mkdir "$XDG_DATA_HOME"/spotdl
|
| SQLite |
~/.sqliterc~/.sqlite_history
|
配置文件:3.44.0; 历史记录仍在旧路径。 |
XDG_CONFIG_HOME/sqlite3/sqlitercexport SQLITE_HISTORY=$XDG_STATE_HOME/sqlite_history
|
|
| starship包 |
~/.config/starship~/.cache/starship
|
[295] (v0.2.0),[296] (v0.45.0) | [297] |
export STARSHIP_CONFIG="$XDG_CONFIG_HOME"/starship.toml,export STARSHIP_CACHE="$XDG_CACHE_HOME"/starship
|
| subversion |
~/.subversion
|
[298] [299][300] |
alias svn="svn --config-dir \"$XDG_CONFIG_HOME\"/subversion"
|
|
| sudo包 |
~/.sudo_as_admin_successful
|
1.9.6 | [301] [302][失效链接 2025-08-16 ⓘ] | 仅在编译时激活时存在(默认无)。自 1.9.6 起,可以在 /etc/sudoers 中使用 admin_flag 参数。 |
| task包 |
~/.task~/.taskrc
|
export TASKDATA="$XDG_DATA_HOME"/task,export TASKRC="$XDG_CONFIG_HOME"/task/taskrc}},在 2.6 版中完全支持(请注意,$XDG_CONFIG_HOME/task/taskrc 必须存在,否则即使设置了 $XDG_CONFIG_HOME,taskwarrior 也会在旧的 $HOME/.taskrc 位置创建示例配置 [303][304])
|
||
| 本地 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
|
||
| Thunderbird |
~/.thunderbird/
|
[305] | 系统会创建 ~/.cache/thunderbird 目录,其中包含以配置文件名称命名的子目录,以及 cache2、startupCache 等子目录。该缓存目录也可以通过 about:config 中的 browser.cache.disk.parent_directory 键进行设置 [306]。
|
|
| tiptopAUR |
~/.tiptoprc
|
这仍然需要 .tiptoprc 文件。
|
||
| uncrustify包 |
~/.uncrustify.cfg
|
export UNCRUSTIFY_CONFIG="$XDG_CONFIG_HOME"/uncrustify/uncrustify.cfg
|
||
| unityhubAUR |
~/Unity~/Unity user templates
|
这两个位置均可在 UnityHub 设置中指定。相关的路径首选项分别存储在 XDG_DATA_HOME/unityhub/secondaryInstallPath.json 和 XDG_DATA_HOME/unityhub/templatesSettings.json 中。
|
||
| 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
|
[307] |
export VAGRANT_HOME="$XDG_DATA_HOME"/vagrant,export VAGRANT_ALIAS_FILE="$XDG_DATA_HOME"/vagrant/aliases
|
|
| vint包 |
~/.vintrc.yaml.vintrc.yml.vintrc
|
0f741ac2c | [308] | 文档未记录,但代码显示 $XDG_CONFIG_HOME/.vintrc.yaml 应该可以工作
|
| virtualenv |
~/.virtualenvs
|
export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
|
||
| Visual Studio Code |
~/.vscode-oss/
|
[309] | 您可以使用 export VSCODE_PORTABLE="$XDG_DATA_HOME"/vscode,但该方法未记录在文档中,可能会意外中断。
设置此项会使编辑器在 您还可以使用 |
|
| VMware |
~/.vmware/
|
~/.vmware/preferences 文件中的 refvmx.defaultVMPath 键可用于设置虚拟机的默认存储位置。
|
||
| VSCodiumAUR |
~/.vscode-oss/
|
[310] [311] | 可以使用 --extensions-dir 标志运行 VSCodium,例如 vscodium --extensions-dir "$XDG_DATA_HOME/vscode"。但这不会阻止创建 ~/.vscode-oss/ 目录。
也可以修改 |
|
| w3m包 |
~/.w3m
|
26284ff | [312] [313] |
export W3M_DIR="$XDG_STATE_HOME/w3m"
|
| wakatimeAUR |
~/.wakatime/~/.wakatime.cfg
|
export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime"
该目录需要手动创建
|
||
| wget |
~/.wgetrc~/.wget-hsts
|
export WGETRC="$XDG_STATE_HOME/wgetrc" 并将以下内容添加为 wget 的别名:wget --hsts-file="$XDG_CACHE_HOME/wget-hsts",或者使用绝对路径设置 hsts-file 变量,因为 wgetrc 不支持环境变量:echo hsts-file \= "$XDG_STATE_HOME"/wget-hsts >> "$XDG_CONFIG_HOME/wgetrc"
|
||
| wine |
~/.wine
|
[314] |
Winetricks 使用以下类似 XDG 的位置进行 WINEPREFIX 管理:
|
|
| x3270AUR |
~/.x3270pro~/.c3270pro~/.x3270connect
|
export X3270PRO="$XDG_CONFIG_HOME"/x3270/config,export C3270PRO="$XDG_CONFIG_HOME"/c3270/config
|
||
| xbindkeys |
~/.xbindkeysrc
|
xbindkeys -f "$XDG_CONFIG_HOME"/xbindkeys/config
|
||
| xinit |
~/.xinitrc~/.xserverrc
|
[315] |
export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc,export XSERVERRC="$XDG_CONFIG_HOME"/X11/xserverrc
|
|
| 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 启动脚本在安装之间会有很大差异。 |
||
| xorg-xauth包 |
~/.Xauthority
|
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
请注意,LightDM 不允许更改此变量。如果强行更改,将无法登录。请改用 startx 或 配置 LightDM。根据 [316] 的信息,SLiM 将 /etc/sddm.conf.d/xauth-path.conf [X11] UserAuthFile=.Xauthority 在 Wayland 环境下,覆盖此设置可能会导致 Xorg 程序无法连接到 Xwayland 服务器。例如,kwin包 和 mutter包 均使用随机生成的文件名,因此无法将其设置为固定值。 |
||
| xorg-xrdb包 |
~/.Xresources~/.Xdefaults
|
最终,你应该使用 Xresources;由于这些资源是通过 xrdb 加载的,你可以指定相应的路径,例如 xrdb -load ~/.config/X11/xresources。
|
||
| yarn包 |
~/.yarnrc~/.yarn/~/.yarncache/~/.yarn-config/
|
2d454b5 | [317] [318] |
alias yarn='yarn --use-yarnrc "$XDG_CONFIG_HOME/yarn/config"'
|
| z包 |
~/.z
|
[319] |
export _Z_DATA="$XDG_DATA_HOME/z"
|
|
| zsh |
~/.zshrc~/.zprofile~/.zshenv~/.zlogin~/.zlogout~/.histfile~/.zcompdump~/.zcompcache
|
[320] | [321] |
export ZDOTDIR=$HOME/.config/zsh 以避免在主目录中的大多数 zsh dotfiles。
"$XDG_CONFIG_HOME"/zsh/.zshrc # 把补全文件和历史记录文件存放到 XDG 目录 [ -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/
|
[322] | |
| 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
|
[323] [324] [325] | |
| Apache Directory Studio |
~/.ApacheDirectoryStudio
|
||
| ARandR |
~/.screenlayout
|
[326] | |
| Arduino |
~/.arduino15~/.jssc
|
不会修复 | |
| arduino-cli包 |
~.arduino15/
|
[327] |
mv ~/.arduino15 $XDG_CONFIG_HOME/arduino15
在 arduino-cli.yaml 中指定 Arduino CLI 使用的新目录,如文档此处所述。
|
| ASP.NET Core |
~/.aspnet
|
[328] | |
| Avidemux |
~/.avidemux6
|
[329] | |
| azote包 |
~/.azotebg
|
[330] | |
| Barony |
~/.barony
|
[331] | |
| Bash |
~/.bashrc~/.bash_history~/.bash_profile~/.bash_login~/.bash_logout
|
[332] [333] |
mkdir -p "$XDG_STATE_HOME"/bash
|
| Berkshelf |
~/.berkshelf/
|
||
| chatty包 |
~/.chatty/
|
[334] | |
| chirp-nextAUR |
~/.chirp/
|
[335] | 开发者最新回应 |
| cmake包 |
~/.cmake/
|
[336] | 用于用户包注册表 ~/.cmake/packages/<package>,详见 cmake-packages(7) § User Package Registry 和 Package registry wiki 页面。看起来像是硬编码的,例如在 cmFindPackageCommand.cxx。
|
| cmus包 |
~/.config/cmus
|
[337] | [338] |
| Cinnamon |
~/.cinnamon/
|
[339] | |
| conanAUR |
~/.conan/
|
[340] |
export CONAN_USER_HOME="$XDG_CONFIG_HOME" 将设置创建 .conan/ 的目录。它是 旨在简化 CI,但也可以在这里使用。
|
| Continue |
~/.continue/
|
[341] [342] [343] | |
| darcs |
~/.darcs/
|
[344] | |
| dart包 |
~/.dart~/.dart-tool~/.dartServer
|
[345] | |
| dbus |
~/.dbus/
|
[346] | 考虑使用 dbus-broker包,因为它不会创建或使用该目录。 |
| devede包 |
~/.devedeng
|
在此处硬编码 | |
| Dia |
~/.dia/
|
||
| dig |
~/.digrc
|
||
| dotnet-sdk包 |
~/.dotnet/~/.templateengine
|
[347] | |
| dropbox |
~/.dropbox/
|
[348] | |
| Eclipse |
~/.eclipse/
|
[349] | 选项 -Dosgi.configuration.area=@user.home/.config/.. 可覆盖,但必须添加到 "$ECLIPSE_HOME"/eclipse.ini" 而不是命令行,这意味着您必须具有对 $ECLIPSE_HOME 的写权限。(Arch Linux 在 /usr/bin/eclipse 中对 $ECLIPSE_HOME 进行硬编码。)
|
| emacs-slime包 |
~/.slime/
|
[350] | |
| equalxAUR |
~/.equalx/
|
[352] | |
| feh |
~/.fehbg
|
[353] | |
| Fetchmail |
~/.fetchmailrc
|
||
| Flatpak |
~/.var/
|
[354] [355] 不会修复 | |
| gitkrakenAUR |
~/.gitkraken/
|
[356] | |
| google-cloud-cliAUR |
~/.gsutil/
|
[357] | |
| gphoto2包 |
~/.gphoto
|
[358] | |
| gramps包 |
~/.gramps/
|
[359] | 2022 支持 XDG 基础目录规范(针对下一版本 Gramps 5.2)⸺补丁 https://github.com/gramps-project/gramps/pull/1368 |
| groovy包 |
~/.groovy/
|
||
| grsync包 |
~/.grsync/
|
[360] | |
| gtk-recordMyDesktop |
~/.gtk-recordmydesktop
|
||
| hplip包 |
~/.hplip/
|
[361] | |
| hstrAUR |
~/.hstr_blacklist~/.hstr_favorites
|
[362] | 最近的这个 PR 可以修复这个问题。 |
| hunspell包 |
~/.hunspell_default
|
[363] | |
| hydrogen包 |
~/.hydrogen/
|
[364] | |
| idris |
~/.idris
|
[365] | |
| itch-setup-binAUR |
~/.itch
|
不会修复 | 应用程序设置中可以移动游戏安装位置。 |
| Java OpenJDK |
~/.java/fonts
|
[366] [367] |
export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
|
| Java OpenJFX |
~/.java/webview
|
||
| jgmenu包 |
~/.jgmenu-lockfile
|
[368] [369] | |
| jitsi-meetAUR |
~/Downloads
|
libjitsi#518 | 下载目录硬编码为 ~/Downloads 而不是 XDG_DOWNLOAD_DIR (来自 XDG 用户目录)。
|
| Jmol |
~/.jmol/
|
[370] | |
| jsignpdfAUR |
~/.JSignPdf
|
[371] | |
| julia |
~/.juliarc.jl~/.julia_history~/.julia
|
[372] [373] | 尾随的 :$JULIA_DEPOT_PATH 是必需的。请参阅 [374]。
export JULIA_DEPOT_PATH="$XDG_DATA_HOME/julia:$JULIA_DEPOT_PATH" export JULIAUP_DEPOT_PATH="$XDG_DATA_HOME/julia" |
| kotlin包 |
~/.kotlinc_history
|
相关 Konan 问题:[375] | |
| Kubernetes |
~/.kube/
|
[376] [377] [378] |
export KUBECONFIG="$XDG_CONFIG_HOME/kube" export KUBECACHEDIR="$XDG_CACHE_HOME/kube" |
| lbdbAUR |
~/.lbdbrc~/.lbdb/
|
[379] | |
| LightDM |
~/.dmrc
|
[380] | 通常由 greeter 在设定会话时创建。可依照 LightDM#启用自动登录修改 lightdm.conf 文件启用自动登录,不使用 greeter。
|
| lldb |
~/.lldb~/.lldbinit~/.lldb/lldb-widehistory
|
[381] | |
| llpp |
~/.config/llpp.conf
|
[382][失效链接 2022-09-23 ⓘ](存储库已删除) | 在 3ab86f0 中添加,但随后在旧仓库:e253c9f1/新仓库:e253c9f1 中恢复 |
| LMMS |
~/.lmmsrc.xml
|
[383] | |
| maliit-keyboardAUR |
~/.presage
|
Maliit Keyboard 使用了一个名为 Presage 的陈旧且不再维护的库,该库会创建 ~/.presage 目录。2024 年,Maliit Keyboard 移除了对 Presage 的依赖,但截至 2.3.1 版本,这一更改尚未包含在正式发布中。在此期间,请编译 maliit-keyboardAUR 的 master 分支。
|
|
| man-db包 |
~/.manpath
|
[384] | |
| mathomatic |
~/.mathomaticrc~/.matho_history
|
可以使用 rlwrap mathomatic -r 并适当设置 RLWRAP_HOME 环境来移动历史记录。
|
|
| MediaWiki |
~/.mweval_history~/.mwsql_history(若 $HOME 变量存在)
|
如果未定义 $HOME:[MediaWiki]/maintenance/.mweval_history 和 [MediaWiki]/maintenance/.mwsql_history。
|
|
| megacmdAUR |
~/.megaCmd/
|
[385] | |
| Minecraft |
~/.minecraft/
|
不会修复 | 第三方启动器 prismlauncher包 不使用旧路径。Minecraft#Minecraft 模组启动器中的其他启动器也可能使用不同的路径。 |
| minicom包 |
~/.minirc.dfl
|
上游有一个支持在 ~/.config/minicom 下的配置文件的 TODO 条目。[386]
|
|
| mongodb |
~/.mongorc.js~/.dbshell
|
[387] |
Stack Overflow 上的这个帖子建议使用命令行开关 --norc 部分解决该问题。
|
| Mono |
~/.mono/
|
[388] | |
~/.netrc
|
与 ~/.ssh 一样,许多程序都希望此文件在此处。其中包括 curl($CURLOPT_NETRC_FILE)、ftp($NETRC)、s-nail($NETRC)等项目。虽然其中一些提供了可配置的替代位置,但许多程序没有提供,例如 w3m、wget 和 lftp。
|
||
| nim包 |
~/.nimble
|
[389] [390] | Nimble 将在启动时 尝试加载 ~/.config/nimble/nimble.ini,在那里设置 nimbleDir。您还必须在 Nim 编译器 配置文件 中更改 nimblepath。
|
| nyx包 |
~/.nyx
|
该项目目前不再维护。 | |
| oh-my-bash-gitAUR |
~/.osh-update
|
||
| Ollama |
~/.ollama
|
[391] | 可以使用以下命令设置模型位置 [392]:
|
| openshotAUR |
~/.openshot_qt
|
[393] [394] | |
| OpenSSH |
~/.ssh
|
不会修复 | 假定许多 ssh 守护进程和客户端(例如 DropBear 和 OpenSSH)都存在。 |
| palemoon |
~/.moonchild productions
|
[395] | |
| parsec-binAUR |
~/.parsec
|
||
| pcsxrAUR |
~/.pcsxr
|
存在 -cfg 标志,但只能相对于 ~/.pcsxr 进行设置。
|
|
| perf |
~/.debug
|
硬编码在 tools/perf/util/config.c。提交:[396] | |
| perl |
~/.cpan~/perl5
|
[397] | Perl5 的 CPAN 需要 ~/.cpan。
|
| phoronix-test-suiteAUR |
~/.phoronix-test-suite
|
[398] | 部分解决方法:[399] |
| portfolio-performance-binAUR |
~/.PortfolioPerformance/
|
[400] | |
| various shells and display managers |
~/.profile
|
||
| psensor包 |
~/.psensor
|
[401] | |
| pulumi包 |
~/.pulumi
|
[402] | |
| python-streamlit包 |
~/.streamlit
|
[403] | |
| python-sympy包 |
~/.sympy-history
|
[404] | |
| python-tensorflow包 |
~/.keras
|
[405] | 这个问题是关于 tf.keras 模块的。
|
| quilt包 |
~/.quiltrc
|
如果 ~/.quiltrc 不存在,则返回 /etc/quilt.quiltrc。
|
|
| Qt Designer |
~/.designer
|
[406] | 上游已修复,计划 QT 7 发布(详见讨论链接)。 |
| R |
./.Rdata~/.Rprofile~/.Renviron~/.Rhistory~/.R/
|
部分解决方案(./.Rdata 和 ~/.R/licensed 不变):
export R_PROFILE_USER="${XDG_CONFIG_HOME}/R/.Rprofile"
export R_ENVIRON_USER="${XDG_CONFIG_HOME}/R/.Renviron"
export R_HISTFILE="${XDG_STATE_HOME}/R/history"
export R_MAKEVARS_USER="${XDG_CONFIG_HOME}/R/Makevars"
export R_CHECK_ENVIRON="${XDG_CONFIG_HOME}/R/check.Renviron"
export R_BUILD_ENVIRON="${XDG_CONFIG_HOME}/R/build.Renviron"
export R_REPOSITORIES="${XDG_CONFIG_HOME}/R/repositories"
|
|
| RedNotebook |
~/.rednotebook
|
[407] | |
| Remarkable |
~/.remarkable
|
||
| renderdoc包 |
~/.renderdoc
|
不会修复 | |
| repo |
~/.repoconfig
|
[408] | |
| rpm |
~/.rpmrc~/.rpmmacros
|
Backlog | 解决方法是使用 --rcfile 和 --macros,但这会产生副作用。
|
| run-mailcapAUR |
~/.mailcap
|
export MAILCAPS="$XDG_CONFIG_HOME/mailcap"
|
|
| 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
|
[409] | |
| Signal Desktop | [410] | 目前将消息保存在 ~/.config/Signal 中。
|
|
| Snap |
~/snap/
|
[411] | |
| Solfege |
~/.solfege~/.solfegerc~/lessonfiles
|
[412] | |
| SpamAssassin |
~/.spamassassin
|
||
| Steam |
~/.steam~/.steampath~/.steampid
|
[413] | 许多游戏引擎(Unity 3D、虚幻)都遵循该规范,但个别游戏发行商会对 Steam 自动云中的路径进行硬编码,导致游戏保存同步到错误的目录。[414] |
| stellarium包 |
~/.stellarium/
|
[415] | |
| Storybook |
~/.storybook/
|
[416] | |
| stremioAUR |
~/.stremio-server/
|
[417] | |
| sts4 |
~/.sts4
|
[418] | 传递 JVM 参数 -Dlanguageserver.boot.symbolCacheDir=$XDG_CACHE_HOME/sts4/symbolCache
|
| sweethome3d包 |
~/.eteks/sweethome3d
|
[419] | |
| TeamSpeak |
~/.ts3client
|
export TS3_CONFIG_DIR="$XDG_CONFIG_HOME/ts3client"
|
|
| terraform包 |
~/.terraform.d/
|
[420] | |
| texinfo包 |
~/.infokey
|
info --init-file "$XDG_CONFIG_HOME/infokey"
|
|
| tllocalmgr |
~/.texlive
|
||
| urlviewAUR |
~/.urlview
|
改用 fork urlview-xdg-gitAUR,该 fork 使用 $XDG_CONFIG_HOME/urlview/config
|
|
| viberAUR |
~/.ViberPC
|
||
| vimperator |
~/.vimperatorrc
|
[421] |
export VIMPERATOR_INIT=":source $XDG_CONFIG_HOME/vimperator/vimperatorrc"
|
| visidata包 |
~/.visidata
|
[422] | |
| wegoAUR |
~/.wegorc
|
[423] | |
| winboat |
~/.winboat
|
[424] | |
| wpa_cli |
~/.wpa_cli_history
|
alias wpa_cli='HOME=$XDG_STATE_HOME wpa_cli'
|
|
| x2goclientAUR |
~/.x2goclient
|
alias x2goclient="x2goclient --home=$HOME/.config"
|
|
| xpdf包 |
~/.xpdfrc
|
[425] | |
| xrdpAUR |
~/thinclient_drives
|
对于目录 ~/thinclient_drives,可以考虑编辑 /etc/xrdp/sesman.ini 并按照示例配置修改 [Chansrv] 部分。
|
|
| XVim2 |
~/.xvimrc
|
[426] | |
| yabridge-binAUR |
~/.vst/yabridge/~/.vst3/yabridge/~/.clap/yabridge/
|
不会修复 | |
| YARD |
~/.yard
|
[427] | 如果有人想实现它,将会接受 PR。 |
| zenmap包 |
~/.zenmap
|
[428] [429] | |
| zoomAUR |
~/.zoom
|
不推荐:设置以下变量会移动 .zoom 的内容,但目录本身始终会创建。此外,它会破坏某些功能,例如无法开始会议。
|
|
| zotero-binAUR |
~/.zotero~/Zotero
|
[430] | 默认数据存储位置 ~/Zotero 可以通过 GUI 修改:编辑 -> 设置 -> 高级 -> 数据存储位置 -> 使用自定义位置
|
工具
工具 xdg-ninjaAUR 可检测 $HOME 中可移动到 XDG 基本目录的不需要的文件/目录。请参阅 README 了解示例。
工具 boxxy包 可用于包装不遵守 XDG 基本目录的应用程序并重定向任何不需要的文件。
工具 ephemeral 可用于将通常位于 XDG_CONFIG_HOME 中的 chromium/electron 缓存链接到 XDG_CACHE_HOME 中的位置。
库
- C#
- 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(0.6 版旧标准)
- File-XDG
- 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 路径 >> ~/.hidden
路径 是文件/目录的路径,相对于 .hidden 的父目录(此处即 ~/)。