XDG 基本目錄 - Arch Linux 中文维基

跳至內容

# XDG 基本目錄

出自 Arch Linux 中文维基

翻譯狀態：

- 本文（或部分內容）譯自 XDG Base Directory，最近一次同步於 2026-07-13，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

相關文章

- Dotfiles
- 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`。

## 支持

本文或本節內容已經過時。

原因： 硬編碼/部分支持分類中的一些軟體現已支持規範，需要檢查。 (在en:Talk:XDG Base Directory討論)

這篇文章的某些內容需要擴充。

原因：目前的完整支持/部分支持/硬編碼分割不夠詳細且可能具有誤導性。表格可以合併成一個（增加程序如何與規範工作的欄位）或使用不同名稱的類別。 (在 en:Talk:XDG Base Directory#Add description of support categories 中討論)

此節旨在記錄日益增長的使用 XDG 基本目錄規範（於 2003 年提出）的軟體，通過列出常見的 dotfiles 及其支持狀態來展示此規範的可用性。 對於那些目前不支持 XDG 基本目錄規範的軟體，此處給出可模擬該規範的變通方案。

變通方案僅限於那些不涉及修改原始碼、在環境變量中執行代碼或修改編譯時選項的方法。不修改編譯時選項是因為配置應該能夠在系統之間移植，而編譯時選項會妨礙這一點。

希望這能作為識別 dotfiles 到底是幹什麼的、是來自哪個軟體的信息源。

### 貢獻

貢獻時，請確保章節分類正確。

任何變通方案都不應需要修改原始碼、在環境變量中執行代碼或修改編譯時選項，任何需要這些方法才能獲得支持的軟體都必須分類為「硬編碼」。 此外，如果過程容易出錯或困難，也應分類為「硬編碼」。

- 「應用程式」列應該使用指向本 wiki 條目的連結、模板:Pkg 或 模板:AUR。
- 「舊路徑」列是項目曾經擁有的所有遺留文件和目錄（每行一個），即使這些文件或目錄不再被讀取，也應保留以便查找。
- 儘量找到項目採用 XDG 基本目錄規範的首個 commit 或版本以及任何相關的公開討論，分別收入「採用規範自」列和「討論」列（每行兩個）。
- 「注釋」列應包括適當的變通方案或解決方案。請確認提供的方案正確且可行。

### 完整支持

應用程式 | 舊路徑 | 採用規範自 | 討論 | 注釋
--- | --- | --- | --- | ---
act包 | `~/.actrc` | 1656 2195 | [1] | `XDG_CONFIG_HOME/act/actrc` 如果 `~/.actrc` 存在則會與XDG規範路徑下的配置文件合併。
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） | `~/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] | 如果舊路徑不存在，則使用以下新路徑： `$XDG_CONFIG_HOME/audacity` `$XDG_DATA_HOME/audacity`
binwalk包 | `~/.binwalk` | 2051757 | [14] | `$XDG_CONFIG_HOME/binwalk`
bitwarden-cli包 | `~/.config/Bitwarden CLI` | 1.7.1 | [15] | `$XDG_CONFIG_HOME/Bitwarden CLI` 優先遵循 `$BITWARDENCLI_APPDATA_DIR` 環境變量。 該目錄包含一個存放所有保險庫數據的 `data.json` 文件，理應存放到 `$XDG_DATA_HOME` 目錄。
Blender | `~/.blender` | 4293f47 | [16] |
borgmatic（英語：borgmatic） | `~/.borgmatic/` | 1.9.0 | [17] |
btop包 |  | b5e709d |  | `$XDG_CONFIG_HOME/btop`
byobu包 | `~/.byobu` | 4.17 | [18] | `$XDG_CONFIG_HOME/byobu` 如果舊路徑存在或者 `$XDG_CONFIG_HOME` 環境變量未設置，則優先使用舊路徑。
cabal | `~/.cabal/` | 9f7dc55 v3.10.1.0 | [19] |
calcurse包 | `~/.calcurse` | 04162d | [20] [21] | `$XDG_CONFIG_HOME/calcurse` `$XDG_DATA_HOME/calcurse` 如果舊路徑 `~/.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` 可以在 `proj/.clangd` 中指定項目配置。 在合理的情況下，會組合配置。如果發生衝突，則用戶配置具有最高優先級，其次是內部項目，最後是外部項目。
clifmAUR | `~/.config/clifm/` | 9d6e482 |  | `$XDG_CONFIG_HOME/clifm/`
Composer（英語：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」的文件。 請參閱 Option Files — Universal Ctags 0.3.0 Documentation。
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] 27.1 |  | `$XDG_CONFIG_HOME/emacs/init.el` 舊路徑優先於 XDG 路徑。Emacs 不會自行創建 `$XDG_CONFIG_HOME/emacs/`。 26.3 或更早版本的繞過方法：可以更改`HOME`，但它可能會產生意想不到的副作用。
Firefox | `~/.mozilla/` | 147 | [35] | `$XDG_CONFIG_HOME/mozilla/` 如果舊路徑 `~/.mozilla/firefox` 存在，優先使用。截至 Firefox 152.0.5 使用 XDG 路徑存在一個 bug： `native-messaging-hosts` 無法工作
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 0.20.0 | [42] | 默認使用 `$XDG_CONFIG_HOME/FreeCAD` `$XDG_DATA_HOME/FreeCAD` `$XDG_CACHE_HOME/FreeCAD` 舊路徑可通過 `FreeCAD --keep-deprecated-paths`使用
freerdp包 | `~/.freerdp` | edf6e72 |  |
Gajim（英語：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（英語：Haskell#Stack） | `~/.stack` | 2.9.3 | [53] | 默認使用舊目錄。使用 `export STACK_XDG=1` 使其符合規範。 舊方法 `export STACK_ROOT="$XDG_DATA_HOME"/stack` 仍然有效且優先級更高[54]。
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（英語：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 版本中必須設置環境變量 `$XDG_CONFIG_HOME` 和 `$XDG_DATA_HOME`。598 及以後版本不再需要。
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` 如果舊路徑 `~/.luarocks` 存在，優先使用。
mangohud包 |  | 65b90fc | [69] | `$XDG_CONFIG_HOME/MangoHud`
mc | `~/.mc` | 1b99570 0b71156 ce401d7 | [70] |
Mercurial（英語：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） | `~/.mozc` | 91cc1e1 | [73] |
mpd | `~/.mpdconf` | 87b7328 |  |
mpv | `~/.mpv` | cb250d4 | [74] |
msmtp（英語：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） | `~/.newsboat` | 3c57824 | [81] | `$XDG_CONFIG_HOME/newsboat` `$XDG_DATA_HOME/newsboat` 默認使用舊目錄，若 `$XDG_CONFIG_HOME/newsboat` 存在則使用 XDG 目錄。舊目錄下的文件/目錄需要手動分離（參見 newsboat(1) § FILES）。
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` `~/.utoprc` | 2.13.0 9729963 | [88] | `$XDG_STATE_HOME/utop/utop-history` `$XDG_CONFIG_HOME/utop/utoprc`
OfflineIMAP（英語：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（英語：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） | `~/.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（英語：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） | `~/.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 程序使用 `$XDG_DATA_HOME/icons` 中的光標，需要配置 $XCURSOR_PATH 環境變量。
util-linux包 |  | 570b321 |  |
Uzbl（英語：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 目錄/文件，其他需創建 `$XDG_CONFIG_HOME/vim/` 目錄後運行 `$VIMRUNTIME/xdg.vim` 啟用。（見 :h xdg-base-dir） 以下文件/目錄需要運行 `$VIMRUNTIME/xdg.vim` 啟用： `$XDG_STATE_HOME/vim/viminfo` 以下目錄需要在 `$VIMRUNTIME/xdg.vim` 中取消注釋部分行再運行啟用： `$XDG_DATA_HOME/vim/undo/` `$XDG_DATA_HOME/vim/`（原 `~/.vim/pack/` 及 `~/.vim/` 目錄下的 Netrw 數據） `$XDG_DATA_HOME/vim/view/`（原 `~/.vim/view/`） `$XDG_DATA_HOME/vim/spell/`（原 `~/.vim/spell/`） `$XDG_STATE_HOME/vim/swap/` `$XDG_STATE_HOME/vim/backup/`
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） | `~/.weechat` | [143] 3.2 | [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（英語：xmobar） | `~/.xmobarrc` | 7b0d6bf 9fc6b37 eaccf70 | [148] [149] | `$XDG_CONFIG_HOME/xmobar/xmobarrc`
xmonad | `~/.xmonad/` | 40fc10b | [150] [151] | 以下所有目錄必須都存在，否則回退到 `~/.xmonad/`： `$XDG_CACHE_HOME/xmonad/` `$XDG_CONFIG_HOME/xmonad/` `$XDG_DATA_HOME/xmonad/` 也可以使用更高優先級的 `$XMONAD_CACHE_DIR`、`$XMONAD_CONFIG_DIR` 和 `$XMONAD_DATA_DIR` 環境變量。
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） | `~/.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` `HOME="$XDG_DATA_HOME" btcli`
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`（如果存在）移動過去］ 即使未設置 `$BUP_DIR`，也能正確使用 `$XDG_CACHE_HOME` 作為緩存目錄。
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，創建了 `.pki`。這導致其下游也無法正常工作（Qt WebEngine 尤其影響了許多情況，例如 KMail 等）
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 仍會創建 `~/.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` |  |  | 結尾的斜槓是必需的： `export CRAWL_DIR="$XDG_DATA_HOME"/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 仍然會創建 `~/.clusterssh/`。
CUDA | `~/.nv` |  |  | `export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv`
dict（英語：dict） | `~/.dictrc` |  |  | `dict -c "$XDG_CONFIG_HOME"/dict/dictrc`
discord | `${XDG_CONFIG_HOME}/discord` |  |  | 自 0.0.27 版起： 文檔未記錄，但常用： `export DISCORD_USER_DATA_DIR="${XDG_DATA_HOME}"` 來源：`<discord_system_package_root>/resources/app.asar`
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） | `~/.elinks` |  |  | `export ELINKS_CONFDIR="$XDG_CONFIG_HOME"/elinks`
elixir包 | `~/.mix` `~/.hex` | afaf889 | [190] [191] | Elixir 並不完全符合 XDG 規範，只有當 `MIX_XDG` 變量設置為特殊值時，它才會使用 XDG，否則它將默認使用舊路徑。 `export MIX_XDG="true"`
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/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` | [193] | [194] | Erlang 不完全支持 XDG 規範，最後才會在 `$XDG_CONFIG_HOME` 目錄查找文件。 `mkdir "$XDG_CONFIG_HOME"/erlang` `mv ~/.erlang.cookie "$XDG_CONFIG_HOME"/erlang`
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` `export GDBHISTFILE="$XDG_DATA_HOME"/gdb/history`
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） | `~/.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` 環境變量 `GHCUP_USE_XDG_DIRS` 可以設置為任何非空值。請參閱 [204]。
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/screenrc` `export SCREENDIR="${XDG_RUNTIME_DIR}/screen"`
GnuPG | `~/.gnupg` |  | [207] [208] | `export GNUPGHOME="$XDG_DATA_HOME"/gnupg`，`gpg2 --homedir "$XDG_DATA_HOME"/gnupg` 請注意，目前使用 systemd 用戶單元和基於 socket 的激活無法開箱即用，因為 socket 目錄會根據 `$GNUPGHOME` 的哈希值發生變化。您可以使用 `gpgconf --list-dirs socketdir` 獲取新的 socket 目錄，並必須修改 systemd 用戶單元以相應地監聽正確的 socket。還必須使用以下 `gpg-agent.service` 插入文件（或以其他方式將 GNUPGHOME 環境變量傳遞給在 systemd 中運行的代理），否則您可能會遇到「丟失」私鑰的問題：
    [Service]
    Environment="GNUPGHOME=%h/.local/share/gnupg"
如果您使用 GPG 作為您的 SSH 代理，請將 `SSH_AUTH_SOCK` 設置為 `gpgconf --list-dirs agent-ssh-socket` 的輸出，而不是某些硬編碼值。
gnuradio包 | `~/.gnuradio` |  | [209] | GNU Radio: `export GR_PREFS_PATH="$XDG_CONFIG_HOME"/gnuradio` GNU Radio Companion: `export GRC_PREFS_PATH="$XDG_CONFIG_HOME"/gnuradio/grc.conf`
Go | `~/go` | [210] |  | `export GOPATH="$XDG_DATA_HOME"/go`，`export GOMODCACHE="$XDG_CACHE_HOME"/go/mod` 如果未設置 `GOMODCACHE`，則默認為 `$GOPATH/pkg/mod`（參見 [211]）。 支持 `GOCACHE`，默認為 `$XDG_CACHE_HOME/go-build`（參見 [212]）。
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
`$PASSWORD_STORE_DIR` 僅在初始化時支持。
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） | `~/.gradle` |  | [213] [214] | `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，`~/.gtkrc-2.0` 可能會不斷被創建，因為點擊「應用」時的定製設置會寫入到這個文件。該路徑在 Lxappearance 中是硬編碼的，但作為一個輸出文件，這些設置可以被反覆移動到該位置。 要阻止 KDE Plasma 創建此文件，請禁用「GNOME/GTK 設置同步」後台服務。
hledger包 | `~/.hledger.journal` |  | [215] | `export LEDGER_FILE="$XDG_DATA_HOME"/hledger.journal`
Houdini | `~/houdiniMAJOR.MINOR)` |  | [216] [217] | `export HOUDINI_USER_PREF_DIR="$XDG_CACHE_HOME"/houdini__HVER__` 這個變量的值必須包含子字符串 `__HVER__`，它將在運行時被替換成當前的 `MAJOR.MINOR` 版本號。
imapfilterAUR | `~/.imapfilter` |  |  | `export IMAPFILTER_HOME="$XDG_CONFIG_HOME/imapfilter"`
IPFS（英語：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（英語：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： `export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME"/jupyter` v5.0.0 <= python-jupyter-core包 < v6.0.0： `export JUPYTER_PLATFORM_DIRS="1"` (see [223]) 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 使用 `$KDEHOME`。不建議在更新的版本上使用此變量。
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（英語：Leiningen） | `~/.lein` `~/.m2` |  | [232] | `export LEIN_HOME="$XDG_DATA_HOME"/lein` 要更改 Leiningen 使用的 m2 倉庫位置，請參閱：Leiningen#m2 倉庫位置（英語：Leiningen#m2 repo location）
libdvdcss包 | `~/.dvdcss` |  | [233] | `export DVDCSS_CACHE="$XDG_DATA_HOME"/dvdcss`
libice包 | `~/.ICEauthority` |  | [234] | `export ICEAUTHORITY="$XDG_CACHE_HOME"/ICEauthority` 確保提前設置 `XDG_CACHE_HOME`，使其指向運行 Xorg 的用戶有寫權限的目錄。 不要使用 `XDG_RUNTIME_DIR`，因為它是在登錄之後才可用的。否則啟動 Xorg 的顯示管理器（如 GDM）將會反覆失敗。
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` 曾為 `$MATHEMATICA_USERBASE`，參見 從 Mathematica 升級到 Wolfram。
maven包 | `~/.m2` |  | [239] | `export MAVEN_OPTS=-Dmaven.repo.local="$XDG_DATA_HOME"/maven/repository` `export 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` 無論出於什麼原因，這會在 `MINIKUBE_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） | `~/.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` |  | [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
`~/.my.cnf` 僅支持 mysql-server，不支持 mysql-client [245] `~/.mylogin.cnf` 不支持。
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` |  |  | 排除系統路徑搜索： `export TERMINFO="$XDG_DATA_HOME"/terminfo`，`export TERMINFO_DIRS="$XDG_DATA_HOME"/terminfo:/usr/share/terminfo`
Netbeans（英語：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 安裝的，則 `prefix` 是不必要的（且不受支持）。
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;
`local_list` 選項必須給出絕對路徑。
omnisharp-roslyn-binAUR | `~/.omnisharp/` | [254] | [255] | `export OMNISHARPHOME="$XDG_CONFIG_HOME/omnisharp"`
opam包 | `~/.opam` |  | [256] | `export OPAMROOT="$XDG_DATA_HOME/opam"` 配置和狀態數據都存儲在 `$OPAMROOT` 中，因此該解決方案不完全兼容。
openai-codex包 | `~/.codex/` | 5fc9fc3 | [257] | `export CODEX_HOME="$XDG_CONFIG_HOME"/codex`
openscad包 | `~/.OpenSCAD` | 7c3077b0f | [258] | 不完全遵守 XDG 基本目錄規範，請參閱 [259]。 目前它硬編碼 `~/.local/share`。
packettracerAUR | `~/.packettracer` `~/pt` |  |  | 具有 GUI 配置來更改 PT 安裝目錄，`~/pt`（選項 > 首選項 > 管理 > 用戶文件夾）。此路徑寫入文件 `~/.packettracer`。 除非手動重新創建 `.packettracer` 文件，否則無論此設置如何，日誌文件仍可能被寫入 `~/pt/logs`。
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] 以及 [261] 和 [262] | 從 0.14.5 開始，可以移動整個數據目錄。 `export PHIVE_HOME="$XDG_DATA_HOME/phive"`
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"` 必須創建這兩個目錄：`mkdir "$XDG_CONFIG_HOME/pg" && mkdir "$XDG_STATE_HOME"`
Project Zomboid | `~/Zomboid` |  |  | 可以使用 -cachedir="${XDG_DATA_HOME}"/Zomboid/ 參數更改遊戲文件的存儲位置。 `projectzomboid.sh` 腳本也通過 `GAMEDIR="${HOME}/Zomboid"` 定義了自己的遊戲數據目錄。如果你使用 Steam，該腳本會在遊戲更新時被重置，因此不能直接手動修改。不過，你可以創建一個自定義腳本，在主腳本被 Steam 還原後自動對其進行修補：
    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/ "$@"
將其命名為 `start.sh`，並放在 `projectzomboid.sh` 所在的目錄中。然後使用 `./start.sh # %command%"`，讓 Steam 執行 `./start.sh` 而不是主腳本。請注意，這也會使遊戲在不使用 Steam Linux Runtime 的情況下啟動。
PulseAudio | `~/.esd_auth` |  |  | 很可能是由 `module-esound-protocol-unix.so` 模塊生成的。可以將其配置為使用不同的位置，但更有意義的是，在 `/etc/pulse/default.pa` 或 `"$XDG_CONFIG_HOME"/pulse/default.pa` 中注釋掉此模塊。
PuTTY（英語：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：`export PYTHON_HISTORY=$XDG_STATE_HOME/python_history` PYTHONPYCACHEPREFIX：`export PYTHONPYCACHEPREFIX=$XDG_CACHE_HOME/python` PYTHONUSERBASE：`export PYTHONUSERBASE=$XDG_DATA_HOME/python`
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` `~/.ivy2` |  | [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"` 配置和數據文件均存儲在 `$SDKMAN_DIR` 中，因此該方案並不完全符合 XDG 基礎目錄規範。
simplescreenrecorderAUR | `~/.ssr/` | 0.4.3 | [288] [289] | 僅當已創建時才會使用 `$XDG_CONFIG_HOME/simplescreenrecorder/`，否則默認為 `~/.ssr`。 `mv ~/.ssr "$XDG_CONFIG_HOME"/simplescreenrecorder`
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` 文件。 `export SPACEMACSDIR="$XDG_CONFIG_HOME"/spacemacs`，`mv ~/.spacemacs "$SPACEMACSDIR"/init.el` 其他文件需要像 Emacs 一樣進行配置。
spotdlAUR | `~/.spotdl` | [292] ([293]) | [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 ⓘ] | 僅在編譯時激活時存在（默認無）。自 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` 文件。 `tiptop -W "$XDG_CONFIG_HOME"/tiptop`
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（英語：rxvt-unicode/Tips and tricks#Daemon-client） | `~/.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（英語：virtualenv） | `~/.virtualenvs` |  |  | `export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"`
Visual Studio Code | `~/.vscode-oss/` |  | [309] | 您可以使用 `export VSCODE_PORTABLE="$XDG_DATA_HOME"/vscode`，但該方法未記錄在文檔中，可能會意外中斷。 設置此項會使編輯器在 `$VSCODE_PORTABLE/user-data` 中查找 `.config/Code - OSS` 的內容。 您還可以使用 `--extensions-dir` 標誌運行 Visual Studio，例如 `code --extensions-dir "$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/` 目錄。 也可以修改 `product.json` 文件中 `dataFolderName` 的值，將其設為 `.local/share/codium` 或你指定的路徑。不過，每次更新該軟體包後都需要重新進行此操作；為此，你可以安裝 vscodium-xdg-dir-patchAUR，讓系統自動完成這一過程。
w3m包 | `~/.w3m` | 26284ff | [312] [313] | `export W3M_DIR="$XDG_STATE_HOME/w3m"`
wakatimeAUR | `~/.wakatime/` `~/.wakatime.cfg` |  |  | `export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime"` 該目錄需要手動創建 `mkdir "$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 管理： `mkdir -p "$XDG_DATA_HOME"/wineprefixes`, `export WINEPREFIX="$XDG_DATA_HOME"/wineprefixes/default`
x3270AUR | `~/.x3270pro` `~/.c3270pro` `~/.x3270connect` |  |  | `export X3270PRO="$XDG_CONFIG_HOME"/x3270/config`，`export C3270PRO="$XDG_CONFIG_HOME"/c3270/config` `~/.x3270connect` 目前不支持使用 XDG。
xbindkeys（英語：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`) 的一部分添加。 根據您配置 `$XDG_CACHE_HOME` 的位置，您可能需要自行擴展路徑。
    # 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 將 `~/.Xauthority` 路徑硬編碼在了程序中。 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 | [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，並選擇依賴啟動文件 `~/.zshenv` 或 `~/.zprofile` 或 `~/.zlogin` 來設置重要的環境變量（例如 `ZDOTDIR`）進行引導，則無法繞過將設置 `ZDOTDIR` 的一個文件放在默認位置。對於上下文，一個例外是，如果您的更廣泛的系統配置在此之前設置了 `ZDOTDIR` 環境變量。

### 硬編碼

應用程式 | 舊路徑 | 討論 | 注釋
--- | --- | --- | ---
adb & Android Studio | `~/.android/` |  | 儘管看起來並非如此，adb 將始終生成 `~/.android/adbkeys`，儘管它也會嘗試 `ADB_VENDOR_KEYS` 中的密鑰。
aegisub包 | `~/.aegisub/` | [322] |
alpine（英語：alpine） | `~/.pinerc` `~/.addressbook` `~/.pine-debug[1-4]` `~/.newsrc` `~/.mailcap` `~/.mime.types` `~/.pine-interrupted-mail` |  | `alias alpine="alpine -p $XDG_CONFIG_HOME/alpine/pinerc"` 在上面的配置文件中，可以使用 `newsrc-path=` 和 `address-book=` 等選項定製一些位置。
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 使用的新目錄，如文檔此處所述。 `alias arduino-cli='arduino-cli --config-file $XDG_CONFIG_HOME/arduino15/arduino-cli.yaml'`
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` `export HISTFILE="$XDG_STATE_HOME"/bash/history` `bashrc` 可從 `/etc/bash.bashrc` 中的不同位置獲取。 對於交互式 shell，請指定 `--init-file <file>` 作為 `~/.bashrc` 的替代。
Berkshelf（英語：Chef） | `~/.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） | `~/.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] [351] |
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（英語：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`。 由維護腳本 eval.php 和 sql.php 生成。
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（英語：ftp）（`$NETRC`）、s-nail（英語：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]： `export OLLAMA_MODELS=$XDG_DATA_HOME/ollama/models`
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（英語：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（英語：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（英語：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 權限，並將更改所有用戶的 `~/.sbclrc` 位置。可以通過檢查 `lambda` 表單中是否存在 `~/.sbclrc` 來緩解此問題。
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（英語：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"` `export VIMPERATOR_RUNTIME="$XDG_CONFIG_HOME"/vimperator`
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` 的內容，但目錄本身始終會創建。此外，它會破壞某些功能，例如無法開始會議。 `export SSB_HOME="$XDG_DATA_HOME"/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
  libXDGdirs
  libxdg-basedir
  C99：Cloudef的簡單實現

C#

  Xdg.Directories

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` 的父目錄（此處即 `~/`）。

## 參見

- GNOME Goal: XDG Base Directory Specification Usage
- Rob Pike: "Dotfiles" being hidden is a UNIXv2 mistake
- systemd-path(1)
- file-hierarchy(7)
- Grawity 關於點文件的注釋
- Grawity 關於環境變量的注釋
- ploum.net: Modify Your Application to use XDG Folders
- PCGamingWiki 試圖記錄 Linux PC 遊戲是否遵循 XDG 基本目錄規範

分類：​

- Freedesktop.org
- 配置文件
- 開發
- 使用「模板:過時」標記的頁面或章節
- 包含失效連結的頁面

隱藏分類：​

- 有藍鏈卻未移除內部連結助手模板的頁面

XDG 基本目錄
新增話題