出自 Arch Linux 中文维基


此文章在#規範中總結了XDG基本目錄規範,並在#支持中跟進軟體支持情況。

規範

請閱讀完整規範。本節將嘗試分解其試圖實現的核心內容。

只有XDG_RUNTIME_DIR是通過pam_systemd(8)默認設置的。根據規範,用戶需要顯式定義其他變量。更改它可能會導致PipeWire和Chromium上的屏幕共享出現問題

有關變量如何定義,請參見環境變量#全局

用戶目錄

  • XDG_CONFIG_HOME
    • 用於存放特定用戶的配置(類似於/etc)。
    • 默認應為$HOME/.config
  • XDG_CACHE_HOME
    • 用於存放特定用戶的非必要(緩存)數據(類似於/var/cache)。
    • 默認應為$HOME/.cache
  • XDG_DATA_HOME
    • 用於存放特定用戶的數據文件(類似於/usr/share)。
    • 默認應為$HOME/.local/share
  • XDG_STATE_HOME
    • 用於存放特定用戶的狀態文件(類似於/var/lib)。
    • 默認應為$HOME/.local/state
  • XDG_RUNTIME_DIR
    • 用於存放特定用戶的非必要數據文件,如Sockets、命名管道等。
    • 不需要提供默認值;如果沒有設置也未提供等價物,應該發出警告。
    • 必須由用戶擁有,訪問模式為0700
    • 文件系統符合OS標準。
    • 必須位於本地文件系統上。
    • 可能會定期清理。
    • 每6小時修改一次或設置粘滯位以確保持久性。
    • 只能在用戶登錄期間存在。
    • 不應該存儲大文件,因為它可能是作為tmpfs掛載的。
    • pam_systemd將其設置為/run/user/$UID

系統目錄

  • XDG_DATA_DIRS
    • :分隔的目錄列表(類似於PATH)。
    • 默認應為/usr/local/share:/usr/share
  • XDG_CONFIG_DIRS
    • :分隔的目錄列表(類似於PATH)。
    • 默認應為/etc/xdg

支持

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

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

此節旨在記錄日益增長的使用XDG基本目錄規範的軟體集,該規範於2003年引入。 這是為了通過列出常見的dotfiles及其支持狀態來展示此規範的可行性。 對於那些目前不支持基礎目錄規範的軟體,將演示解決方法以模擬該規範。

解決方法將限於任何不涉及修補原始碼、執行存儲在環境變量中的代碼或編譯時選項的方法。 這樣做的理由是配置應該能夠在系統之間移植,而編譯時選項會妨礙這一點。

希望這將成為識別dotfiles及其來源的信息源。

貢獻

貢獻時,請確保使用正確的章節。

任何方法都不應需要代碼評估、補丁或編譯時選項即可獲得支持,任何需要這些的都必須被認為是硬編碼的。 此外,如果過程容易出錯或困難,也應分類為硬編碼。

  • 第一列應該是指向內部文章的連結、Template:PkgTemplate: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/
atuin ~/.config/atuin ~/.local/share/atuin 156893d
XDG_CONFIG_HOME/atuin/config.toml
XDG_DATA_HOME/atuin/history.db
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代替~/.asunderXDG_CACHE_HOME/asunder/asunder_album_...代替其他3個文件。遷移後原文件需要手動刪除。
audacity ~/.audacity-data/ 3.2.0 [13] 如果舊路徑不存在,則使用以下新路徑:
XDG_CONFIG_HOME/audacity
XDG_DATA_HOME/audacity
btop b5e709d XDG_CONFIG_HOME/btop
binwalk ~/.binwalk 2051757 [14] XDG_CONFIG_HOME/binwalk
bitwarden-cli ~/.config/Bitwarden CLI 1.7.1 [15]
XDG_CONFIG_HOME/Bitwarden CLI
XDG_DATA_HOME/audacity

BITWARDENCLI_APPDATA_DIR 環境變量優先。

目前包含一個包含所有保險庫數據的 data.json 文件,因此它應該屬於XDG_DATA_HOME。

Blender ~/.blender 4293f47 [16]
byobu ~/.byobu 4.17 [17]

XDG_CONFIG_HOME/byobu

如果舊路徑存在或者XDG_CONFIG_HOME環境變量未設置,則優先使用舊路徑。

cabal ~/.cabal/ 9f7dc55 v3.10.1.0 [18]
calcurse ~/.calcurse 04162d [19] [20]
XDG_CONFIG_HOME/calcurse
XDG_DATA_HOME/calcurse

如果舊路徑~/.calcurse存在,優先使用。

calibre
ccache ~/.ccache 4.0 [21]
XDG_CACHE_HOME/ccache
XDG_CONFIG_HOME/ccache/ccache.conf
catfish ~/.config/catfish af65ed25 [22]
clangd ~/.clangd fdf7dcc[失效連結 2022-09-23 ⓘ] [23] XDG_CONFIG_HOME/clangd/config.yml

XDG_CACHE_HOME/clangd

可以在 proj/.clangd 中指定項目特定的配置。 在合理的情況下,會組合配置。如果發生衝突,則用戶配置具有最高優先級,其次是內部項目,最後是外部項目。

Composer英語Composer ~/.composer 1.0.0-beta1 [24]
crossnote ~/.mume d714a82

0.8.13

[25] $XDG_CONFIG_HOME/mume

如果舊路徑存在,優先使用。

ctags (universal-ctags) ~/.ctagsrc~/.ctags.d 68da03a

8fb0b04

Issue 89

Pull request 2384

在啟動時,Universal-ctags會加載$XDG_CONFIG_HOME/ctags目錄中文件擴展名為「.ctags」的文件。

請參閱Ctags Option Files

cURL ~/.curlrc 7.73.0 [26] XDG_CONFIG_HOME/.curlrc
CUPS ~/.cups/ 23b1be6 [27]

libcups 在 v3 中添加了 XDG 支持(仍處於測試階段)。官方存儲庫中的版本仍然硬編碼為 ~/.cups

dconf
Dolphin 模擬器 ~/.dolphin-emu a498c68 [28]
dr14_t.meter-gitAUR 7e777ca [29] XDG_CONFIG_HOME/dr14tmeter/
dunst 78b6e2b [30] XDG_CONFIG_HOME/dunst/
Emacs ~/.emacs ~/.emacs.d/init.el [31]

27.1

XDG_CONFIG_HOME/emacs/init.el

舊路徑優先於 XDG 路徑。Emacs 永遠不會創建 XDG_CONFIG_HOME/emacs/。 26.3 或更早版本的繞過方法:可以更改HOME,但它可能會產生意想不到的副作用。

fish
fltk ~/.fltk/ 7308bcd [32] [33] 僅尚未發布(截至 2022 年 7 月 9 日)的 1.4.0 版本支持
fontconfig ~/.fontconfig ~/.fonts 8c255fb[34] 配置位於 XDG_CONFIG_HOME/fontconfig/fonts.confXDG_CONFIG_HOME/fontconfig/conf.d/,字體存儲在 XDG_DATA_HOME/fonts/
fontforge ~/.FontForge ~/.PfaEdit e4c2cc7

[35] [36]

freecad ~/.FreeCAD e7e2994ba

0.20.0

[37] 默認為
XDG_CONFIG_HOME/FreeCAD
XDG_DATA_HOME/FreeCAD
XDG_CACHE_HOME/FreeCAD

舊路徑可通過FreeCAD --keep-deprecated-paths使用

freerdp ~/.freerdp edf6e72
Gajim英語Gajim ~/.gajim 3e777ea [38]
gconfAUR ~/.gconf fc28caa [39]
GDB英語GDB ~/.gdbinit~/.gdb_history 11.1 XDG_CONFIG_HOME/gdb/gdbinitexport GDBHISTFILE="$XDG_DATA_HOME"/gdb/history
ghidra ~/.ghidra/ 3b0aac9 [40]
GIMP ~/.gimp-x.y ~/.thumbnails

60e0cfe 483505f

[41] [42]

Git ~/.gitconfig~/.gitignore~/.gitattributes~/.git-credentials~/.gitk 0d94427dc79687684e40f Git ConfigGit AttributesGit Credentialsgitk XDG_CONFIG_HOME/git/configXDG_CONFIG_HOME/git/ignoreXDG_CONFIG_HOME/git/attributesXDG_CONFIG_HOME/git/credentialsXDG_CONFIG_HOME/git/gitk
gops 71c4255
gnuplot ~/.gnuplot_history a5562b1

[43]

goobookAUR ~/.goobookrc 3.5 [44] XDG_CONFIG_HOME/goobookrc
Godot Engine ~/.godot 73049d1

3.0-stable

[45]
GStreamer ~/.gstreamer-0.10 4e36f93 [46]
GTK 3
Haskell#Stack英語Haskell#Stack ~/.stack 2.9.3 [47] 默認為使用舊目錄。使用export STACK_XDG=1使其符合規範。

舊方法export STACK_ROOT="$XDG_DATA_HOME"/stack仍然有效且優先[48][失效連結 2024-07-30 ⓘ]

helm ~/.helm 3.0.0
htop ~/.htoprc 93233a6 XDG_CONFIG_HOME/htop/htoprc
httpie ~/.httpie 5af0874 [49]
hunspell ~/.hunspell_default. [50]
i3 ~/.i3 7c130fb
i3blocksi3blocks-gitAUR [51]
i3status ~/.i3status.conf c3f7fc4
i3status-rust
IdeaVim ~/.ideavimrc 0.54.1-EAP [52] XDG_CONFIG_HOME/ideavim/ideavimrc
imagemagick
iotop-c ~/.config/iotop [53] [54]
Inkscape ~/.inkscape 0.47 [55]
ipython ~/.ipython 8.0.0 [56] $XDG_CONFIG_HOME/ipython(或當XDG_CONFIG_HOME不存在時使用的~/.config/ipython)不存在時使用舊路徑。
iwd / iwctl ~/.iwctl_history d3e00d7f
intellij-idea-community-edition / intellij-idea-ultimate-editionAUR ~/.IntelliJIdeaXXXX.X 2020.1 [57]
XDG_CONFIG_HOME/JetBrains/IntelliJIdeaXXXX.X
XDG_DATA_HOME/JetBrains/IntelliJIdeaXXXX.X
XDG_CACHE_HOME/JetBrains/IntelliJIdeaXXXX.X
josm ~/.josm 11162 [58]
jupyter ~/.jupyter 在 5.0 中可選擇加入,在 6.0 中可選擇退出,在 7.0 中強制使用(changelog XDG_CONFIG_HOME/jupyter
Kakoune英語Kakoune
keynavAUR ~/.keynavrc XDG_CONFIG_HOME/keynav/keynavrc
less ~/.lesshst~/.lesskey 590

完整支持:600[失效連結 2024-07-30 ⓘ]

[59] 在 590 版本中必須設置環境變量XDG_CONFIG_HOMEXDG_DATA_HOME。600 以後版本不再必要。
latexmk(texlive-binextra中) ~/.latexmkrc

XDG_CONFIG_HOME/latexmk/latexmkrc

lftp ~/.lftp 21dc400 [60]
lgogdownloaderAUR ~/.gogdownloader d430af6 [61]
luarocks ~/.luarocks cd16cdd [62]
XDG_CONFIG_HOME/luarocks
XDG_CACHE_HOME/luarocks

如果舊路徑~/.luarocks存在,優先使用。

mangohud 65b90fc [63] XDG_CONFIG_HOME/MangoHud
mc ~/.mc

1b99570 0b71156 ce401d7

[64]
Mercurial英語Mercurial ~/.hgrc

3540200 4.2

XDG_CONFIG_HOME/hg/hgrc.
mesa 87ab26b XDG_CACHE_HOME/mesa
milkytracker ~/.milkytracker_config eb487c5 [65]
mlterm英語mlterm ~/.mlterm/ 71df071 [66] XDG_CONFIG_HOME/mlterm/
mozc英語mozc ~/.mozc 91cc1e1 [67]
mpd英語mpd ~/.mpdconf 87b7328
mpv ~/.mpv cb250d4 [68]
msmtp英語msmtp ~/.msmtprc

af2f409 v1.6.7+

XDG_CONFIG_HOME/msmtp/config
mutt ~/.mutt b17cd67 [69]
mypaint ~/.mypaint cf723b7
nano ~/.nano/ ~/.nanorc c16e79b [70]
ncmpcpp英語ncmpcpp ~/.ncmpcpp

38d9f81 27cd86e

[71] [72]

應設置 ncmpcpp_directory 以避免 ~/.ncmpcpp 中出現 error.log 文件。
Neovim ~/.nvim ~/.nvimlog ~/.nviminfo 1ca5646bb

[73] [74]

Nestopia UE ~/.nestopia/ 610c008 1.51.0 [75]
newsboat英語newsboat ~/.newsboat 3c57824 [76] 必須手動創建兩個目錄[77]

mkdir -p "$XDG_DATA_HOME"/newsboat "$XDG_CONFIG_HOME"/newsboat

node-gyp ~/.node-gyp 2b5ce52a [78]
np2kai-gitAUR ~/.config/np2kai ~/.config/xnp2kai 56a1cc2 [79]
notmuch ~/.notmuch-config [80] mkdir -p $XDG_CONFIG_HOME/notmuch/default; mv ~/.notmuch-config $XDG_CONFIG_HOME/notmuch/default/config
NSS ~/.pki 3.42 (da45424) [81] 參閱 Chromium 了解現有問題。
nteract-binAUR 4593e72 [82] [83] 無法識別 ipython/jupyter 的繞過方法
ocaml-utopAUR ~/.utop-history

~/.utoprc

2.13.0

9729963

[84] XDG_STATE_HOME/utop/utop-history

XDG_CONFIG_HOME/utop/utoprc

OfflineIMAP英語OfflineIMAP ~/.offlineimaprc 5150de5 [85] XDG_CONFIG_HOME/offlineimap/config
openal ~/.alsoftrc 3c90ed9 XDG_CONFIG_HOME/alsoft.conf
opentyrianAUR ~/.opentyrian 39559c3 [86]
oscAUR ~/.oscrc ~/.osc_cookiejar 6bc2d3f

ebcf3de

github.com/openSUSE/osc/pull/940

github.com/osc/pull/940

XDG_CONFIG_HOME/osc/oscrc XDG_STATE_HOME/osc/cookiejar

如果舊路徑存在,優先使用。

pam-u2f ~/.config/Yubico/u2f_keys ad52dd8 [87] XDG_CONFIG_HOME/Yubico/u2f_keys
pandoc-cli ~/.pandoc/ 0bed0ab [88]
PCManFM ~/.thumbnails 1.3.2
pcsx2AUR ~/.pcsx2

87f1e8f a9020c6 3b22f0f 0a012ae

[89] [90]
pdfsamAUR ~/.openjfx export _JAVA_OPTIONS=-Djavafx.cachedir="$XDG_CACHE_HOME"/openjfx
Pry ~/.pryrc ~/.pry_history

a0be0cc7 15e1fc92 e9d1be0e

[91]
python-autoimportAUR ~/.config/autoimport/config.toml 1.2.0 [92] XDG_CONFIG_HOME/autoimport/config.toml
python-black ~/.config/black 21.4b0 [93] XDG_CONFIG_HOME/blackXDG_CACHE_HOME/black/<version>/
python-pylint ~/.pylint.d 2.10 [94] 以前需要使用 export PYLINTHOME="$XDG_CACHE_HOME"/pylint,全局配置仍然需要:export PYLINTRC="$XDG_CONFIG_HOME"/pylint/pylintrc
python-pip ~/.pip 6.0 [95]
python-pipx ~/.local/pipx c3d8de9 [96] 為了兼容,pipx 將恢復為 ~/.local/pipx(如果存在)。使用 python-platformdirs 實現。
python-poetry ~/.poetry [97] [98]
powershellAUR 6.0
ppsspp ~/.ppsspp 132fe47 [99]
procps-ng ~/.toprc af53e17

[100] [101]

pacman ~/.makepkg.conf 80eca94 [102]
panda3dAUR ~/.panda3d 2b537d2
pnpm ~/.pnpm-store [103] [104] [105]
poezioAUR
PulseAudio ~/.pulse ~/.pulse-cookie

59a8618 87ae830 9ab510a 4c195bc

[106] Steam 可能仍會創建 ~/.pulse-cookie。將 cookie-file = ~/.config/pulse/cookie 添加到 /etc/pulse/client.conf 即可將其刪除。
pyroomAUR
quodlibet ~/.quodlibet 3.10.0 [107]
qutebrowser英語qutebrowser
qtile

fd8686e 66d704b 51cff01

[108] 一些可選的欄小部件可以在不兼容的路徑中創建文件和目錄,但大多數情況下這些仍然是可配置的。
rclone ~/.rclone.conf 9d36258 [109]
retroarch
ripgrep-all ~/.cache/rga 963524b v0.10.3 [110] [111] [112]
rrAUR ~/.rr 02e7d41 [113]
RSpec ~/.rspec 5e395e2 [114]
rTorrent ~/.rtorrent.rc 6a8d332
RuboCop ~/.rubocop.yml 6fe5956 [115]
Ruby#RubyGems ~/.gem 3.0.0 (5c6269c) [116]
XDG_CONFIG_HOME/gem/gemrc
XDG_CONFIG_HOME/irb
XDG_DATA_HOME/gem
XDG_DATA_HOME/rdoc
sandboxd ~/.sandboxrc [117] [118] XDG_CONFIG_HOME/sandboxd/sandboxrc
scribus ~/.scribus 1.5.3
scummvm ~/.scummvmrc ~/.scummvm/ 7d014be [119] 需要手動遷移數據。

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 [120]
shellcheck ~/.shellcheckrc 581bcc3 XDG_CONFIG_HOME/shellcheckrc

有關更多信息,請參閱Shellcheck RC 文件

snes9x ~/.snes9x 93b5f11 [121] 默認情況下,配置文件留空,以便用戶可以隨意填寫(通過 GUI 或手動)。
spectrwm英語spectrwm ~/.spectrwm a30bbb [122]
SQLite ~/.sqliterc~/.sqlite_history 3.44.0 XDG_CONFIG_HOME/sqlite3/sqlitercexport SQLITE_HISTORY=$XDG_DATA_HOME/sqlite_history
Streamlink英語Streamlink ~/.livestreamerrc ea80591 [123]
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 [124] XDG_CONFIG_HOME/sway/config
sxhkd
systemd
teeworlds ~/.teeworlds [125]
termite英語termite
tig ~/.tigrc~/.tig_history 2.2 [126] ~/.local/share/tig目錄必須存在否則將會寫入~/.tig_history
Theming(桌面端) ~/.icons/~/.themes/ [127] XDG_DATA_HOME/icons

XDG_DATA_HOME/themes

為了使 Qt 程序、GTK 或 Wayland 上的 Qt 程序使用 XDG_DATA_HOME/icons 中的光標,需要配置 XCURSOR_PATH 環境變量。

tmux ~/.tmux.conf 3.1 [128] 3.1 引入了 ~/.config/tmux/tmux.conf 並在 3.2 添加了 XDG_CONFIG_HOME/tmux/tmux.conf
tmuxp英語tmuxp ~/.tmuxp 1.5.0 [129] 1.5.2中修復。
tmuxinatorAUR ~/.tmuxinator 2636923 [130]
Transmission ~/.transmission b71a298
util-linux 570b321
yapf a0b51d2 [131] $XDG_CONFIG_HOME/yapf/style
Uzbl英語Uzbl c6fd63a [132]
vim ~/.vim~/.vimrc~/.viminfo c9df1fb [133]
vimb
VirtualBox ~/.VirtualBox 4.3 [134]
vis ~/.vis

68a25c7 d138908

[135]
VLC ~/.vlcrc 16f32e1 [136]
warsow ~/.warsow-2.x 98ece3f [137]
WeeChat英語WeeChat ~/.weechat [138]

3.2

[139] [140][失效連結 2023-05-06 ⓘ]
XDG_CONFIG_HOME/weechat
XDG_CACHE_HOME/weechat
XDG_DATA_HOME/weechat
Wireshark ~/.wireshark b0b53fa[失效連結 2022-09-23 ⓘ]
wxWidgets [141]
XKB ~/.xkb
Xsettingsd ~/.xsettingsd b4999f5
xmobar英語xmobar ~/.xmobarrc 7b0d6bf[失效連結 2024-07-30 ⓘ]

9fc6b37[失效連結 2024-07-30 ⓘ] eaccf70[失效連結 2024-07-30 ⓘ]

[142][失效連結 2024-07-30 ⓘ]

[143][失效連結 2024-07-30 ⓘ]

XDG_CONFIG_HOME/xmobar/xmobarrc
xmonad ~/.xmonad/ 40fc10b

[144] [145]

所有這些都必須存在,否則它會放棄並回退到 ~/.xmonad/
XDG_CACHE_HOME/xmonad
XDG_CONFIG_HOME/xmonad
XDG_DATA_HOME/xmonad

或者,它始終尊重 XMONAD_CACHE_DIRXMONAD_CONFIG_DIRXMONAD_DATA_DIR

xonsh ~/.xonshrc [146] $XDG_CONFIG_HOME/xonsh/rc.xsh
xournalpp ~/.xournalpp

20db937f 1.1.0

[147] [148]

xsel ~/.xsel.log ee7b481 [149]
Zim e42b8b0
 $XDG_CONFIG_HOME/zim/preferences.conf
 $XDG_CONFIG_HOME/zim/notebooks.list
zoxide ~/.zo 0.3.0 [150]

部分支持

應用程式 舊路徑 採用規範自 討論 注釋
abookAUR ~/.abook abook --config "$XDG_CONFIG_HOME"/abook/abookrc --datafile "$XDG_DATA_HOME"/abook/addressbook
ack ~/.ackrc [151] export ACKRC="$XDG_CONFIG_HOME/ack/ackrc"
Ansible英語Ansible ~/.ansible 2.14 [152] [153] [154]
export ANSIBLE_HOME="${XDG_CONFIG_HOME}/ansible"
export ANSIBLE_CONFIG="${XDG_CONFIG_HOME}/ansible.cfg"
export ANSIBLE_GALAXY_CACHE_DIR="${XDG_CACHE_HOME}/ansible/galaxy_cache"
[155]

可以通過在適當的 ansible.cfg 中設置 remote_tmp = ${XDG_CONFIG_HOME}/ansible/tmp 來移動遠程的 ~/.ansible/tmp[156] [157]

asdf-vmAUR ~/.asdfrc~/.asdf/ [158] export ASDF_CONFIG_FILE="${XDG_CONFIG_HOME}/asdf/asdfrc"export ASDF_DATA_DIR="${XDG_DATA_HOME}/asdf"
aspell ~/.aspell.conf [159] 非常不完整。以下內容重新定位了 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 [160] export AWS_SHARED_CREDENTIALS_FILE="$XDG_CONFIG_HOME"/aws/credentialsexport AWS_CONFIG_FILE="$XDG_CONFIG_HOME"/aws/config
bash-completion ~/.bash_completion export BASH_COMPLETION_USER_FILE="$XDG_CONFIG_HOME"/bash-completion/bash_completion
bashdbAUR ~/.bashdbinit~/.bashdb_hist 就像 [161] 中所述,您可以指定一個文件來運行命令。因此,將 init 文件移動到 XDG_CONFIG_HOME/bashdb/bashdbinit 並創建一個別名 alias bashdb='bashdb -x ${XDG_CONFIG_HOME:-$HOME/.config}/bashdb/bashdbinit'。不幸的是,歷史文件是硬編碼的 [162]
bazaar ~/.bazaar~/.bzr.log 2.3.0 [163] 上游錯誤討論指出,如果存在 ~/.config/bazaar,bazaar 將使用它。日誌文件 ~/.bzr.log 可能仍會被寫入。
bogofilter ~/.bogofilter 0.7.5 [164] export BOGOFILTER_DIR="$XDG_DATA_HOME"/bogofilter
btpd-gitAUR ~/.btpd/ [165] btpd -d "$XDG_DATA_HOME"/.btpd

HOME="$XDG_DATA_HOME" btcli

bunAUR ~/.bun/ [166] 當明確設置了 $XDG_CONFIG_HOME$XDG_CACHE_HOME 和/或 $XDG_DATA_HOME 時,Bun 將優先使用它們。或者,可以使用 export BUN_INSTALL="$XDG_DATA_HOME"/bun 來設置 bun 目錄的主位置。
calc ~/.calc_history
export CALCHISTFILE="$XDG_CACHE_HOME"/calc_history
Rust#Cargo ~/.cargo [167] [168] [169] [170] export CARGO_HOME="$XDG_DATA_HOME"/cargo
cataclysm-dda ~/.cataclysm-dda 0.D-1 [171] 由於需要編譯時選項,屬於部分支持。
cd-bookmark ~/.cdbookmark [172] export CD_BOOKMARK_FILE=$XDG_CONFIG_HOME/cd-bookmark/bookmarks

或者使用具有原生 XDG 支持的 fork:[173]

cgdb ~/.cgdb [位於 master 分支,但尚未發布] [174] [175] 設置 export CGDB_DIR=$XDG_CONFIG_HOME/cgdb 並將配置文件移動到 XDG_CONFIG_HOME/cgdb/cgdbrc
chez-schemeAUR ~/.chezscheme_history petite --eehistory "$XDG_DATA_HOME"/chezscheme/history
chktex in texlive-binextra ~/.chktexrc 將配置文件移動到 $XDG_CONFIG_HOME/chktex/.chktexrc(注意前導點)和 export CHKTEXRC=$XDG_CONFIG_HOME/chktex
Chromium ~/.chromium~/.pki 23057 [176] [177] [178] 故意(根據這些來源)破壞 ~/.config,向其中寫入數百兆字節的緩存數據。完全不支持。

Chromium 由於未正確設置 NSS 而創建了 .pki,儘管 NSS 本身現在允許使用 XDG 規範。這導致其下游無法正常工作(Qt WebEngine 尤其影響了許多情況,例如 KMail 等)

cinelerra ~/.bcast5 [179] export CIN_CONFIG="$XDG_CONFIG_HOME"/bcast5
conky ~/.conkyrc 00481ee [180] conky --config="$XDG_CONFIG_HOME"/conky/conkyrc
claws-mail ~/.claws-mail [181] 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英語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 [182] 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 [183] [184] Elixir 並不完全符合 XDG 規範,只有當 MIX_XDG 變量設置為特殊值時,它才會使用 XDG,否則它將默認使用舊路徑。

export MIX_XDG="true"

Elm ~/.elm export ELM_HOME="$XDG_CONFIG_HOME"/elm
factorioAUR ~/.factorio/ [185] [186] Factorio 支持使用配置文件手動指定數據路徑:[187]
__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/ [188] 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 [189]
fzf-gitAUR ~/.fzf.bash~/.fzf.zsh [190] 如果使用 --xdg 調用安裝腳本,則 shell init 文件將安裝到 XDG_CONFIG_HOME/fzf,例如 /usr/local/opt/fzf/install --xdg
emscripten ~/.emscripten~/.emscripten_sanity~/.emscripten_ports~/.emscripten_cache__last_clear [191] 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
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"
ghc ~/.ghci [192] [193] 上游版本從 9.4.1 開始支持 [194],但截至 2022-09-24,Arch 軟體包為 9.0.2 且尚未更新。
ghcup-hs-binAUR ~/.ghcup [195] [196] export GHCUP_USE_XDG_DIRS=true

環境變量 GHCUP_USE_XDG_DIRS 可以設置為任何非空值。請參閱 [197]

glivAUR ~/.glivrc gliv --glivrc="$XDG_CONFIG_HOME"/gliv/glivrc
gnuradio ~/.gnuradio [198] GNU Radio:

export GR_PREFS_PATH="$XDG_CONFIG_HOME"/gnuradio

GNU Radio Companion: export GRC_PREFS_PATH="$XDG_CONFIG_HOME"/gnuradio/grc.conf

GnuPG ~/.gnupg [199] [200] export GNUPGHOME="$XDG_DATA_HOME"/gnupggpg2 --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 的輸出,而不是某些硬編碼值。

Go ~/go [201] export GOPATH="$XDG_DATA_HOME"/goexport GOMODCACHE="$XDG_CACHE_HOME"/go/mod

如果未設置 GOMODCACHE,則默認為 $GOPATH/pkg/mod(參見 [202])。 支持 GOCACHE,默認為 $XDG_CACHE_HOME/go-build(參見 [203])。

Google Earth ~/.googleearth 可以使用 ~/.config/Google/GoogleEarthPlus.conf 中的 KMLPathCachePath 選項更改某些路徑。
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"/gqrcexport GQSTATE="$XDG_DATA_HOME"/gq/gq-statemkdir -p "$(dirname "$GQSTATE")"
Gradle英語Gradle ~/.gradle [204]

[205]

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 中是硬編碼的,但作為一個輸出文件,這些設置可以被反覆移動到該位置。

hledger ~/.hledger.journal [206] export LEDGER_FILE="$XDG_DATA_HOME"/hledger.journal
Houdini ~/houdiniMAJOR.MINOR) [207]

[208]

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 [209] irssi --config="$XDG_CONFIG_HOME"/irssi/config --home="$XDG_DATA_HOME"/irssi
isync英語isync ~/.mbsyncrc [210] mbsync -c "$XDG_CONFIG_HOME"/isync/mbsyncrc
Java#OpenJDK ~/.java/.userPrefs [211] export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
jupyter ~/.jupyter 5.0.0rc0 [212] [213] 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 [214])

python-jupyter-core >= v6.0.0:完整支持(通過python-platformdirs),默認開啟

k9s ~/.k9s 0.20.4 [215] export K9SCONFIG="$XDG_CONFIG_HOME"/k9s
KDE ~/.kde~/.kde4 [216] export KDEHOME="$XDG_CONFIG_HOME"/kde
keychain ~/.keychain [217] [218] keychain --absolute --dir "$XDG_RUNTIME_DIR"/keychain
kodi ~/.kodi [219] [220] KODI_DATA=$XDG_DATA_HOME/kodi
kscriptAUR ~/.kscript [221] export KSCRIPT_CACHE_DIR="$XDG_CACHE_HOME"/kscript
ledger ~/.ledgerrc~/.pricedb [222] ledger --init-file "$XDG_CONFIG_HOME"/ledgerrc
Leiningen英語Leiningen ~/.lein~/.m2 export LEIN_HOME="$XDG_DATA_HOME"/lein

要更改 Leiningen 使用的 m2 倉庫位置,請參閱:Leiningen#m2 倉庫位置英語Leiningen#m2 repo location

libdvdcss ~/.dvdcss [223] export DVDCSS_CACHE="$XDG_DATA_HOME"/dvdcss
libice ~/.ICEauthority [224] export ICEAUTHORITY="$XDG_CACHE_HOME"/ICEauthority

確保提前設置 XDG_CACHE_HOME,使其指向運行 Xorg 的用戶有寫權限的目錄。

不要使用 XDG_RUNTIME_DIR,因為它是在登錄之後才可用的。否則啟動 Xorg 的顯示管理器(如 GDM)將會反覆失敗。

LibreOffice [225] LibreOffice 將所有數據存儲在 $XDG_CONFIG_HOME/libreoffice/4/user/ 目錄下,包括運行時文件、用戶數據、緩存和擴展。其中一些路徑可以在工具(T) > 選項(O)⋯ > LibreOffice > 路徑中進行更改。
libx11 ~/.XCompose~/.compose-cache export XCOMPOSEFILE="$XDG_CONFIG_HOME"/X11/xcomposeexport XCOMPOSECACHE="$XDG_CACHE_HOME"/X11/xcompose
ltrace ~/.ltrace.conf ltrace -F "$XDG_CONFIG_HOME"/ltrace/ltrace.conf
lynx /etc/lynx.cfg export LYNX_CFG="$XDG_CONFIG_HOME"/lynx.cfg
m17n-db ~/.m17n.d [226]
maptool-binAUR ~/.maptool-rptools [227]
/opt/maptool/lib/app/MapTool.cfg
[JavaOptions]
-DMAPTOOL_DATADIR=.local/share/maptool-rptools

但是,沒有辦法改變這個配置文件的位置。

maven ~/.m2 [228] export MAVEN_OPTS=-Dmaven.repo.local="$XDG_DATA_HOME"/maven/repository

mvn -gs "$XDG_CONFIG_HOME"/maven/settings.xml並在 settings.xml 中根據需要設置 <localRepository>

Mathematica ~/.Mathematica export MATHEMATICA_USERBASE="$XDG_CONFIG_HOME"/mathematica
maxima ~/.maxima export MAXIMA_USERDIR="$XDG_CONFIG_HOME"/maxima
mednafen ~/.mednafen export MEDNAFEN_HOME="$XDG_CONFIG_HOME"/mednafen
minikube ~/.minikube [229] export MINIKUBE_HOME="$XDG_DATA_HOME"/minikube

無論出於什麼原因,這會在 MINIKUBE_HOME 中創建一個額外的 .minikube 目錄。

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"/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 [230]
/etc/mtpaint/mtpaintrc
userINI = ~/.config/mtpaint
mypy ~/.config/mypy/config~/.mypy.ini~/.mypy_cache v0.670 [231] [232] XDG_CONFIG_HOME/mypy/configexport MYPY_CACHE_DIR="$XDG_CACHE_HOME"/mypy
MySQL ~/.mysql_history~/.my.cnf ~/.mylogin.cnf export MYSQL_HISTFILE="$XDG_DATA_HOME"/mysql_history

~/.my.cnf 僅支持 mysql-server,不支持 mysql-client [233]

~/.mylogin.cnf 不支持。

mysql-workbench ~/.mysql/workbench 您可以使用 --configdir 標誌運行 MySQL Workbench,例如 mysql-workbench --configdir="$XDG_DATA_HOME/mysql/workbench"。該目錄需要手動創建,因為 MySQL Workbench 默認位置是 $HOME/.mysql/workbench
ncurses ~/.terminfo 排除系統路徑搜索:

export TERMINFO="$XDG_DATA_HOME"/terminfoexport TERMINFO_DIRS="$XDG_DATA_HOME"/terminfo:/usr/share/terminfo

n /usr/local/n export N_PREFIX=$XDG_DATA_HOME/n
ncmpc ~/.ncmpc ncmpc -f "$XDG_CONFIG_HOME"/ncmpc/config
Netbeans英語Netbeans ~/.netbeans [234] netbeans --userdir "${XDG_CONFIG_HOME}"/netbeans
Node.js ~/.node_repl_history [235] export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
npm ~/.npm~/.npmrc [236] 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 是不必要的(且不受支持)。

opam ~/.opam [237] export OPAMROOT="$XDG_DATA_HOME/opam"

配置和狀態數據都存儲在 OPAMROOT 中,因此該解決方案不完全兼容。

PuTTY英語PuTTY ~/.putty/ 9952b2d 如果已存在,將使用 $XDG_CONFIG_HOME/putty。如果不存在,則創建 ~/.putty。如果兩者都存在,則優先使用 $XDG_CONFIG_HOME/putty。已在 0.74 中測試。
python-easyocrAUR ~/.EasyOCR export EASYOCR_MODULE_PATH="$XDG_CONFIG_HOME/EasyOCR"
spotdlAUR ~/.spotdl v4.0.6 (3929cae) [238] mkdir "$XDG_DATA_HOME"/spotdl
nuget ~/.nuget/packages [239] export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
NVIDIA ~/.nv 如果設置則使用 XDG_CACHE_HOME,否則不正確地回退到 ~/.nv 而不是 ~/.cache
nvidia-settings ~/.nvidia-settings-rc [240] nvidia-settings --config="$XDG_CONFIG_HOME"/nvidia/settings
nvmAUR ~/.nvm export NVM_DIR="$XDG_DATA_HOME"/nvm
Octave ~/octave~/.octave_packages~/.octave_hist export OCTAVE_HISTFILE="$XDG_CACHE_HOME/octave-hsts"export OCTAVE_SITE_INITFILE="$XDG_CONFIG_HOME/octave/octaverc"
$XDG_CONFIG_HOME/octave/octaverc
source /usr/share/octave/site/m/startup/octaverc;
pkg prefix ~/.local/share/octave/packages ~/.local/share/octave/packages;
pkg local_list /home/<your username>/.local/share/octave/octave_packages;

local_list 選項必須給出絕對路徑。

omnisharp-roslyn-binAUR ~/.omnisharp/ [241] [242] export OMNISHARPHOME="$XDG_CONFIG_HOME/omnisharp"
openscad ~/.OpenSCAD 7c3077b0f [243] 不完全遵守 XDG 基本目錄規範,請參閱 [244]

目前它硬編碼 ~/.local/share

packettracerAUR ~/.packettracer~/packettracer/ 具有 GUI 配置來更改 PT 安裝目錄,~/packettracer/選項 > 首選項 > 管理 > 用戶文件夾)。此路徑寫入文件 ~/.packettracer
parallel ~/.parallel 20170422 export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel
pass ~/.password-store export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
Phive ~/.phive [245]

以及 [246][247]

從 0.14.5 開始,可以移動整個數據目錄。

export PHIVE_HOME="$XDG_DATA_HOME/phive"

Pidgin ~/.purple [248] pidgin --config="$XDG_DATA_HOME"/purple
platformio-core ~/.platformio [249] export PLATFORMIO_CORE_DIR="$XDG_DATA_HOME"/platformio
PostgreSQL ~/.psqlrc~/.psql_history~/.pgpass~/.pg_service.conf 9.2 [250] [251] 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"

PulseAudio ~/.esd_auth 很可能是由 module-esound-protocol-unix.so 模塊生成的。可以將其配置為使用不同的位置,但更有意義的是,在 /etc/pulse/default.pa"$XDG_CONFIG_HOME"/pulse/default.pa 中注釋掉此模塊。
pyenv ~/.pyenv [252] [253] export PYENV_ROOT=$XDG_DATA_HOME/pyenv
azure-cli ~/.azure export AZURE_CONFIG_DIR=$XDG_DATA_HOME/azure
python ~/.python_history v3.13 [254] [255] [256] 版本 3.4 起,所有交互式會話的歷史記錄默認保存到 ~/.python_history,自 3.13 起,保存到 PYTHON_HISTORY。您仍可以像在舊版本中一樣自定義此功能(請參閱此示例),包括使用自定義路徑禁用歷史記錄保存

PYTHON_HISTORYexport PYTHON_HISTORY=$XDG_STATE_HOME/python/history PYTHONPYCACHEPREFIXexport PYTHONPYCACHEPREFIX=$XDG_CACHE_HOME/python PYTHONUSERBASEexport PYTHONUSERBASE=$XDG_DATA_HOME/python

python-gripAUR ~/.grip export GRIPHOME="$XDG_CONFIG_HOME/grip"
python-setuptools ~/.python-eggs export PYTHON_EGG_CACHE="$XDG_CACHE_HOME"/python-eggs
racket ~/.racketrc~/.racket [257] export PLTUSERHOME="$XDG_DATA_HOME"/racket
rbenvAUR ~/.rbenv [258] [259] export RBENV_ROOT="$XDG_DATA_HOME"/rbenv
nodenvAUR ~/.nodenv export NODENV_ROOT="$XDG_DATA_HOME"/nodenv
readline ~/.inputrc export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
recoll ~/.recoll export RECOLL_CONFDIR="$XDG_CONFIG_HOME/recoll"
redis英語redis ~/.rediscli_history~/.redisclirc export REDISCLI_HISTFILE="$XDG_DATA_HOME"/redis/rediscli_historyexport REDISCLI_RCFILE="$XDG_CONFIG_HOME"/redis/redisclirc
ripgrep [260] export RIPGREP_CONFIG_PATH=$XDG_CONFIG_HOME/ripgrep/config
rlwrap ~/.*_history [261] 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/ [262] export SOLARGRAPH_CACHE=$XDG_CACHE_HOME/solargraph
ruff .ruff_cache [263] export RUFF_CACHE_DIR=$XDG_CACHE_HOME/ruff
Rust#Rustup ~/.rustup [264] export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
sbt ~/.sbt

~/.ivy2

[265] sbt -ivy "$XDG_DATA_HOME"/ivy2 -sbt-dir "$XDG_DATA_HOME"/sbt(注意 [266]
SageMath ~/.sage export DOT_SAGE="$XDG_CONFIG_HOME"/sage
GNU Screen ~/.screenrc

~/.screen/

export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrcexport SCREENDIR="${XDG_RUNTIME_DIR}/screen"
simplescreenrecorderAUR ~/.ssr/ 0.4.3 [267]

[268]

僅當已創建時才會使用 $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 [269] [270] 移動 ~/.spacemacs 文件。

export SPACEMACSDIR="$XDG_CONFIG_HOME"/spacemacsmv ~/.spacemacs "$SPACEMACSDIR"/init.el

其他文件需要像 Emacs 一樣進行配置。

starship ~/.config/starship~/.cache/starship [271] (v0.2.0),[272] (v0.45.0) [273] export STARSHIP_CONFIG="$XDG_CONFIG_HOME"/starship.tomlexport STARSHIP_CACHE="$XDG_CACHE_HOME"/starship
subversion ~/.subversion [274] [275][276] alias svn="svn --config-dir \"$XDG_CONFIG_HOME\"/subversion"
sudo ~/.sudo_as_admin_successful 1.9.6 [277] [278] 僅在編譯時激活時存在(默認無)。自 1.9.6 起,可以在 /etc/sudoers 中使用 admin_flag 參數。
task ~/.task~/.taskrc export TASKDATA="$XDG_DATA_HOME"/taskexport TASKRC="$XDG_CONFIG_HOME"/task/taskrc}},在 2.6 版中完全支持(請注意,$XDG_CONFIG_HOME/task/taskrc 必須存在,否則即使設置了 $XDG_CONFIG_HOME,taskwarrior 也會在舊的 $HOME/.taskrc 位置創建示例配置 [279][280]
本地 TeX Live TeXmf 樹、TeXmf 緩存和配置 ~/texmf~/.texlive/texmf-var~/.texlive/texmf-config export TEXMFHOME=$XDG_DATA_HOME/texmfexport TEXMFVAR=$XDG_CACHE_HOME/texlive/texmf-varexport TEXMFCONFIG=$XDG_CONFIG_HOME/texlive/texmf-config
TeXmacs ~/.TeXmacs export TEXMACS_HOME_PATH=$XDG_STATE_HOME/texmacs
tiptopAUR ~/.tiptoprc 這仍然需要 .tiptoprc 文件。

tiptop -W "$XDG_CONFIG_HOME"/tiptop

ruby-travisAUR ~/.travis/ [281] export TRAVIS_CONFIG_PATH=$XDG_CONFIG_HOME/travis
uncrustify ~/.uncrustify.cfg export UNCRUSTIFY_CONFIG="$XDG_CONFIG_HOME"/uncrustify/uncrustify.cfg
Unison ~/.unison export UNISON="$XDG_DATA_HOME"/unison
unitsAUR ~/.units_history units --history "$XDG_CACHE_HOME"/units_history
urxvtd英語rxvt-unicode/Tips and tricks#Daemon-client ~/.urxvt/urxvtd-hostname export RXVT_SOCKET="$XDG_RUNTIME_DIR"/urxvtd
Vagrant英語Vagrant ~/.vagrant.d~/.vagrant.d/aliases [282] export VAGRANT_HOME="$XDG_DATA_HOME"/vagrantexport VAGRANT_ALIAS_FILE="$XDG_DATA_HOME"/vagrant/aliases
vint ~/.vintrc.yaml.vintrc.yml.vintrc 0f741ac2c [283] 文檔未記錄,但代碼顯示 $XDG_CONFIG_HOME/.vintrc.yaml 應該可以工作
virtualenv英語virtualenv ~/.virtualenvs export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
Visual Studio Code ~/.vscode-oss/ [284] 您可以使用 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"。這已記錄在文檔中並有其他用例,不大可能意外中斷。

VSCodiumAUR ~/.vscode-oss/ [285] [286] 您可以使用 --extensions-dir 標誌運行 VSCodium,例如 vscodium --extensions-dir "$XDG_DATA_HOME/vscode"。但這不會阻止創建 ~/.vscode-oss/ 目錄。
w3m ~/.w3m 26284ff [287] [288] export W3M_DIR="$XDG_STATE_HOME/w3m"
wakatime ~/.wakatime.cfg~/.wakatime.data~/.wakatime.db~/.wakatime.log export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime"

該目錄需要手動創建

mkdir "$XDG_CONFIG_HOME/wakatime"

wget ~/.wgetrc, ~/.wget-hsts export WGETRC="$XDG_CONFIG_HOME/wgetrc" 並將以下內容添加為 wget 的別名:wget --hsts-file="$XDG_CACHE_HOME/wget-hsts",或者使用絕對路徑設置 hsts-file 變量,因為 wgetrc 不支持環境變量:echo hsts-file \= "$XDG_CACHE_HOME"/wget-hsts >> "$XDG_CONFIG_HOME/wgetrc"
wine ~/.wine [289] Winetricks 使用以下類似 XDG 的位置進行 WINEPREFIX 管理:

mkdir -p "$XDG_DATA_HOME"/wineprefixes, export WINEPREFIX="$XDG_DATA_HOME"/wineprefixes/default

x3270AUR ~/.x3270pro~/.c3270pro export X3270PRO="$XDG_CONFIG_HOME"/x3270/configexport C3270PRO="$XDG_CONFIG_HOME"/c3270/config

應用程式還創建了 ~/.x3270connect 但該目錄目前不支持使用 XDG。

xbindkeys英語xbindkeys ~/.xbindkeysrc xbindkeys -f "$XDG_CONFIG_HOME"/xbindkeys/config
xorg-xauth ~/.Xauthority export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority

請注意,LightDM 不允許您更改此變量。如果您仍然更改它,您將無法登錄。請改用 startx配置 LightDM。根據 [290]SLiM 已硬編碼 ~/.Xauthority

SDDM Xauthority 路徑可以在其自己的配置文件中更改,如下所示。不幸的是,它是相對於主目錄的。

/etc/sddm.conf.d/xauth-path.conf
[X11]
UserAuthFile=.Xauthority

在 Wayland 上,覆蓋此設置可能會導致 Xorg 程序無法連接到 Xwayland 伺服器。例如,kwinmutter 都使用隨機名稱,因此無法將其設置為靜態值。

xinit ~/.xinitrc~/.xserverrc [291] export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrcexport XSERVERRC="$XDG_CONFIG_HOME"/X11/xserverrc
xorg-xrdb ~/.Xresources~/.Xdefaults 最終您 應該 使用 Xresources,並且由於這些資源是通過 xrdb 加載的,因此您可以指定一個路徑,例如 xrdb -load ~/.config/X11/xresources
Xorg ~/.xsession~/.xsessionrc~/.Xsession~/.xsession-errors 這些可以作為 Xorg 初始化腳本 (~/.xinitrc) 或 Xsession 啟動腳本 (通常基於 /etc/X11/Xsession) 的一部分添加。

根據您配置 $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 啟動腳本在安裝之間會有很大差異。

z ~/.z [292] export _Z_DATA="$XDG_DATA_HOME/z"
yarn ~/.yarnrc~/.yarn/~/.yarncache/~/.yarn-config/ 2d454b5 [293] [294] alias yarn='yarn --use-yarnrc "$XDG_CONFIG_HOME/yarn/config"'
zsh ~/.zshrc~/.zprofile~/.zshenv~/.zlogin~/.zlogout~/.histfile~/.zcompdump~/.zcompcache [295] export ZDOTDIR=$HOME/.config/zsh 以避免在主目錄中的大多數 zsh dotfiles
.config/zsh/.zshrc
HISTFILE="$XDG_STATE_HOME"/zsh/history
# 代碼補全文件:使用 XDG 目錄
[ -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/ [296]
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 [297] [298] [299]
anthy ~/.anthy [300]
Apache Directory Studio ~/.ApacheDirectoryStudio
ARandR ~/.screenlayout [301]
Arduino ~/.arduino15~/.jssc 不會修復
arduino-cli ~.arduino15/ [302] 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 [303]
Avidemux ~/.avidemux6 [304]
Bash ~/.bashrc~/.bash_history~/.bash_profile~/.bash_login~/.bash_logout 108134 10431 mkdir -p "$XDG_STATE_HOME"/bash

export HISTFILE="$XDG_STATE_HOME"/bash/history

bashrc 可從 /etc/bash.bashrc 中的不同位置獲取。 對於交互式 shell,請指定 --init-file <file> 作為 ~/.bashrc 的替代。

borgmatic英語borgmatic ~/.borgmatic/ [305] 在您的 config.yaml 中設置 borgmatic_source_directory: ~/.local/state/borgmatic。這可能會破壞恢復,請參閱討論。
Berkshelf英語Chef ~/.berkshelf/
chattyAUR ~/.chatty/ [306]
cmake ~/.cmake/ [307] 用於用戶包註冊表 ~/.cmake/packages/<package>,詳見 cmake-packages(7) § User Package RegistryPackage registry wiki 頁面。看起來像是硬編碼的,例如在 cmFindPackageCommand.cxx
cmus ~/.config/cmus [308] [309]
Cinnamon ~/.cinnamon/ [310]
conanAUR ~/.conan/ [311] export CONAN_USER_HOME="$XDG_CONFIG_HOME" 將設置創建 .conan/ 的目錄。它是 旨在簡化 CI,但也可以在這裡使用。
cryptomatorAUR ~/.Cryptomator [312]
cVim[失效連結 2022-09-23 ⓘ] ~/.cvimrc [313]
darcs英語darcs ~/.darcs/ [314]
dart ~/.dart~/.dart-tool~/.dartServer [315]
dbus ~/.dbus/ [316] 考慮使用 dbus-broker,因為它不會創建或使用該目錄。
devede ~/.devedeng 此處硬編碼
Dia ~/.dia/
dig ~/.digrc
dotnet-sdk ~/.dotnet/~/.templateengine [317]
dropbox ~/.dropbox/
Eclipse ~/.eclipse/ [318] 選項 -Dosgi.configuration.area=@user.home/.config/.. 可覆蓋,但必須添加到 "$ECLIPSE_HOME"/eclipse.ini" 而不是命令行,這意味著您必須具有對 $ECLIPSE_HOME 的寫權限。(Arch Linux 在 /usr/bin/eclipse 中對 $ECLIPSE_HOME 進行硬編碼。)
emacs-slime ~/.slime/ [319]

[320]

equalxAUR ~/.equalx/ [321]
Fetchmail ~/.fetchmailrc
Firefox ~/.mozilla/ [322] [323]
Flatpak ~/.var/ [324] [325] 不會修復
freesweep ~/.sweeprc [326]
gftpAUR ~/.gftp/ [327] gftp 計劃遵循 XDG 規範。
gitkrakenAUR ~/.gitkraken/ [328]
GoldenDict ~/.goldendict/ [329]
gphoto2 ~/.gphoto [330]
gramps ~/.gramps/ [331] 2022 支持 XDG 基礎目錄規範(針對下一版本 Gramps 5.2)⸺補丁 https://github.com/gramps-project/gramps/pull/1368
groovy ~/.groovy/
grsync ~/.grsync/ [332]
google-cloud-cliAUR ~/.gsutil/ [333]
gtk-recordMyDesktop ~/.gtk-recordmydesktop
hplip ~/.hplip/ [334]
hydrogen ~/.hydrogen/ [335]
idris ~/.idris [336]
itch-setup-binAUR ~/.itch 不會修復 您可以在應用程式設置中移動遊戲安裝位置。
Jmol ~/.jmol/ [337]
lbdbAUR ~/.lbdbrc~/.lbdb/ [338]
llpp英語llpp ~/.config/llpp.conf [339][失效連結 2022-09-23 ⓘ](存儲庫已刪除) 3ab86f0 中添加,但隨後在舊倉庫:e253c9f1/新倉庫:e253c9f1 中恢復
Java OpenJDK ~/.java/fonts [340] export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
Java OpenJFX ~/.java/webview
jgmenu ~/.jgmenu-lockfile [341] [342]
jitsi-meetAUR ~/Downloads libjitsi#518 下載目錄硬編碼為 ~/Downloads 而不是 XDG_DOWNLOAD_DIR (來自 XDG 用戶目錄)。
julia ~/.juliarc.jl~/.julia_history~/.julia [343] [344] 尾隨的 :$JULIA_DEPOT_PATH 是必需的。請參閱 [345]
export JULIA_DEPOT_PATH="$XDG_DATA_HOME/julia:$JULIA_DEPOT_PATH"
export JULIAUP_DEPOT_PATH="$XDG_DATA_HOME/julia"
kotlin ~/.kotlinc_history 相關 Konan 問題:[346]
Kubernetes英語Kubernetes ~/.kube/ [347][348][349]
export KUBECONFIG="$XDG_CONFIG_HOME/kube" 
export KUBECACHEDIR="$XDG_CACHE_HOME/kube"
elan-leanAUR ~/.elan [350]
librewolfAUR ~/.mozilla

~/.librewolf

[351]
lldb ~/.lldb~/.lldbinit
LMMS英語LMMS ~/.lmmsrc.xml [352]
man-db ~/.manpath [353]
mathomatic ~/.mathomaticrc~/.matho_history 可以使用 rlwrap mathomatic -r 並適當設置 RLWRAP_HOME 環境來移動歷史記錄。
MediaWiki ~/.mweval_history and ~/.mwsql_history (if $HOME is defined) 如果未定義 $HOME:[MediaWiki]/maintenance/.mweval_history[MediaWiki]/maintenance/.mwsql_history

由維護腳本 eval.phpsql.php 生成。

Minecraft ~/.minecraft/ 不會修復
Minetest英語Minetest ~/.minetest/ 不會修復 [354]
minicom ~/.minirc.dfl Upstream 在 ~/.config/minicom 下有一個用於支持配置文件的 TODO 條目。[355]
Mono ~/.mono/ [356]
mongodb ~/.mongorc.js~/.dbshell [357] 這個 Stack Overflow 線程 建議使用命令行開關 --norc 來實現部分解決方法。
~/.netrc ~/.ssh 一樣,許多程序都希望此文件在此處。其中包括 curl (CURLOPT_NETRC_FILE)、ftp (NETRC)、s-nail (NETRC) 等項目。雖然其中一些提供了可配置的替代位置,但許多程序沒有提供,例如 w3m、wget 和 lftp。
nim ~/.nimble [358]

[359]

Nimble 將在啟動時 嘗試加載 ~/.config/nimble/nimble.ini,在那裡設置 nimbleDir。您還必須在 Nim 編譯器 配置文件 中更改 nimblepath
nmcli ~/.nmcli-history [360] 硬編碼為 g_get_home_dir()[361] [362]
Networkmanager-openvpn英語Networkmanager-openvpn ~/.cert/nm-openvpn [363]
nyx ~/.nyx 該項目目前不再維護。
ollama ~/.ollama [364] 可以使用以下命令設置模型位置:

export OLLAMA_MODELS=$XDG_DATA_HOME/ollama/models

來源:[365]

openshot ~/.openshot_qt [366] [367]
OpenSSH ~/.ssh 不會修復 假定許多 ssh 守護進程和客戶端(例如 DropBear 和 OpenSSH)都存在。
palemoon ~/.moonchild productions [368]
parsec-binAUR ~/.parsec
pcsxrAUR ~/.pcsxr 存在 -cfg 標誌,但只能相對於 ~/.pcsxr 進行設置。
perf ~/.debug 硬編碼在 tools/perf/util/config.c。提交:[369]
perl英語perl ~/.cpan~/perl5 [370] Perl5 的 CPAN 需要 ~/.cpan
phoronix-test-suiteAUR ~/.phoronix-test-suite [371] 部分解決方法:[372]
PHP ~/.php_history [373] PHP 應用程式可以使用 readline_read_history ​​和 readline_write_history ​​讀取/寫入自定義文件。
portfolio-performance-binAUR ~/.PortfolioPerformance/ [374]
various shells and display managers ~/.profile
psensor ~/.psensor [375]
pulumi ~/.pulumi [376]
python-tensorflow ~/.keras [377] 這個問題是關於 tf.keras 模塊的。
quilt ~/.quiltrc 如果 ~/.quiltrc 不存在,則返回 /etc/quilt.quiltrc
Qt Designer ~/.designer [378]
R英語R ~/.Rprofile~/.Rdata~/.Rhistory
R_HOME_USER="$HOME/.config/R"
R_PROFILE_USER="$HOME/.config/R/profile"
R_HISTFILE="$HOME/.config/R/history"
RedNotebook ~/.rednotebook [379]
Remarkable ~/.remarkable
renderdoc ~/.renderdoc 不會修復
Ren'Py ~/.renpy 不會修復 最新版本尊重 RENPY_PATH_TO_SAVES 環境變量。因此您可以設置它來更改某些遊戲的路徑。
export RENPY_PATH_TO_SAVES="$XDG_DATA_HOME/renpy"
repo ~/.repoconfig [380]
rpm英語rpm ~/.rpmrc ~/.rpmmacros Backlog 解決方法是使用 --rcfile 和 --macros,但這會產生副作用。
SANE ~/.sane/ scanimage 在該目錄創建一個 .cal 文件。
sbcl ~/.sbclrc
/etc/sbclrc
(require :asdf)
(setf sb-ext:*userinit-pathname-function*
      (lambda () (uiop:xdg-config-home #P"sbcl/sbclrc")))

請注意,這需要 root 權限,並將更改所有用戶的 ~/.sbclrc 位置。可以通過檢查 lambda 表單中是否存在 ~/.sbclrc 來緩解此問題。

SeaMonkey ~/.mozilla/seamonkey [381]
Signal Desktop [382] 目前將消息保存在 ~/.config/Signal
Snap ~/snap/ [383]
Solfege ~/.solfege, ~/.solfegerc, ~/lessonfiles [384]
SpamAssassin ~/.spamassassin
Steam ~/.steam, ~/.steampath, ~/.steampid [385] 許多遊戲引擎(Unity 3D、Unreal)都遵循該規範,但個別遊戲發行商會對 Steam Auto-Cloud 中的路徑進行硬編碼,導致遊戲保存同步到錯誤的目錄。
stremioAUR ~/.stremio-server/ [386]
sts4 ~/.sts4 [387] 傳遞 JVM 參數 -Dlanguageserver.boot.symbolCacheDir=$XDG_CACHE_HOME/sts4/symbolCache
python-streamlitAUR ~/.streamlit [388]
sweethome3d ~/.eteks/sweethome3d [389]
python-sympy ~/.sympy-history [390]
TeamSpeak英語TeamSpeak ~/.ts3client export TS3_CONFIG_DIR="$XDG_CONFIG_HOME/ts3client"
terraform ~/.terraform.d/ [391]
texinfo ~/.infokey info --init-file "$XDG_CONFIG_HOME/infokey"
Thunderbird ~/.thunderbird/ [392]
TigerVNC ~/.vnc [393]
tllocalmgr ~/.texlive
urlviewAUR ~/.urlview 改用 fork urlview-xdg-gitAUR。Fork 將使用 XDG_CONFIG_HOME/urlview/config
vale ~/.vale.ini 不會修復 vale --config "$XDG_CONFIG_HOME/vale/config.ini"
viberAUR ~/.ViberPC
vimperator ~/.vimperatorrc [394] export VIMPERATOR_INIT=":source $XDG_CONFIG_HOME/vimperator/vimperatorrc"

export VIMPERATOR_RUNTIME="$XDG_CONFIG_HOME"/vimperator

visidata ~/.visidata [395]
wpa_cli ~/.wpa_cli_history
wegoAUR ~/.wegorc [396]
x2goclientAUR ~/.x2goclient alias x2goclient="x2goclient --home=$HOME/.config"
xpdf ~/.xpdfrc
xrdpAUR ~/thinclient_drives 對於目錄 ~/thinclient_drives,您可以考慮編輯 /etc/xrdp/sesman.ini 並按照示例配置修改部分 [Chansrv]
XVim2 ~/.xvimrc [397]
YARD ~/.yard [398] 如果有人想實現它,將會接受 PR。
zenmap nmap ~/.zenmap [399] [400]
zoomAUR ~/.zoom 不推薦:設置以下變量會移動 .zoom 的內容,但目錄本身始終會創建。此外,它會破壞某些功能,例如無法開始會議。export SSB_HOME="$XDG_DATA_HOME"/zoom
zotero-binAUR ~/.zotero ~/Zotero [401]

工具

工具 xdg-ninjaAUR 可檢測 $HOME 中可移動到 XDG 基本目錄的不需要的文件/目錄。請參閱 README 了解示例。

工具 boxxy 可用於包裝不遵守 XDG 基本目錄的應用程式並重定向任何不需要的文件。

工具 ephemeral 可用於將通常位於 XDG_CONFIG_HOME 中的 chromium/electron 緩存連結到 XDG_CACHE_HOME 中的位置。

C
libXDGdirs
libxdg-basedir
C99:Cloudef的簡單實現.
C++
xdg-utils-cxx
xdgpp
Go
adrg/xdg
go-appdir(棄用,已歸檔)
configdir(棄用,已歸檔)
kyoh86/xdg(棄用,已歸檔)
Haskell
自 1.2.3.0 ab9d0810ce 起正式位於 directory
xdg-basedir
JVM
Java、Kotlin、Clojure、Scala⋯⋯
directories-jvm
Perl
File-BaseDir
Python
pyxdg
appdirs(已廢棄)
platformdirs
Ruby
bkuhlmann/xdg
rubyworks/xdg(棄用,已廢棄)
Rust
directories-rs
rust-xdg
Swift
swift-xdg
Vala
通過 GLib.Environment 提供內置支持。
參見 get_user_cache_dirget_user_data_dirget_user_config_dir 等。

提示與技巧

隱藏不需要的目錄

對於無法重新定位的目錄,某些桌面環境(例如 KDE)允許您隱藏它們:

$ echo path >> ~/.hidden

path 是文件/目錄的路徑,相對於 .hidden 的父目錄。

參見