XDG 基础目录
本文档总结了 XDG 基础目录规范 的 #规范 部分,并跟踪了软件支持情况,详见 #支持。
规范
请阅读 完整规范。本节将尝试阐述其核心目标。
只有 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。 - 符合 OS 标准的完整文件系统。
- 必须位于本地文件系统上。
- 可能会被定期清理。
- 每 6 小时修改一次,或设置 sticky bit(粘滞位)以实现持久化。
- 仅在用户登录期间有效。
- 不应存储大文件,因为它可能会被挂载为 tmpfs。
- pam_systemd 将此设置为
/run/user/$UID。
系统目录
XDG_DATA_DIRS- 由
:分隔的目录列表(类似于PATH)。 - 应默认为
/usr/local/share:/usr/share。
- 由
XDG_CONFIG_DIRS- 由
:分隔的目录列表(类似于PATH)。 - 应默认为
/etc/xdg。
- 由
支持
本节旨在收录自 2003 年引入的、日益增多的使用 XDG 基础目录规范 的软件。通过列出常见的文件(dotfiles)及其支持状态,来证明该规范的可行性。对于目前不支持基础目录规范的软件,将演示如何通过变通方法来模拟它。
变通方法将仅限于不涉及修补源代码、执行存储在 环境变量 中的代码或编译时选项的任何操作。这样做的理由是配置应在系统之间可移植,而编译时选项会阻碍这一点。
希望这能提供一个信息来源,确切地说明某些类型的点文件是什么以及它们的来源。
贡献
投稿时请确保使用正确的章节。
任何需要代码评估、补丁或编译时选项才能获得支持的内容都应被视为硬编码。此外,如果过程容易出错或很困难,也应归类为硬编码。
- 第一列应该是指向内部文章、Template:Pkg 或 Template:AUR 的链接。
- 第二列用于列出项目拥有的任何遗留文件和目录(每行一个),这样即使它们不再被读取,人们也能找到它们。
- 在第三列中,尝试查找项目切换到 XDG 基础目录的提交或版本,或者任何公开的讨论,并将它们包含在接下来的两列中(每行两个)。
- 最后一列应包含任何适当的变通方法或解决方案。请验证您的解决方案是否正确且有效。
支持情况
| 应用程序 | 遗留路径 | 支持始于 | 讨论 | 备注 |
|---|---|---|---|---|
| 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/ |
| asunderAUR | ~/.asunder ~/.asunder_album_artist ~/.asunder_album_genre ~/.asunder_album_title |
2.9.0[死链 2021-05-17—SSL 错误] | [12][死链 2021-05-17—SSL 错误] | 使用 XDG_CONFIG_HOME/asunder/asunder 对应 ~/.asunder,使用 XDG_CACHE_HOME/asunder/asunder_album_... 对应其他三个文件。迁移后遗留路径不会被删除,需要手动删除。 |
| ASP.NET Core | ~/.aspnet
|
[13] | ~/.config/aspnet
| |
| 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 | [14] | 如果遗留路径不存在,则使用新路径。XDG_CONFIG_HOME/audacity XDG_DATA_HOME/audacity |
| binwalk | ~/.binwalk
|
2051757 | [15] | XDG_CONFIG_HOME/binwalk
|
| bitwarden-cli | ~/.config/Bitwarden CLI
|
1.7.1 | [16] |
XDG_CONFIG_HOME/Bitwarden CLI
目前包含一个包含所有保管库数据的 |
| Blender | ~/.blender
|
4293f47 | [17] | |
| borgmatic | ~/.borgmatic/
|
1.9.0 | [18] | |
| btop | b5e709d | XDG_CONFIG_HOME/btop
| ||
| byobu | ~/.byobu
|
4.17 | [19] |
如果存在遗留路径,则优先使用;或者,如果 |
| cabal | ~/.cabal/
|
9f7dc55 v3.10.1.0 | [20] | |
| calcurse | ~/.calcurse
|
04162d | [21] [22] |
XDG_CONFIG_HOME/calcurse XDG_DATA_HOME/calcurse 如果存在遗留路径 |
| calibre | ||||
| celestiaAUR | ~/.celestiarc
|
[23] |
XDG_CONFIG_HOME/celestia/celestiarc | |
| catfish | ~/.config/catfish
|
af65ed25 | [24] | |
| ccache | ~/.ccache
|
4.0 | [25] |
XDG_CACHE_HOME/ccache XDG_CONFIG_HOME/ccache/ccache.conf |
| clangd | ~/.clangd
|
ad38f4b3 11.0.0 | [26] | XDG_CONFIG_HOME/clangd/config.yml
项目特定的配置可以在 |
| clifmAUR | ~/.config/clifm/
|
9d6e482 | XDG_CONFIG_HOME/clifm/
| |
| Composer | ~/.composer
|
1.0.0-beta1 | [27] | |
| crossnote | ~/.mume
|
d714a82 | [28] | $XDG_CONFIG_HOME/mume
如果存在遗留路径,它将优先使用。 |
| ctags (universal-ctags) | ~/.ctagsrc, .ctags.d
|
68da03a | 问题 89 | 启动时,Universal-ctags 会加载具有文件扩展名 .ctags 的文件,这些文件位于 $XDG_CONFIG_HOME/ctags 下。更多信息请参阅 Ctags 选项文件。 |
| cryptomatorAUR | ~/.Cryptomator
|
[29] | $XDG_CONFIG_HOME/Cryptomator
| |
| CUPS | ~/.cups/
|
23b1be6 | [30] | libcups 在 v3(仍为 beta 版)中添加了 XDG 支持。官方存储库中的版本仍硬编码为 ~/.cups。 |
| cURL | ~/.curlrc
|
7.73.0 | [31] | XDG_CONFIG_HOME/curlrc
|
| dconf | ||||
| Dolphin emulator | ~/.dolphin-emu
|
a498c68 | [32] | |
| dr14_t.meter-gitAUR | 7e777ca | [33] | XDG_CONFIG_HOME/dr14tmeter/
| |
| dunst | 78b6e2b | [34] | XDG_CONFIG_HOME/dunst/
| |
| Emacs | ~/.emacs ~/.emacs.d/init.el |
[35] | XDG_CONFIG_HOME/emacs/init.el
遗留路径优先于 XDG 路径。Emacs 不会创建 | |
| fish | XDG_CONFIG_HOME/config.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 | ||
| freecad | ~/.FreeCAD
|
e7e2994ba | [42] | 默认使用XDG_CONFIG_HOME/FreeCAD XDG_DATA_HOME/FreeCAD XDG_CACHE_HOME/FreeCAD 可以使用 |
| freerdp | ~/.freerdp
|
edf6e72 | ||
| Gajim | ~/.gajim
|
3e777ea | [43] | |
| gconfAUR | ~/.gconf
|
fc28caa | [44] | |
| GDB | ~/.gdbinit, ~/.gdb_history |
11.1 | XDG_CONFIG_HOME/gdb/gdbinit, export GDBHISTFILE="$XDG_DATA_HOME"/gdb/history | |
| ghc | ~/.ghci
|
[45] | 上游支持从 9.4.1 开始 [46]。 | |
| ghidra | ~/.ghidra/
|
3b0aac9 | [47] | |
| 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 |
| gnuplot | ~/.gnuplot_history
|
a5562b1 | ||
| Godot Engine | ~/.godot
|
73049d1 | [51] | |
| goobookAUR | ~/.goobookrc
|
3.5 | [52] | XDG_CONFIG_HOME/goobookrc
|
| gops | 71c4255 | |||
| GoldenDict | ~/.goldendict/
|
[53] | $XDG_CONFIG_HOME/goldendict/.goldendict/
| |
| GStreamer | ~/.gstreamer-0.10
|
4e36f93 | [54] | |
| GTK 3 | ||||
| Haskell#Stack | ~/.stack
|
2.9.3 | [55] | 默认为遗留路径。使用 export STACK_XDG=1 来使其符合规范。旧方法 |
| helm | ~/.helm
|
3.0.0 | ||
| htop | ~/.htoprc
|
93233a6 | XDG_CONFIG_HOME/htop/htoprc
| |
| httpie | ~/.httpie
|
5af0874 | [57] | |
| hunspell | ~/.hunspell_default.
|
[58] | ||
| i3 | ~/.i3
|
7c130fb[死链 2025-08-16—HTTP 404] | ||
| i3blocks, i3blocks-gitAUR | [59] | |||
| i3status | ~/.i3status.conf
|
c3f7fc4[死链 2025-08-16—HTTP 404] | ||
| i3status-rust | ||||
| IdeaVim | ~/.ideavimrc
|
0.54.1-EAP | [60] | XDG_CONFIG_HOME/ideavim/ideavimrc
|
| imagemagick | ||||
| Inkscape | ~/.inkscape
|
0.47 | [61] | |
| intellij-idea-community-edition / intellij-idea-ultimate-editionAUR | ~/.IntelliJIdeaXXXX.X
|
2020.1 | [62] |
XDG_CONFIG_HOME/JetBrains/IntelliJIdeaXXXX.X XDG_DATA_HOME/JetBrains/IntelliJIdeaXXXX.X XDG_CACHE_HOME/JetBrains/IntelliJIdeaXXXX.X |
| iotop-c | ~/.config/iotop
|
[63] | [64] | |
| ipython | ~/.ipython
|
8.0.0 | [65] | 检查 $XDG_CONFIG_HOME/ipython(如果 XDG_CONFIG_HOME 未设置,则为 ~/.config/ipython)是否存在,否则使用 ~/.ipython。 |
| iwd / iwctl | ~/.iwctl_history
|
d3e00d7f | ||
| josm | ~/.josm
|
11162 | [66] | |
| jupyter | ~/.jupyter
|
5.0 版本中为选择加入,6.0 版本中为选择退出,7.0 版本中为强制(更新日志)。 | XDG_CONFIG_HOME/jupyter
| |
| Kakoune | ||||
| keynavAUR | ~/.keynavrc
|
XDG_CONFIG_HOME/keynav/keynavrc
| ||
| latexmk (在 texlive-binextra 中) | ~/.latexmkrc
|
| ||
| less | ~/.lesskey, ~/.lesshst |
590
在 598 中提供完全支持。 |
[67] | 在 590 版本中,环境变量 XDG_CONFIG_HOME 和 XDG_DATA_HOME **必须** 设置。在 598 版本中,这不再是必需的。
|
| lftp | ~/.lftp
|
21dc400 | [68] | |
| lgogdownloaderAUR | ~/.gogdownloader
|
d430af6 | [69] | |
| luarocks | ~/.luarocks
|
cd16cdd | [70] |
XDG_CONFIG_HOME/luarocks XDG_CACHE_HOME/luarocks 如果存在遗留路径 |
| mangohud | 65b90fc | [71] | XDG_CONFIG_HOME/MangoHud
| |
| mc | ~/.mc
|
[72] | ||
| Mercurial | ~/.hgrc
|
XDG_CONFIG_HOME/hg/hgrc.
| ||
| mesa | 87ab26b | XDG_CACHE_HOME/mesa
| ||
| milkytracker | ~/.milkytracker_config
|
eb487c5 | [73] | |
| mlterm | ~/.mlterm/
|
71df071 | [74] | XDG_CONFIG_HOME/mlterm/
|
| mozc | ~/.mozc
|
91cc1e1 | [75] | |
| mpd | ~/.mpdconf
|
87b7328 | ||
| mpv | ~/.mpv
|
cb250d4 | [76] | |
| msmtp | ~/.msmtprc
|
af2f409 v1.6.7+ |
XDG_CONFIG_HOME/msmtp/config.
| |
| mutt | ~/.mutt
|
b17cd67 | [77] | |
| mypaint | ~/.mypaint
|
cf723b7 | ||
| nano | ~/.nano/ ~/.nanorc |
c16e79b | [78] | |
| 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 | [84] | |
| newsboat | ~/.newsboat
|
3c57824 | [85] | 需要创建这两个目录 [86]
|
| Nix | ~/.nix-channels ~/.nix-defexpr ~/.nix-profile |
[87] | [88] | 在 /etc/nix/nix.conf 中设置 use-xdg-base-directories = true。 |
| nmcli | ~/.nmcli-history
|
1.52.0 | [89] [90] [91] | XDG_CACHE_HOME/nmcli-history
|
| node-gyp | ~/.node-gyp
|
2b5ce52a | [92] | |
| notmuch | ~/.notmuch-config
|
[93] | mkdir -p $XDG_CONFIG_HOME/notmuch/default; mv ~/.notmuch-config $XDG_CONFIG_HOME/notmuch/default/config
| |
| np2kai-gitAUR | ~/.config/np2kai ~/.config/xnp2kai |
56a1cc2 | [94] | |
| NSS | ~/.pki
|
3.42 (da45424) | [95] | 参见 Chromium 的相关问题。 |
| nteract-binAUR | 4593e72 | [96] [97] | 不识别 ipython/jupyter 的变通方法。 | |
| ocaml-utopAUR | ~/.utop-history
|
2.13.0 | [98] | XDG_STATE_HOME/utop/utop-history
|
| OfflineIMAP | ~/.offlineimaprc
|
5150de5 | [99] | XDG_CONFIG_HOME/offlineimap/config
|
| openal | ~/.alsoftrc
|
3c90ed9 | XDG_CONFIG_HOME/alsoft.conf
| |
| opentyrianAUR | ~/.opentyrian
|
39559c3 | [100] | |
| oscAUR | ~/.oscrc ~/.osc_cookiejar |
6bc2d3f | github.com/openSUSE/osc/pull/940 |
如果存在遗留路径,则优先使用。 |
| pacman | ~/.makepkg.conf
|
80eca94 | [101] | |
| pam-u2f | ~/.config/Yubico/u2f_keys
|
ad52dd8 | [102] | XDG_CONFIG_HOME/Yubico/u2f_keys
|
| panda3dAUR | ~/.panda3d
|
2b537d2 | ||
| pandoc-cli | ~/.pandoc/
|
0bed0ab | [103] | |
| PCManFM | ~/.thumbnails
|
1.3.2 | ||
| pcsx2AUR | ~/.pcsx2
|
[104] [105] | ||
| pdfsamAUR | ~/.openjfx
|
export _JAVA_OPTIONS=-Djavafx.cachedir="$XDG_CACHE_HOME"/openjfx
| ||
| pnpm | ~/.pnpm-store
|
[106] [107] | [108] | |
| poezioAUR | ||||
| powershellAUR | 6.0 | |||
| ppsspp | ~/.ppsspp
|
132fe47 | [109] | |
| procps-ng | ~/.toprc
|
af53e17 | ||
| Pry | ~/.pryrc ~/.pry_history |
[112] | ||
| PulseAudio | ~/.pulse ~/.pulse-cookie |
[113] |
XDG_CONFIG_DIR/pulse XDG_CONFIG_DIR/pulse/cookie | |
| pyroomAUR | ||||
| python-autoimportAUR | ~/.config/autoimport/config.toml
|
1.2.0 | [114] | XDG_CONFIG_HOME/autoimport/config.toml
|
| python-black | ~/.config/black
|
21.4b0 | [115] | XDG_CONFIG_HOME/black, XDG_CACHE_HOME/black/<version>/ |
| python-pip | ~/.pip
|
6.0 | [116] | |
| python-pipx | ~/.local/pipx
|
c3d8de9 | [117] | 为了兼容性,pipx 将回退到 ~/.local/pipx(如果存在)。通过 python-platformdirs 实现。 |
| python-poetry | ~/.poetry
|
[118] | [119] | |
| python-pylint | ~/.pylint.d
|
2.10 | [120] | 之前是 export PYLINTHOME="$XDG_CACHE_HOME"/pylint,全局配置仍然需要:export PYLINTRC="$XDG_CONFIG_HOME"/pylint/pylintrc。 |
| quodlibet | ~/.quodlibet
|
3.10.0 | [121] | |
| qutebrowser | ||||
| qtile | [122] | 一些可选的面板小部件可能会在非兼容路径中创建文件和目录,但大多数情况下仍然可以配置。 | ||
| rclone | ~/.rclone.conf
|
9d36258 | [123] | |
| retroarch | ||||
| ripgrep-all | ~/.cache/rga
|
963524b v0.10.3 | [124] [125] [126] | |
| rrAUR | ~/.rr
|
02e7d41 | [127] | |
| RSpec | ~/.rspec
|
5e395e2 | [128] | |
| rTorrent | ~/.rtorrent.rc
|
6a8d332 | ||
| RuboCop | ~/.rubocop.yml
|
6fe5956 | [129] | |
| Ruby#RubyGems | ~/.gem
|
3.0.0 (5c6269c) | [130] |
XDG_CONFIG_HOME/gem/gemrc XDG_CONFIG_HOME/irb XDG_DATA_HOME/gem XDG_DATA_HOME/rdoc |
| sandboxd | ~/.sandboxrc
|
[131] | [132] | XDG_CONFIG_HOME/sandboxd/sandboxrc
|
| scribus | ~/.scribus
|
1.5.3 | ||
| scummvm | ~/.scummvmrc ~/.scummvm/ |
7d014be | [133] | 需要手动迁移数据。
|
| sdcv | ~/.stardict/ ~/.sdcv_history |
958ec35 | [134] | |
| shellcheck | ~/.shellcheckrc
|
581bcc3 | XDG_CONFIG_HOME/shellcheckrc
更多信息请参阅 Shellcheck RC Files。 | |
| snes9x | ~/.snes9x
|
93b5f11 | [135] | 默认情况下,配置文件留空,其意图是让用户自行填充(通过 GUI 或手动)。 |
| spectrwm | ~/.spectrwm
|
a30bbb | [136] | |
| sublime-text-devAUR | build 4105 | 在 build 4105 之前,缓存位于 XDG_CONFIG_HOME/sublime-text-3/Cache。 | ||
| surfraw | ~/.surfraw.conf ~/.surfraw.bookmarks |
|||
| sway | ~/.sway/config
|
614393c | [137] | XDG_CONFIG_HOME/sway/config
|
| sxhkd | ||||
| systemd | ||||
| teeworlds | ~/.teeworlds
|
[138] | ||
| termite | ||||
| 主题(桌面) | ~/.icons/, ~/.themes/ |
[139] | XDG_DATA_HOME/icons
对于 Qt 程序,Wayland 上的 GTK 或 Qt 程序,要使用 | |
| tig | ~/.tigrc, ~/.tig_history |
2.2 | [140] | 必须存在 ~/.local/share/tig 目录,否则会写入 ~/.tig_history。 |
| TigerVNC | ~/.vnc
|
1.14.0 | [141] | |
| tmux | ~/.tmux.conf
|
3.1 | [142] | 3.1 引入了 ~/.config/tmux/tmux.conf,并在 3.2 中添加了 XDG_CONFIG_HOME/tmux/tmux.conf。 |
| tmuxinatorAUR | ~/.tmuxinator
|
2636923 | [143] | |
| tmuxp | ~/.tmuxp
|
1.5.0 | [144] | 已在 1.5.2 中修复 |
| Transmission | ~/.transmission
|
b71a298 | ||
| util-linux | 570b321 | |||
| Uzbl | c6fd63a | [145] | ||
| vale | ~/.vale.ini
|
3.0.0 | ||
| vim | ~/.vim, ~/.vimrc, ~/.viminfo |
c9df1fb | [146] | XDG_CONFIG_HOME/vim/vimrc
更多详情请参见 :h xdg-base-dir。 viminfo 文件可以通过 |
| vimb | ||||
| VirtualBox | ~/.VirtualBox
|
4.3 | [147] | |
| vis | ~/.vis
|
[148] | ||
| VLC | ~/.vlcrc
|
16f32e1 | [149] | |
| warsow | ~/.warsow-2.x
|
98ece3f | [150] | |
| WeeChat | ~/.weechat
|
[151] | [152] [153] |
XDG_CONFIG_HOME/weechat XDG_DATA_HOME/weechat XDG_CACHE_HOME/weechat XDG_RUNTIME_DIR/weechat |
| Wireshark | ~/.wireshark
|
b0b53fa v2.1.0 | ||
| wxWidgets | [154] | |||
| XKB | ~/.xkb
|
XDG_CONFIG_HOME/xkb 仅在 Wayland 上受支持 [155] | ||
| xmobar | ~/.xmobarrc
|
7b0d6bf[链接已失效 2024-07-30—HTTP 404] 9fc6b37[链接已失效 2024-07-30—HTTP 404] eaccf70[链接已失效 2024-07-30—HTTP 404] |
[156][链接已失效 2024-07-30—HTTP 404] | XDG_CONFIG_HOME/xmobar/xmobarrc
|
| xmonad | ~/.xmonad/
|
40fc10b | 所有这些都必须存在,否则它会放弃并回退到每个的 ~/.xmonad/。XDG_CACHE_HOME/xmonad XDG_CONFIG_HOME/xmonad XDG_DATA_HOME/xmonad 另外,它始终尊重 | |
| xonsh | ~/.xonshrc
|
[160] | $XDG_CONFIG_HOME/xonsh/rc.xsh
| |
| xournalpp | ~/.xournalpp
|
20db937f | [161] | |
| xsel | ~/.xsel.log
|
ee7b481 | [163] | |
| Xsettingsd | ~/.xsettingsd
|
b4999f5 | ||
| yapf | a0b51d2 | [164] | $XDG_CONFIG_HOME/yapf/style
| |
| Zim | e42b8b0 |
$XDG_CONFIG_HOME/zim/preferences.conf $XDG_CONFIG_HOME/zim/notebooks.list | ||
| zoxide | ~/.zo
|
0.3.0 | [165] | |
| zutils | ~/.zutilsrc
|
1.12 |
$XDG_CONFIG_HOME/zutils.conf |
部分
| 应用程序 | 遗留路径 | 支持始于 | 讨论 | 备注 |
|---|---|---|---|---|
| abookAUR | ~/.abook
|
abook --config "$XDG_CONFIG_HOME"/abook/abookrc --datafile "$XDG_DATA_HOME"/abook/addressbook
| ||
| ackAUR | ~/.ackrc
|
[166] | export ACKRC="$XDG_CONFIG_HOME/ack/ackrc"
| |
| Ansible | ~/.ansible
|
2.14 | [167] [168] [169] | 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" [170]
远程主机的 |
| asdf-vmAUR | ~/.asdfrc, ~/.asdf/ |
[173] | export ASDF_CONFIG_FILE="${XDG_CONFIG_HOME}/asdf/asdfrc", export ASDF_DATA_DIR="${XDG_DATA_HOME}/asdf" | |
| aspell | ~/.aspell.conf
|
[174] | 非常不完整。以下是重定位 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 | [175] | 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
|
如 [176] 文档所述,您可以指定一个文件来运行命令。因此,将 init 文件移动到 XDG_CONFIG_HOME/bashdb/bashdbinit 并创建别名 alias bashdb='bashdb -x ${XDG_CONFIG_HOME:-$HOME/.config}/bashdb/bashdbinit'。不幸的是,历史文件是硬编码的 [177]。 | ||
| bazaar | ~/.bazaar, ~/.bzr.log |
2.3.0 | [178] | 上游 bug 中的讨论表明,如果存在 ~/.config/bazaar,bazaar 将会使用它。日志文件 ~/.bzr.log 仍可能被写入。 |
| bitwarden | ~/.bitwarden-ssh-agent.sock
|
[179] | export BITWARDEN_SSH_AUTH_SOCK="$XDG_RUNTIME_DIR"
| |
| bogofilter-db | ~/.bogofilter
|
0.7.5 | [180] | export BOGOFILTER_DIR="$XDG_DATA_HOME"/bogofilter
|
| btpd-gitAUR | ~/.btpd/
|
[181] | btpd -d "$XDG_DATA_HOME"/.btpd
| |
| bunAUR | ~/.bun/
|
[182] | 如果明确设置了 $XDG_CONFIG_HOME、$XDG_CACHE_HOME 和/或 $XDG_DATA_HOME,Bun 将优先使用它们。作为替代,可以使用 export BUN_INSTALL="$XDG_DATA_HOME"/bun 来设置 bun 的主要目录位置。 | |
| calc | ~/.calc_history
|
export CALCHISTFILE="$XDG_CACHE_HOME"/calc_history | ||
| Rust#Cargo | ~/.cargo
|
[183] [184] [185] [186] | export CARGO_HOME="$XDG_DATA_HOME"/cargo
| |
| cataclysm-dda | ~/.cataclysm-dda
|
0.D-1 | [187] | 由于需要编译时选项,支持不完整 |
| cd-bookmark | ~/.cdbookmark
|
[188] | export CD_BOOKMARK_FILE=$XDG_CONFIG_HOME/cd-bookmark/bookmarks
或者使用具有原生 XDG 支持的 fork: [189] | |
| cgdb | ~/.cgdb
|
0.8.0 | [190] [191] | 设置 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 | [192] [193] [194] | 根据这些来源,它故意将 ~/.config 弄得一团糟,因为它在其中写入了数亿兆字节的缓存数据。完全不受支持。Chromium 创建 .pki 是由于没有正确设置 NSS,尽管 NSS 本身允许使用 XDG 规范。这也会导致其下游(尤其是 Qt WebEngine,影响 KMail 等许多情况)出现问题。 |
| cinelerra | ~/.bcast5
|
[195][链接已失效 2025-08-16—HTTP 404] | export CIN_CONFIG="$XDG_CONFIG_HOME"/bcast5
| |
| claws-mail | ~/.claws-mail
|
[196] | claws-mail --alternate-config-dir "$XDG_DATA_HOME"/claws-mail
| |
| 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 仍会创建 | ||
| conky | ~/.conkyrc
|
00481ee | [197] | conky --config="$XDG_CONFIG_HOME"/conky/conkyrc
|
| coreutils | ~/.dircolors
|
eval $(dircolors "$XDG_CONFIG_HOME"/dircolors)
| ||
| crawl | ~/.crawl
|
需要尾部斜杠
| ||
| 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
|
[198] | 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 | [199] [200] | Elixir 不完全符合 XDG 规范,只有在设置了 MIX_XDG 变量为特殊值时才会使用 XDG,否则它将默认使用旧路径。
|
| Elm | ~/.elm
|
export ELM_HOME="$XDG_CONFIG_HOME"/elm
| ||
| emscripten | ~/.emscripten, ~/.emscripten_sanity, ~/.emscripten_ports, ~/.emscripten_cache__last_clear |
[201] | 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 | |
| erlang | ~/.erlang.cookie
|
[202] | [203] | Erlang 不完全符合 XDG 规范,它最后才查找 XDG_CONFIG_HOME 中的文件。
|
| factorioAUR | ~/.factorio/
|
[204] [205] | Factorio 支持通过配置文件手动指定数据路径: [206]__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/
|
[207] | 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 |
[208] | ||
| fzf-gitAUR | ~/.fzf.bash, ~/.fzf.zsh
|
[209] | 如果安装脚本使用 --xdg 调用,例如 /usr/local/opt/fzf/install --xdg,则 shell init 文件将安装到 XDG_CONFIG_HOME/fzf。 | |
| 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
|
[210] | [211] | export GHCUP_USE_XDG_DIRS=true
环境变量 |
| gitsign | ~/.sigstore/root
|
[213] | export TUF_ROOT="$XDG_DATA_HOME"/sigstore/root
| |
| glivAUR | ~/.glivrc
|
gliv --glivrc="$XDG_CONFIG_HOME"/gliv/glivrc
| ||
| GNU Screen | ~/.screenrc
|
export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc, export SCREENDIR="${XDG_RUNTIME_DIR}/screen" | ||
| GnuPG | ~/.gnupg
|
[214] [215] | export GNUPGHOME="$XDG_DATA_HOME"/gnupg, gpg2 --homedir "$XDG_DATA_HOME"/gnupg请注意,使用 systemd 用户单元和基于套接字的激活目前无法立即开箱即用,因为套接字目录根据 [Service] Environment="GNUPGHOME=%h/.local/share/gnupg" 如果您将 GPG 用作 SSH 代理,请将 | |
| gnuradio | ~/.gnuradio
|
[216] | GNU Radio
GNU Radio Companion: | |
| Go | ~/go
|
[217] | export GOPATH="$XDG_DATA_HOME"/go, export GOMODCACHE="$XDG_CACHE_HOME"/go/mod如果未设置 | |
| Google Earth | ~/.googleearth
|
某些路径可以通过 ~/.config/Google/GoogleEarthPlus.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
|
[220] | 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
|
[222] | export LEDGER_FILE="$XDG_DATA_HOME"/hledger.journal
| |
| Houdini | ~/houdiniMAJOR.MINOR)
|
[223] | 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
|
[225] | irssi --config="$XDG_CONFIG_HOME"/irssi/config --home="$XDG_DATA_HOME"/irssi
| |
| isync | ~/.mbsyncrc
|
[226] | mbsync -c "$XDG_CONFIG_HOME"/isync/mbsyncrc
| |
| Java#OpenJDK | ~/.java/.userPrefs
|
[227] | export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
| |
| jupyter | ~/.jupyter
|
5.0.0rc0 | [228] [229] | 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 | [231] | export K9SCONFIG="$XDG_CONFIG_HOME"/k9s
|
| KDE4 | ~/.kde, ~/.kde4 |
[232] | export KDEHOME="$XDG_CONFIG_HOME"/kde
KDE4 使用 | |
| keychain | ~/.keychain
|
[233] | [234] | keychain --absolute --dir "$XDG_RUNTIME_DIR"/keychain
|
| kodi | ~/.kodi
|
[235] | [236] | KODI_DATA=$XDG_DATA_HOME/kodi
|
| kscriptAUR | ~/.kscript
|
[237] | export KSCRIPT_CACHE_DIR="$XDG_CACHE_HOME"/kscript
| |
| ledger | ~/.ledgerrc, ~/.pricedb |
[238] | ledger --init-file "$XDG_CONFIG_HOME"/ledgerrc
| |
| Leiningen | ~/.lein, ~/.m2 |
[239] | export LEIN_HOME="$XDG_DATA_HOME"/lein
要更改 leiningen 使用的 m2 存储库位置,请参阅:Leiningen#m2_repo_location | |
| libdvdcss | ~/.dvdcss
|
[240] | export DVDCSS_CACHE="$XDG_DATA_HOME"/dvdcss
| |
| libice | ~/.ICEauthority
|
[241] | export ICEAUTHORITY="$XDG_CACHE_HOME"/ICEauthority
请确保 不要使用 | |
| LibreOffice | [242] | 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/
|
[243] | export MINETEST_USER_PATH="$XDG_DATA_HOME"/luanti
| |
| lynx | /etc/lynx.cfg
|
export LYNX_CFG="$XDG_CONFIG_HOME"/lynx.cfg
| ||
| m17n-db | ~/.m17n.d
|
[244] | ||
| 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
|
[245] | /opt/maptool/lib/app/MapTool.cfg [JavaOptions] -DMAPTOOL_DATADIR=.local/share/maptool-rptools 但是,没有办法更改此配置文件的位置。 | |
| maven | ~/.m2
|
[246] | export MAVEN_OPTS=-Dmaven.repo.local="$XDG_DATA_HOME"/maven/repository, export MAVEN_ARGS="--settings $XDG_CONFIG_HOME/maven/settings.xml", | |
| 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
|
[247] | export MINIKUBE_HOME="$XDG_DATA_HOME"/minikube
出于某种原因,它在 | |
| minio-client | ~/.mc
|
[248] | 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"/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
|
[249] | /etc/mtpaint/mtpaintrc userINI = ~/.config/mtpaint | |
| mypy | ~/.config/mypy/config, ~/.mypy.ini, ~/.mypy_cache |
v0.670 | [250] [251] | 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,因此需要手动创建该目录。 | ||
| n | /usr/local/n
|
export N_PREFIX=$XDG_DATA_HOME/n
| ||
| ncmpc | ~/.ncmpc
|
ncmpc -f "$XDG_CONFIG_HOME"/ncmpc/config
| ||
| ncurses | ~/.terminfo
|
阻止系统路径搜索
| ||
| Netbeans | ~/.netbeans
|
[253] | netbeans --userdir "${XDG_CONFIG_HOME}"/netbeans
| |
| Node.js | ~/.node_repl_history
|
[254] | export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
| |
| nodenvAUR | ~/.nodenv
|
export NODENV_ROOT="$XDG_DATA_HOME"/nodenv
| ||
| npm | ~/.npm, ~/.npmrc |
[255] | 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 是通过 nvm 安装的,则 | |
| nuget | ~/.nuget/packages
|
[256] | export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
| |
| NVIDIA | ~/.nv
|
如果设置了 XDG_CACHE_HOME,则使用它,否则会错误地回退到 ~/.nv 而不是 ~/.cache。 | ||
| nvidia-settings | ~/.nvidia-settings-rc
|
[257] | 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/
|
[258] | [259] | export OMNISHARPHOME="$XDG_CONFIG_HOME/omnisharp"
|
| opam | ~/.opam
|
[260] | export OPAMROOT="$XDG_DATA_HOME/opam"
配置和状态数据都存储在 | |
| openai-codex | ~/.codex/
|
5fc9fc3 | [261] | export CODEX_HOME="$XDG_CONFIG_HOME"/codex
|
| openscad | ~/.OpenSCAD
|
7c3077b0f | [262] | 不完全遵守 XDG Base Directory Specification,请参阅 [263]。 目前它硬编码 |
| 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
|
[264] | 自 0.14.5 起,可以移动整个数据目录。
| |
| PHP | ~/.php_history
|
PHP 8.4 | [267] | export PHP_HISTFILE="$XDG_STATE_HOME"/php/history
|
| Pidgin | ~/.purple
|
[268] | pidgin --config="$XDG_DATA_HOME"/purple
| |
| platformio-core | ~/.platformio
|
[269] | export PLATFORMIO_CORE_DIR="$XDG_DATA_HOME"/platformio
| |
| PostgreSQL | ~/.psqlrc, ~/.psql_history, ~/.pgpass, ~/.pg_service.conf |
9.2 | [270] [271] | 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 中注释掉此模块。 | ||
| PuTTY | ~/.putty/
|
9952b2d | 如果 $XDG_CONFIG_HOME/putty 存在,它将使用它。如果不存在,它会创建 ~/.putty。如果两者都存在,则优先使用 $XDG_CONFIG_HOME/putty。已在 0.74 中测试。 | |
| pyenv | ~/.pyenv
|
[272] [273] | export PYENV_ROOT=$XDG_DATA_HOME/pyenv
| |
| python | ~/.python_history
|
v3.13 | [274] [275] [276] | 自版本 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-setuptools | ~/.python-eggs
|
export PYTHON_EGG_CACHE="$XDG_CACHE_HOME"/python-eggs
| ||
| racket | ~/.racketrc, ~/.racket |
[277] | export PLTUSERHOME="$XDG_DATA_HOME"/racket
| |
| rbenv | ~/.rbenv
|
[278] [279] | 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 | [280] | 保存的游戏存储在 RENPY_PATH_TO_SAVES 中。跨多个游戏共享的数据(例如,允许您从之前的条目导入存档的连续剧)存储在 RENPY_MULTIPERSISTENT 中。export RENPY_PATH_TO_SAVES="$XDG_DATA_HOME/renpy" export RENPY_MULTIPERSISTENT="$XDG_DATA_HOME/renpy_shared" |
| ripgrep | [281] | export RIPGREP_CONFIG_PATH=$XDG_CONFIG_HOME/ripgrep/config
| ||
| rlwrap | ~/.*_history
|
[282] | export RLWRAP_HOME="$XDG_DATA_HOME"/rlwrap
| |
| ruby-bundler | ~/.bundle
|
4a120d8 | Pull request 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/
|
[283] | export SOLARGRAPH_CACHE=$XDG_CACHE_HOME/solargraph
| |
| ruby-travisAUR | ~/.travis/
|
[284] | export TRAVIS_CONFIG_PATH=$XDG_CONFIG_HOME/travis
| |
| ruff | .ruff_cache
|
[285] | export RUFF_CACHE_DIR=$XDG_CACHE_HOME/ruff
| |
| Rust#Rustup | ~/.rustup
|
[286] | export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
| |
| SageMath | ~/.sage
|
export DOT_SAGE="$XDG_CONFIG_HOME"/sage
| ||
| sbt | ~/.sbt
|
[287] | sbt -ivy "$XDG_DATA_HOME"/ivy2 -sbt-dir "$XDG_DATA_HOME"/sbt (请注意 [288]) | |
| sdkman-binAUR | ~/.sdkman/
|
[289] | export SDKMAN_DIR="$XDG_DATA_HOME/sdkman"
配置和数据文件都存储在 | |
| simplescreenrecorderAUR | ~/.ssr/
|
0.4.3 | [290] | 仅当之前已创建时,将使用 $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 |
[292] | [293] | 移动 ~/.spacemacs 文件。
其他文件需要像 Emacs 一样进行配置。 |
| spotdlAUR | ~/.spotdl
|
v4.0.6 (3929cae) | [294] | mkdir "$XDG_DATA_HOME"/spotdl
|
| SQLite | ~/.sqliterc, ~/.sqlite_history |
3.44.0 用于配置; 历史记录仍保留在旧位置。 |
XDG_CONFIG_HOME/sqlite3/sqliterc, export 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—HTTP 410] | 仅在编译时启用时存在(默认为无)。自 1.9.6 起,可以在 /etc/sudoers 中使用 admin_flag 参数。 |
| task | ~/.task, ~/.taskrc |
在 2.6 版本中完全支持(请注意,$XDG_CONFIG_HOME/task/taskrc 必须存在,否则 taskwarrior 会在旧的 $HOME/.taskrc 位置提供创建示例配置的选项,即使 $XDG_CONFIG_HOME 已设置 [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
| ||
| tiptopAUR | ~/.tiptoprc
|
这将仍然需要 .tiptoprc 文件。
| ||
| 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 |
[305] | export VAGRANT_HOME="$XDG_DATA_HOME"/vagrant, export VAGRANT_ALIAS_FILE="$XDG_DATA_HOME"/vagrant/aliases | |
| vint | ~/.vintrc.yaml, .vintrc.yml, .vintrc |
0f741ac2c | [306] | 未记录,但代码表明 $XDG_CONFIG_HOME/.vintrc.yaml 应该可以工作 |
| virtualenv | ~/.virtualenvs
|
export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
| ||
| Visual Studio Code | ~/.vscode-oss/
|
[307] | 您可以使用 export VSCODE_PORTABLE="$XDG_DATA_HOME"/vscode,这并未记录,并且可能会意外中断。设置此选项后,编辑器将在 您还可以使用 | |
| VSCodiumAUR | ~/.vscode-oss/
|
[308] [309] | 您可以使用 --extensions-dir 标志运行 VSCodium,例如 vscodium --extensions-dir "$XDG_DATA_HOME/vscode"。但这不会阻止创建 ~/.vscode-oss/ 目录。您还可以编辑 | |
| w3m | ~/.w3m
|
26284ff | [310] [311] | export W3M_DIR="$XDG_STATE_HOME/w3m"
|
| wakatime | ~/.wakatime/, ~/.wakatime.cfg |
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
|
[312] | 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
| ||
| xinit | ~/.xinitrc, ~/.xserverrc |
[313] | 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。根据 [314] SLiM 已硬编码 SDDM 的 Xauthority 路径可以在其自身的配置文件中更改,如下所示。不幸的是,它是相对于主目录的。 /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 | [315] [316] | alias yarn='yarn --use-yarnrc "$XDG_CONFIG_HOME/yarn/config"'
|
| z | ~/.z
|
[317] | export _Z_DATA="$XDG_DATA_HOME/z"
| |
| zsh | ~/.zshrc, ~/.zprofile, ~/.zshenv, ~/.zlogin, ~/.zlogout, ~/.histfile, ~/.zcompdump, ~/.zcompcache |
[318] | [319] | 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/
|
[320] | |
| 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
|
[321] [322] [323] | |
| Apache Directory Studio | ~/.ApacheDirectoryStudio
|
||
| ARandR | ~/.screenlayout
|
[324] | |
| Arduino | ~/.arduino15, ~/.jssc |
不予修复 | |
| arduino-cli | ~/.arduino15/
|
[325] | mv ~/.arduino15 $XDG_CONFIG_HOME/arduino15
按照 文档中的说明,在 arduino-cli.yaml 中指定 Arduino CLI 使用的新目录。 |
| Avidemux | ~/.avidemux6
|
[326] | |
| azote | ~/.azotebg
|
[327] | |
| Barony | ~/.barony
|
[328] | |
| Bash | ~/.bashrc, ~/.bash_history, ~/.bash_profile, ~/.bash_login, ~/.bash_logout |
[329] [330] | mkdir -p "$XDG_STATE_HOME"/bash
|
| Berkshelf | ~/.berkshelf/
| ||
| chatty | ~/.chatty/
|
[331] | |
| chirp-nextAUR | ~/.chirp/
|
[332] | 最后一次开发者回复 在此 |
| Cinnamon | ~/.cinnamon/
|
[333] | |
| cmake | ~/.cmake/
|
[334] | 用于用户软件包注册表 ~/.cmake/packages/<package>,详细信息请参阅 cmake-packages(7) § 用户软件包注册表 和 软件包注册表 Wiki 页面。看起来它是硬编码的,例如在 cmFindPackageCommand.cxx 中。 |
| cmus | ~/.config/cmus
|
[335] | [336] |
| conanAUR | ~/.conan/
|
[337] | export CONAN_USER_HOME="$XDG_CONFIG_HOME" 将设置创建 .conan/ 的目录。它被设计用于简化 CI,但也可以在这里使用。 |
| Continue | ~/.continue/
|
[338] [339] [340] | |
| darcs | ~/.darcs/
|
[341] | |
| dart | ~/.dart, ~/.dart-tool, ~/.dartServer |
[342] | |
| dbus | ~/.dbus/
|
[343] | 可以考虑使用 dbus-broker,因为它不会创建或使用此目录。 |
| devede | ~/.devedeng
|
在此硬编码 | |
| Dia | ~/.dia/
|
||
| dig | ~/.digrc
|
||
| dotnet-sdk | ~/.dotnet/, ~/.templateengine |
[344] | |
| dropbox | ~/.dropbox/
|
[345] | |
| Eclipse | ~/.eclipse/
|
[346] | 选项 -Dosgi.configuration.area=@user.home/.config/.. 会覆盖,但必须添加到 "$ECLIPSE_HOME"/eclipse.ini" 而不是命令行,这意味着您必须对 $ECLIPSE_HOME 具有写访问权限。(Arch Linux 在 /usr/bin/eclipse 中硬编码了 $ECLIPSE_HOME) |
| elan-leanAUR | ~/.elan
|
[347] | |
| emacs-slime | ~/.slime/
|
[348] | |
| equalxAUR | ~/.equalx/
|
[350] | |
| feh | ~/.fehbg
|
[351] | |
| Fetchmail | ~/.fetchmailrc
|
||
| Firefox | ~/.mozilla/
|
[352] [353][354] | |
| Flatpak | ~/.var/
|
[355] [356] 无法修复 | |
| gitkrakenAUR | ~/.gitkraken/
|
[357] | |
| google-cloud-cliAUR | ~/.gsutil/
|
[358] | |
| gphoto2 | ~/.gphoto
|
[359] | |
| gramps | ~/.gramps/
|
[360] | 2022 支持 XDG 基本目录规范(为下一个版本 Gramps 5.2)- Patch https://github.com/gramps-project/gramps/pull/1368 |
| groovy | ~/.groovy/
|
||
| grsync | ~/.grsync/
|
[361] | |
| gtk-recordMyDesktop | ~/.gtk-recordmydesktop
|
||
| hplip | ~/.hplip/
|
[362] | |
| hydrogen | ~/.hydrogen/
|
[363] | |
| idris | ~/.idris
|
[364] | |
| itch-setup-binAUR | ~/.itch
|
不予修复 | 您可以在应用程序设置中移动游戏安装位置。 |
| Java OpenJDK | ~/.java/fonts
|
[365] | export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
|
| Java OpenJFX | ~/.java/webview
|
||
| jgmenu | ~/.jgmenu-lockfile
|
[366] [367] | |
| jitsi-meetAUR | ~/Downloads
|
libjitsi#518 | 下载目录硬编码为 ~/Downloads 而不是 XDG_DOWNLOAD_DIR(来自 XDG user directories) |
| Jmol | ~/.jmol/
|
[368] | |
| julia | ~/.juliarc.jl, ~/.julia_history, ~/.julia |
[369] [370] | 尾部的 :$JULIA_DEPOT_PATH 是必需的。参见 [371]export JULIA_DEPOT_PATH="$XDG_DATA_HOME/julia:$JULIA_DEPOT_PATH" export JULIAUP_DEPOT_PATH="$XDG_DATA_HOME/julia" |
| kotlin | ~/.kotlinc_history
|
相关的 Konan 问题:[372] | |
| Kubernetes | ~/.kube/
|
[373][374][375] |
export KUBECONFIG="$XDG_CONFIG_HOME/kube" export KUBECACHEDIR="$XDG_CACHE_HOME/kube" |
| lbdbAUR | ~/.lbdbrc, ~/.lbdb/
|
[376] | |
| librewolfAUR | ~/.mozilla
|
[377] | |
| LightDM | ~/.dmrc
|
[378] | 通常由登录管理器在设置会话时创建。如果您使用自动登录,可以按照 LightDM#启用自动登录 中的说明修改 lightdm.conf。 |
| lldb | ~/.lldb, ~/.lldbinit, ~/.lldb/lldb-widehistory |
[379] | |
| llpp | ~/.config/llpp.conf
|
[380][死链 2022-09-23—HTTP 404](仓库已被删除) | 已在 3ab86f0 中添加,但随后在 old:e253c9f1/new:e253c9f1 中回滚。 |
| LMMS | ~/.lmmsrc.xml
|
[381] | |
| maliit-keyboardAUR | ~/.presage
|
Maliit Keyboard 使用一个旧的、未维护的库 Presage,它会创建 ~/.presage。在 2024 年,Maliit Keyboard 放弃了其 Presage 依赖项,但截至 2.3.1 版本,尚未将其包含在发布中。在此期间,请编译 maliit-keyboardAUR 的主分支。 | |
| man-db | ~/.manpath
|
[382] | |
| 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/
|
[383] | |
| Minecraft | ~/.minecraft/
|
不予修复 | |
| minicom | ~/.minirc.dfl
|
上游有一个 TODO 条目,用于支持 ~/.config/minicom 下的配置文件。 [384] | |
| mongodb | ~/.mongorc.js, ~/.dbshell |
[385] | 此 Stack Overflow 线程建议使用命令行开关 --norc 进行部分解决。 |
| Mono | ~/.mono/
|
[386] | |
~/.netrc
|
与 ~/.ssh 类似,许多程序都期望此文件在此处。其中包括 curl (CURLOPT_NETRC_FILE)、ftp (NETRC)、s-nail (NETRC) 等项目。虽然其中一些提供了其他可配置位置,但许多则没有,例如 w3m、wget 和 lftp。 | ||
| Networkmanager-openvpn | ~/.cert/nm-openvpn
|
[387] 已修复,等待发布。 | |
| nim | ~/.nimble
|
[388] | Nimble 将尝试加载 ~/.config/nimble/nimble.ini。您还必须在 Nim 编译器配置文件中更改 nimblepath。 |
| nyx | ~/.nyx
|
该项目目前未维护 | |
| oh-my-bash-gitAUR | ~/.osh-update
|
||
| Ollama | ~/.ollama
|
[390] | 模型位置可以设置如下:
来源:[391] |
| openshotAUR | ~/.openshot_qt
|
[392] [393] | |
| OpenSSH | ~/.ssh
|
不予修复 | 许多 ssh 守护程序和客户端(如 DropBear 和 OpenSSH)都假定它的存在。 |
| palemoon | ~/.moonchild productions
|
[394] | |
| parsec-binAUR | ~/.parsec
|
||
| pcsxrAUR | ~/.pcsxr
|
存在一个 -cfg 标志,但只能相对于 ~/.pcsxr 设置。 | |
| perf | ~/.debug
|
在 tools/perf/util/config.c 中硬编码。Commit:[395] | |
| perl | ~/.cpan, ~/perl5 |
[396] | Perl5 的 CPAN 期望 ~/.cpan。 |
| phoronix-test-suiteAUR | ~/.phoronix-test-suite
|
[397] | 部分解决方法:[398] |
| portfolio-performance-binAUR | ~/.PortfolioPerformance/
|
[399] | |
| 各种 shell 和 显示管理器 | ~/.profile
|
||
| psensor | ~/.psensor
|
[400] | |
| pulumi | ~/.pulumi
|
[401] | |
| python-streamlit | ~/.streamlit
|
[402] | |
| python-sympy | ~/.sympy-history
|
[403] | |
| python-tensorflow | ~/.keras
|
[404] | 问题在于 tf.keras 模块 |
| quilt | ~/.quiltrc
|
如果 ~/.quiltrc 不存在,则回退到 /etc/quilt.quiltrc。 | |
| Qt Designer | ~/.designer
|
[405] | 已在 upstream 中修复,计划与 QT 7 一起发布(参见 Discussion 链接)。 |
| 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
|
[406] | |
| Remarkable | ~/.remarkable
|
||
| renderdoc | ~/.renderdoc
|
不予修复 | |
| repo | ~/.repoconfig
|
[407] | |
| 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
|
[408] | |
| Signal Desktop | [409] | 目前将消息保存在 ~/.config/Signal 中。 | |
| Snap | ~/snap/
|
[410] | |
| Solfege | ~/.solfege, ~/.solfegerc, ~/lessonfiles |
[411] | |
| SpamAssassin | ~/.spamassassin
|
||
| Steam | ~/.steam, ~/.steampath, ~/.steampid |
[412] | 许多游戏引擎(Unity 3D、Unreal)都遵循该规范,但随后各个游戏发行商会在 Steam Auto-Cloud 中硬编码路径,导致游戏存档同步到错误目录。 |
| stellarium | ~/.stellarium/
|
[413] | |
| stremioAUR | ~/.stremio-server/
|
[414] | |
| sts4 | ~/.sts4
|
[415] | 传递 JVM 参数 -Dlanguageserver.boot.symbolCacheDir=$XDG_CACHE_HOME/sts4/symbolCache |
| sweethome3d | ~/.eteks/sweethome3d
|
[416] | |
| TeamSpeak | ~/.ts3client
|
export TS3_CONFIG_DIR="$XDG_CONFIG_HOME/ts3client"
| |
| terraform | ~/.terraform.d/
|
[417] | |
| texinfo | ~/.infokey
|
info --init-file "$XDG_CONFIG_HOME/infokey"
| |
| Thunderbird | ~/.thunderbird/
|
[418] | |
| tllocalmgr | ~/.texlive
|
||
| urlviewAUR | ~/.urlview
|
请改用分支 urlview-xdg-gitAUR。该分支将使用 XDG_CONFIG_HOME/urlview/config。 | |
| viberAUR | ~/.ViberPC
|
||
| vimperator | ~/.vimperatorrc
|
[419] | export VIMPERATOR_INIT=":source $XDG_CONFIG_HOME/vimperator/vimperatorrc"
|
| visidata | ~/.visidata
|
[420] | |
| wegoAUR | ~/.wegorc
|
[421] | |
| winboat | ~/.winboat
|
[422] | |
| wpa_cli | ~/.wpa_cli_history
|
alias wpa_cli='HOME=$XDG_STATE_HOME wpa_cli'
| |
| x2goclientAUR | ~/.x2goclient
|
alias x2goclient="x2goclient --home=$HOME/.config"
| |
| xpdf | ~/.xpdfrc
|
[423] | |
| xrdpAUR | ~/thinclient_drives
|
对于目录 ~/thinclient_drives,您可以考虑编辑 /etc/xrdp/sesman.ini 并根据示例配置修改 [Chansrv] 部分。 | |
| XVim2 | ~/.xvimrc
|
[424] | |
| yabridge-binAUR | ~/.vst/yabridge/, ~/.vst3/yabridge/, ~/.clap/yabridge/ |
不予修复 | |
| YARD | ~/.yard
|
[425] | 如果有人想实现它,将接受 Pull Request。 |
| zenmap nmap | ~/.zenmap
|
[426] [427] | |
| zoomAUR | ~/.zoom
|
不推荐:设置以下变量会移动 .zoom 的内容,但目录本身始终会被创建。此外,它会破坏一些功能,例如启动会议的能力。export SSB_HOME="$XDG_DATA_HOME"/zoom | |
| zotero-binAUR | ~/.zotero ~/Zotero |
[428] | ~/Zotero 默认位置的数据可以在 GUI 中更改:编辑 -> 首选项 -> 高级 -> 数据目录位置 -> 自定义。 |
工具
工具 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 起在 directory 中内置支持 ab9d0810ce。
- 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 关于 dotfiles 的笔记.
- Grawity 关于环境变量的笔记.
- ploum.net:修改您的应用程序以使用 XDG 文件夹.
- PCGamingWiki 试图记录 Linux PC 游戏是否遵循 XDG 基本目录规范。