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 的父目錄(此處即 ~/)。