XDG Base Directory
関連記事
この記事では2003年に導入された XDG Base Directory Specification を使用しているソフトウェアを整理しています。ここでは一般的に使われているドットファイルと対応状態を並べて仕様がどれだけ使われているか示します。Base Directory Specification に対応していないソフトウェアについては、擬似的に対応させる方法を説明します。
ただし環境変数やコンパイルオプションに保存されているコードを実行したり、ソースにパッチを適用したりする方法は除外します。設定はあくまでシステム間で相互運用できるべきでありコンパイルオプションを使ってしまうと使用が制限されるためです。
目次
XDG Base Directory Specification
フルスペック を読んでください。このセクションでは概要だけを抽出しています。
デフォルトでは pam_systemd によって XDG_RUNTIME_DIR
だけが設定されます。既存のディレクトリの絶対パスを使って明示的に他の変数を定義するかどうかはユーザー次第です。
ユーザーディレクトリ
XDG_CONFIG_HOME
- ユーザー個別の設定が書き込まれるディレクトリ (
/etc
と類似)。 - デフォルトは
$HOME/.config
です。
- ユーザー個別の設定が書き込まれるディレクトリ (
XDG_CACHE_HOME
- ユーザー個別の重要でない (キャッシュ) データが書き込まれるディレクトリ (
/var/cache
と類似)。 - デフォルトは
$HOME/.cache
です。
- ユーザー個別の重要でない (キャッシュ) データが書き込まれるディレクトリ (
XDG_DATA_HOME
- ユーザー個別のデータファイルが書き込まれるディレクトリ (
/usr/share
と類似)。 - デフォルトは
$HOME/.local/share
です。
- ユーザー個別のデータファイルが書き込まれるディレクトリ (
XDG_RUNTIME_DIR
- ソケットや名前付きパイプなどのような必須でないユーザー個別のデータファイルに使われます。
- デフォルト値は必ずしも設定する必要はありません。設定されていない場合は警告が表示されます。
- ディレクトリの所有者がユーザーでアクセスモードが
0700
である必要があります。 - OS の標準機能だけで動作するファイルシステムを使用します。
- ローカルファイルシステム上に存在する必要があります。
- 定期的にファイルが消去される可能性があります。
- 永続的に保持したい場合は6時間毎に変更を加えるかスティッキービットを設定します。
- ユーザーがログインしている値だけ存在します。
- tmpfs でマウントされることもあるので巨大なファイルは保存できません。
システムディレクトリ
XDG_DATA_DIRS
:
でディレクトリを区切ります (PATH
と類似)。- デフォルトは
/usr/local/share:/usr/share
です。
XDG_CONFIG_DIRS
:
でディレクトリを区切ります (PATH
と類似)。- デフォルトは
/etc/xdg
です。
貢献
ソフトウェアを追加するときは適切なセクションを使ってください。
コードの評価 (vim や VIMINIT
など)、パッチやコンパイルオプションが必要な方法、あるいはハードコードと考えられる方法は載せるべきではありません。また、Haskell の cabal や Eclipse など難しい方法もハードコードとして扱います。
- 1番目のカラムはプロジェクト名です。できればコマンド名にしてください。ソフトウェアのウェブサイトか適切な wiki の記事にリンクさせます。
- 2番目のカラムはプロジェクトが使用するレガシーなファイルやディレクトリです。もはや読み込まれない場合でも確認できるように記述してください。
- 3番目のカラムは XDG Base Directory に切り替わったプロジェクトのコミットあるいはバージョンです。4番目のカラムにはその議論がある場合にリンクを載せてください。
- 最後のカラムにはサポートしていないプロジェクトのための適切な対処方法を記載します。簡潔に書いてください。曖昧な部分がある場合は自由に追記してください。
サポートしているソフトウェア
アプリケーション | 旧パス | 対応開始 | 議論 | ノート |
---|---|---|---|---|
aerc | ||||
antimicro | ~/.antimicro
|
edba864 | [1] | |
aria2 | ~/.aria2
|
8bc1d37 | [2] | |
Asunder | ~/.asunder
|
2.9.0 | [3] | ~/.asunder は XDG_CONFIG_HOME/asunder/asunder を、他の3つのファイルは XDG_CACHE_HOME/asunder/asunder_album_... を使います。移行後も古いパスは削除されないため、手動で削除する必要があります。
|
blender | ~/.blender
|
4293f473 | [4] | |
burp | f2388e9 | |||
chromium | ~/.chromium
|
23057 | [5] [6] | |
citra | ~/.citra-emu
|
f7c3193fec | [7] | |
composer | ~/.composer
|
1.0.0-beta1 | [8] | |
cower | 8b70805 | |||
d-feet | ~/.d-feet
|
7f6104b | ||
dconf | ||||
dolphin-emu | ~/.dolphin-emu
|
a498c68 | [9] | |
dr14-meter | 7e777ca64 | [10] | ハードコード: $HOME/.config/dr14meter 。
| |
dunst | 78b6e2b1 | [11] | ||
dwb | ||||
fish | ||||
fontconfig | ~/.fontconfig ~/.fonts
|
8c255fb1 | フォントの保存には "$XDG_DATA_HOME"/fonts を使ってください。
| |
fontforge | ~/.FontForge ~/.PfaEdit
|
e4c2cc7432 | [12] [13] | |
freerdp | ~/.freerdp
|
edf6e7258d | ||
Gajim | ~/.gajim
|
3e777ea | [14] | |
gconf | ~/.gconf
|
fc28caa7 | [15] | |
GIMP | ~/.gimp-x.y
|
60e0cfe 483505f | [16] [17] | |
git | ~/.gitconfig
|
0d94427e | ||
gstreamer | ~/.gstreamer-0.10
|
4e36f93924cf | [18] | |
gtk3 | ||||
htop | ~/.htoprc
|
93233a67 | ||
i3 | ~/.i3
|
7c130fb54 | ||
i3status | ~/.i3status.conf
|
c3f7fc4994 | ||
imagemagick | ||||
inkscape | ~/.inkscape
|
0.47 | [19] | |
latexmk | ~/.latexmkrc
|
|||
lftp | ~/.lftp
|
21dc400 | [20] | |
lgogdownloader | ~/.gogdownloader
|
d430af63d000 | [21] | |
LibreOffice | a6f56f70 25bd2eec | [22] | ||
livestreamer | ~/.livestreamerrc
|
ea805917 | [23] | |
llpp | 3ab86f0cb | 現在 llpp はディレクトリを作成せず XDG_CONFIG_HOME の直下に設定を保存します。
| ||
mc | ~/.mc
|
1b9957058 0b7115647 ce401d797 | [24] | |
Mercurial | ~/.hgrc
|
354020079723 4.2 | XDG_CONFIG_HOME/hg/hgrc
| |
mesa | 87ab26b2ab | XDG_CACHE_HOME/mesa
| ||
milkytracker | ~/.milkytracker_config
|
eb487c55 | [25] | |
mintty | ~/.minttyrc
|
cff1bd8f v2.3.7 | [26] | |
mpd | ~/.mpdconf
|
87b73284 | ||
mpv | ~/.mpv
|
cb250d490 | [27] | |
mutt | ~/.mutt
|
42fee7585f | [28] | |
mypaint | ~/.mypaint
|
cf723b74cd | ||
nano | ~/.nano/ ~/.nanorc
|
036fc403 | [29] | |
ncmpcpp | ~/.ncmpcpp
|
38d9f811 27cd86e0 | [30] [31] | ncmpcpp_directory を設定しないと error.log ファイルが ~/.ncmpcpp に保存されます。
|
neovim | ~/.nvim ~/.nvimlog ~/.nviminfo
|
1ca5646bb | [32] [33] | |
newsbeuter | ~/.newsbeuter
|
3c57824c5 | [34] | "$XDG_DATA_HOME"/newsbeuter と "$XDG_CONFIG_HOME"/newsbeuter を作成する必要があります [35]。
|
NVIDIA | ~/.nv
|
|||
OfflineIMAP | ~/.offlineimaprc
|
5150de5 | [36] | |
opentyrian | ~/.opentyrian
|
8d45ff2 | [37] | |
pcsx2 | ~/.pcsx2
|
87f1e8f77 a9020c606 3b22f0fb0 0a012aec2 | [38] [39] | |
pip | ~/.pip
|
6.0 | [40] | |
ppsspp | ~/.ppsspp
|
132fe47c7d | [41] | |
procps-ng | ~/.toprc
|
af53e170b9 | [42] [43] | |
orbment | ||||
pacman | ~/.makepkg.conf
|
80eca94c8 | [44] | |
Panda3D | ~/.panda3d
|
2b537d2 | ||
PulseAudio | ~/.pulse ~/.pulse-cookie
|
59a8618dcd9 87ae8307057 9ab510a6921 4c195bcc9d5 | [45] | |
pyroom | ||||
qutebrowser | ||||
qtile | fd8686e 66d704b 51cff01 | [46] | 仕様と異なるファイルやディレクトリを作成するバーウィジェットも存在しますが、大抵の場合は設定で変更できます。 | |
rclone | ~/.rclone.conf
|
9d362589 | [47] | |
retroarch | ||||
rr | ~/.rr
|
02e7d41e | [48] | |
rTorrent | ~/.rtorrent.rc
|
6a8d332b | ||
Skype | ~/.Skype
|
8.0 | ||
Snes9x | ~/.snes9x
|
19864677 | [49] | デフォルトの設定は空です。ROM を起動する前にユーザーが GUI や手動で設定するようになっています。 |
sublime-text-devAUR | キャッシュは $XDG_CACHE_HOME/sublime-text-3 ではなく $XDG_CONFIG_HOME/sublime-text-3/Cache に保存されます。
| |||
surfraw | ~/.surfraw.conf ~/.surfraw.bookmarks
|
3e4591d8 bd8c427d f57fc718 | ||
sway | ~/.sway/config
|
614393c09 | [50] | |
systemd | ||||
termite | ||||
tmuxinator | ~/.tmuxinator
|
2636923 | [51] | |
transmission | ~/.transmission
|
5517 | [52] | |
util-linux | 570b32100 | |||
uzbl | c6fd63a | [53] | ||
vimb | ||||
VirtualBox | ~/.VirtualBox
|
4.3 | [54] | |
vis | ~/.vis
|
[55] | 68a25c75 | |
VLC media player | ~/.vlcrc
|
16f32e15 | [56] | |
warsow | ~/.warsow-2.x
|
98ece3f | [57] | |
wireshark | ~/.wireshark
|
b0b53fa5 | ||
xsettingsd | ~/.xsettingsd
|
4ecd7be | ||
xmonad | ~/.xmonad
|
40fc10b6 | [58] [59] | XMONAD_CONFIG_HOME , XMONAD_DATA_HOME , XMONAD_CACHE_HOME 環境変数が使えます。
|
xsel | ~/.xsel.log
|
ee7b4811 | [60] |
部分的にサポートしているソフトウェア
アプリケーション | 旧パス | 対応開始 | 議論 | ノート | |
---|---|---|---|---|---|
abook | ~/.abook
|
$ abook --config "$XDG_CONFIG_HOME"/abook/abookrc --datafile "$XDG_CACHE_HOME"/abook/addressbook
| |||
Anki | ~/Anki ~/Documents/Anki
|
[61] [62] | $ anki -b "$XDG_DATA_HOME"/Anki
| ||
aspell | ~/.aspell.conf
|
$ export ASPELL_CONF="per-conf $XDG_CONFIG_HOME/aspell/aspell.conf; personal $XDG_CONFIG_HOME/aspell/en.pws; repl $XDG_CONFIG_HOME/aspell/en.prepl"
| |||
Atom | ~/.atom
|
[63] | $ export ATOM_HOME="$XDG_DATA_HOME"/atom
| ||
aws-cli | ~/.aws
|
1.7.45 | [64] | $ export AWS_SHARED_CREDENTIALS_FILE="$XDG_CONFIG_HOME"/aws/credentials
| |
bash-completion | ~/.bash_completion
|
$ export BASH_COMPLETION_USER_FILE="$XDG_CONFIG_HOME"/bash-completion/bash_completion
| |||
bazaar | ~/.bazaar
|
2.3.0 | [65] | 上流のバグレポートでは bazaar が ~/.config/bazaar を使うようにする議論があります。ただしログファイルは ~/.bzr.log に書き込まれます。
|
|
Bundler | ~/.bundle
|
[66] [67] | $ export BUNDLE_USER_CONFIG="$XDG_CONFIG_HOME"/bundle BUNDLE_USER_CACHE="$XDG_CACHE_HOME"/bundle BUNDLE_USER_PLUGIN="$XDG_DATA_HOME"/bundle
| ||
cargo | ~/.cargo
|
[68] [69] [70] [71] | $ export CARGO_HOME="$XDG_DATA_HOME"/cargo
| ||
ccache | ~/.ccache
|
$ export CCACHE_DIR="$XDG_CACHE_HOME"/ccache
| |||
ChezScheme | ~/.chezscheme_history
|
$ petite --eehistory "$XDG_DATA_HOME"/chezscheme/history
| |||
conky | ~/.conkyrc
|
00481ee | [72] | $ conky --config="$XDG_CONFIG_HOME"/conky/conkyrc
| |
coreutils | ~/.dircolors
|
$ source "$(dircolors "$XDG_CONFIG_HOME"/dircolors)"
| |||
crawl | ~/.crawl
|
末尾の '/' は必須です: $ export CRAWL_DIR="$XDG_DATA_HOME"/crawl/ 。
| |||
CUDA | ~/.nv
|
$ export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
| |||
dict | ~/.dictrc
|
$ dict -c "$XDG_CONFIG_HOME"/dict/dictrc
| |||
ELinks | ~/.elinks
|
$ export ELINKS_CONFDIR="$XDG_CONFIG_HOME"/elinks
| |||
emscripten | ~/.emscripten ~/.emscripten_sanity ~/.emscripten_ports ~/.emscripten_cache__last_clear
|
[73] | $ export EM_CONFIG="$XDG_CONFIG_HOME"/emscripten/config
| ||
freecad | ~/.FreeCAD
|
[74] | $ freecad -u "$XDG_CONFIG_HOME"/FreeCAD/user.cfg -s "$XDG_CONFIG_HOME"/FreeCAD/system.cfg
| ||
gdb | ~/.gdbinit
|
$ gdb -nh -x "$XDG_CONFIG_HOME"/gdb/init
| |||
get_iplayer | ~/.get_iplayer
|
$ export GETIPLAYERUSERPREFS="$XDG_DATA_HOME"/get_iplayer
| |||
getmail | ~/.getmail/getmailrc
|
$ getmail --rcfile="$XDG_CONFIG_HOME/getmail/getmailrc" --getmaildir="$XDG_DATA_HOME/getmail"
| |||
gliv | ~/.glivrc
|
$ gliv --glivrc="$XDG_CONFIG_HOME"/gliv/glivrc
| |||
gpg | ~/.gnupg
|
[75] [76] | $ export GNUPGHOME="$XDG_CONFIG_HOME"/gnupg
| ||
Google Earth | ~/.googleearth
|
~/.config/Google/GoogleEarthPlus.conf の KMLPath や CachePath オプションで一部のパスは変更できます。
| |||
GQ LDAP クライアント | ~/.gq
|
1.51 | $ export GQRC="$XDG_CONFIG_HOME"/gqrc
| ||
gradle | ~/.gradle
|
[77] | $ export GRADLE_USER_HOME="$XDG_DATA_HOME"/gradle
| ||
gtk | ~/.gtkrc
|
$ export GTK_RC_FILES="$XDG_CONFIG_HOME"/gtk-1.0/gtkrc
| |||
gtk2 | ~/.gtkrc-2.0
|
$ export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
| |||
httpie | ~/.httpie
|
[78] | $ export HTTPIE_CONFIG_DIR="$XDG_CONFIG_HOME"/httpie
| ||
ipython/jupyter | ~/.ipython
|
$ export IPYTHONDIR="$XDG_CONFIG_HOME"/jupyter
| |||
irssi | ~/.irssi
|
[79] | irssi --config="$XDG_CONFIG_HOME"/irssi/config --home="$XDG_DATA_HOME"/irssi
| ||
isync | ~/.mbsyncrc
|
$ mbsync -c "$XDG_CONFIG_HOME"/isync/mbsyncrc
| |||
Java (OpenJDK) | ~/.java/.userPrefs
|
$ export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
| |||
less | ~/.lesshst
|
$ export LESSHISTFILE="$XDG_CACHE_HOME"/less/history ("$XDG_CACHE_HOME"/less ディレクトリを手動で作成する必要があります)。
| |||
libdvdcss | ~/.dvdcss
|
[80] | $ export DVDCSS_CACHE="$XDG_DATA_HOME"/dvdcss
| ||
libice | ~/.ICEauthority
|
[81] | $ export ICEAUTHORITY="$XDG_RUNTIME_DIR"/ICEauthority
パーミッションには注意してください。例えば gdm からユーザーの | ||
libx11 | ~/.XCompose ~/.compose-cache
|
$ export XCOMPOSEFILE="$XDG_CONFIG_HOME"/X11/xcompose
| |||
ltrace | ~/.ltrace.conf
|
$ ltrace -F "$XDG_CONFIG_HOME"/ltrace/ltrace.conf
| |||
maven | ~/.m2
|
$ mvn -gs "$XDG_CONFIG_HOME"/maven/settings.xml
settings.xml <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> ... <localRepository>${env.XDG_CACHE_HOME}/maven/repository</localRepository> ... </settings> | |||
Mathematica | ~/.Mathematica
|
$ export MATHEMATICA_USERBASE="$XDG_CONFIG_HOME"/mathematica
| |||
mednafen | ~/.mednafen
|
$ export MEDNAFEN_HOME="$XDG_CONFIG_HOME"/mednafen
| |||
moc | ~/.moc
|
$ mocp -M "$XDG_CONFIG_HOME"/moc
| |||
most | ~/.mostrc
|
$ export MOST_INITFILE="$XDG_CONFIG_HOME"/mostrc
| |||
MPlayer | ~/.mplayer
|
$ export MPLAYER_HOME="$XDG_CONFIG_HOME"/mplayer
| |||
msmtp | ~/.msmtprc
|
$ msmtp -C "$XDG_CONFIG_HOME"/msmtp/msmtprc
| |||
MySQL | ~/.mysql_history
|
$ export MYSQL_HISTFILE="$XDG_DATA_HOME"/mysql_history
| |||
ncurses | ~/.terminfo
|
$ export TERMINFO="$XDG_DATA_HOME"/terminfo # Precludes system path searching.
| |||
ncmpc | ~/.ncmpc
|
ncmpc -f "$XDG_CONFIG_HOME"/ncmpc/config
| |||
Netbeans | ~/.netbeans
|
[82] | $ netbeans --userdir "${XDG_CONFIG_HOME}"/netbeans
| ||
Node.js | ~/.node_repl_history
|
$ export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history [83]
| |||
notmuch | ~/.notmuch-config
|
[84] | $ export NOTMUCH_CONFIG="$XDG_CONFIG_HOME"/notmuch/notmuchrc
| ||
npm | ~/.npm ~/.npmrc
|
[85] | $ export NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
npmrc prefix=${XDG_DATA_HOME}/npm cache=${XDG_CACHE_HOME}/npm tmp=${XDG_RUNTIME_DIR}/npm init-module=${XDG_CONFIG_HOME}/npm/config/npm-init.js Node.js を nvmAUR でインストールした場合 | ||
nvidia-settings | ~/.nvidia-settings-rc
|
$ nvidia-settings --config="$XDG_CONFIG_HOME"/nvidia/settings
| |||
nvmAUR | ~/.nvm
|
$ export NVM_DIR="$XDG_DATA_HOME"/nvm
| |||
Octave | ~/octave
|
$ export OCTAVE_HISTFILE="$XDG_CACHE_HOME/octave-hsts"
$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;
| |||
openscad | ~/.OpenSCAD
|
7c3077b0f | [86] | XDG Base Directory Specification に完全には準拠していません。[87] を参照。
現在 | |
OpenSSL | ~/.rnd
|
.rnd ファイルの場所は RANDFILE 環境変数で設定できます。FAQ を参照。 | |||
pass | ~/.password-store
|
$ export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
| |||
pidgin | ~/.purple
|
[88] | $ pidgin --config="$XDG_DATA_HOME"/purple
| ||
postgresql | ~/.psqlrc
|
9.2 | [89] | $ export PSQLRC="$XDG_CONFIG_HOME/pg/psqlrc"
ディレクトリを作成する必要があります: | |
PulseAudio | ~/.esd_auth
|
module-esound-protocol-unix.so モジュールによって生成されます。別の場所を使用するように設定することもできますが /etc/pulse/default.pa や "$XDG_CONFIG_HOME"/pulse/default.pa でモジュールをコメントアウトしてしまう方が簡単です。
| |||
pylint | ~/.pylint.d
|
[91] | $ export PYLINTHOME="$XDG_CACHE_HOME"/pylint
| ||
python-setuptools | ~/.python-eggs
|
$ export PYTHON_EGG_CACHE="$XDG_CACHE_HOME"/python-eggs
| |||
readline | ~/.inputrc
|
$ export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
| |||
rlwrap | ~/.*_history
|
[92] | $ export RLWRAP_HOME="$XDG_DATA_HOME"/rlwrap
| ||
RubyGems | ~/.gem
|
$ export GEM_HOME="$XDG_DATA_HOME"/gem
| |||
rustup | ~/.rustup
|
[93] | $ export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
| ||
sbt | ~/.sbt
|
[94] | $ sbt -ivy "$XDG_DATA_HOME"/ivy2 -sbt-dir "$XDG_DATA_HOME"/sbt ([95])
| ||
screen | ~/.screenrc
|
$ export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc
| |||
stack | ~/.stack
|
[96] | $ export STACK_ROOT="$XDG_DATA_HOME"/stack
| ||
subversion | ~/.subversion
|
[97][98][99] | $ svn --config-dir "$XDG_CONFIG_HOME"/subversion
| ||
task | ~/.task ~/.taskrc
|
$ export TASKDATA="$XDG_DATA_HOME"/task $ export TASKRC="$XDG_CONFIG_HOME"/task/taskrc
| |||
tig | ~/.tigrc
|
$ export TIGRC_USER="$XDG_CONFIG_HOME"/tig/tigrc
| |||
tiptop | ~/.tiptoprc
|
.tiptoprc ファイルを必要とします: $ tiptop -W "$XDG_CONFIG_HOME"/tiptop 。
| |||
TeX Live | ~/.texliveYYYY (YYYYは年度)
|
$ export TEXMFCNF="${XDG_CONFIG_HOME}/texmf/web2c:$(kpsewhich --var-value='TEXMFCNF')"
$XDG_CONFIG_HOME/texmf/web2c/texmf.cnf TEXMFHOME=$XDG_DATA_HOME/texmf TEXMFCONFIG=$XDG_CONFIG_HOME/texmf TEXMFVAR=$XDG_CACHE_HOME/texmf | |||
tmux | ~/.tmux.conf
|
[100] [101] | $ tmux -f "$XDG_CONFIG_HOME"/tmux/tmux.conf
| ||
uncrustify | ~/.uncrustify.cfg
|
$ export UNCRUSTIFY_CONFIG="$XDG_CONFIG_HOME"/uncrustify/uncrustify.cfg
| |||
Unison | ~/.unison
|
$ export UNISON="$XDG_DATA_HOME"/unison
| |||
urxvtd | ~/.urxvt/urxvtd-hostname
|
$ export RXVT_SOCKET="$XDG_RUNTIME_DIR"/urxvtd
| |||
WeeChat | ~/.weechat
|
[102] | $ export WEECHAT_HOME="$XDG_CONFIG_HOME"/weechat
| ||
wget | ~/.wgetrc ~/.wget-hsts
|
$ export WGETRC="$XDG_CONFIG_HOME/wgetrc"
| |||
wine | ~/.wine
|
[103] | Winetricks は WINEPREFIX の管理に XDG のような場所を使用します:
| ||
xorg-xauth | ~/.Xauthority
|
$ export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
| |||
xinit | ~/.xinitrc ~/.xserverrc
|
$ export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc $ export XSERVERRC="$XDG_CONFIG_HOME"/X11/xserverrc
上記の変数は xinit には反映されますが、startx には反映されません。starx では引数としてファイル名を指定してください:
| |||
xorg-xrdb | ~/.Xresources ~/.Xdefaults
|
xrdb -load ~/.config/X11/xresources のようにパスを指定して xrdb でリソースがロードされるように Xresources を 使用 することができます。
|
ハードコードされているソフトウェア
アプリケーション | 旧パス | 議論 | ノート | |
---|---|---|---|---|
adb | ~/.android
|
[104] | $ export ANDROID_SDK_HOME="$XDG_CONFIG_HOME"/android
| |
AMule | ~/.aMule
|
|||
Android Studio | ~/.AndroidStudio2.3
|
|||
anthy | ~/.anthy
|
[105] | ||
Apache Directory Studio | ~/.ApacheDirectoryStudio
|
|||
Arduino | ~/.arduino15
|
[106] | ||
arandr | ~/.screenlayout
|
|||
Audacity | ~/.audacity-data
|
|||
Avidemux | ~/.avidemux6
|
|||
bash | ~/.bashrc ~/.bash_history ~/.bash_profile ~/.bash_login ~/.bash_logout
|
[107] |
| |
cabal | ~/.cabal
|
[108] | 対処方法は議論を見てください。簡単な方法ではありませんが Base Directory 準拠をエミュレートできます。 | |
calibre | ~/Calibre Library
|
|||
CUPS | ~/.cups
|
[109] | ||
darcs | ~/.darcs
|
[110] | ||
dbus | ~/.dbus
|
[111] | kdbus を使うことで回避できます。 | |
Dia | ~/.dia
|
|||
docker | ~/.docker
|
[112] [113] | ||
eclipse | ~/.eclipse
|
[114] | -Dosgi.configuration.area=@user.home/.config/.. オプションで上書きできますがコマンドラインで指定するのではなく "$ECLIPSE_HOME"/eclipse.ini" に追加する必要があり $ECLIPSE_HOME の書き込み権限が要ります (Arch Linux では $ECLIPSE_HOME が /usr/bin/eclipse に決め打ちされています)。
| |
emacs | ~/.emacs ~/.emacs.d
|
[115] | HOME を設定することができますが、予期せぬ副作用を生みます。他の Emacs 環境変数を修正してロードパスを変更して手動で init ファイルをロードする site ファイルを作成するのが確実ですが、ロードプロセスが大幅に変わってしまいます。
| |
Fetchmail | ~/.fetchmailrc
|
|||
firefox | ~/.mozilla
|
[116] | ||
Flatpak | ~/.var/
|
[117] [118] | ||
GHC | ~/.ghc
|
[119] | ||
GNU parallel | ~/.parallel
|
|||
gtk-recordMyDesktop | ~/.gtk-recordmydesktop
|
|||
idris | ~/.idris
|
[120] | ||
Java (OpenJDK) | ~/.java/fonts ~/.java/webview (JavaFX)
|
[121] (RedHat) | ||
julia | ~/.juliarc.jl ~/.julia_history
|
[122] [123] | ||
Linux PAM | ~/.pam_environment
|
[124] | ハードコード: modules/pam_env/pam_env.c。 | |
lldb | ~/.lldb ~/.lldbinit
|
|||
mathomatic | ~/.mathomaticrc ~/.matho_history
|
rlwrap mathomatic -r を使って RLWRAP_HOME 変数を適切に設定することで履歴を移動できます。
| ||
Minecraft | ~/.minecraft
|
[125] | ||
mongodb | ~/.mongorc.js ~/.dbshell
|
[126] | Stack Overflow のスレッド ではコマンドラインスイッチの --norc を使うことを提案しています。
| |
~/.netrc
|
~/.ssh などの多数のプログラムが使っています。curl (CURLOPT_NETRC_FILE ), ftp (NETRC ), s-nail (NETRC ) なども使用しています。別の場所を設定できるプログラムも存在しますが w3m, wget, lftp など大抵のプログラムは設定が不可能です。
| |||
node-gyp | ~/.node-gyp
|
[127] [128] [129] | 今後、部分的サポートが追加される予定です。 | |
NSS | ~/.pki
|
[130] | ||
OpenSSH | ~/.ssh
|
[131] | DropBear や OpenSSH など多数の ssh デーモンやクライアントが使用します。 | |
palemoon | ~/.moonchild productions
|
[132] | ||
perf | ~/.debug
|
tools/perf/util/config.c:29 でハードコードされています。 | ||
~/.profile
|
様々なシェルやディスプレイマネージャが使用しています。 | |||
python | ~/.python_history
|
バージョン 3.4 からインタラクティブセッションの履歴は全てデフォルトで ~/.python_history に保存されますが、古いバージョンと同じ方法でカスタムパスを設定できます ([133] を参照)。
| ||
Qt Designer | ~/.designer
|
|||
Quod Libet | ~/.quodlibet
|
[134] | ||
racket | ~/.racketrc
|
|||
RedNotebook | ~/.rednotebook
|
|||
Remarkable | ~/.remarkable
|
|||
Ren'Py | ~/.renpy
|
[135] | ||
SANE | ~/.sane/
|
scanimage によって .cal ファイルが作成されます。
| ||
Scribus | ~/.scribus
|
|||
SeaMonkey | ~/.mozilla
|
[136] | ||
Solfege | ~/.solfege ~/.solfegerc ~/lessonfiles
|
[137] | ||
SpamAssassin | ~/.spamassassin
|
|||
spectrwm | ~/.spectrwm
|
|||
SQLite | ~/.sqlite_history ~/.sqliterc
|
[138][139] | $ sqlite3 -init "$XDG_CONFIG_HOME"/sqlite3/sqliterc
| |
Steam | ~/.steam ~/.steampath ~/.steampid
|
[140] | 大抵のゲームエンジン (Unity 3D, Unreal) は仕様に準拠していますが、一部のゲームパブリッシャはパスを Steam Auto-Cloud にハードコードしているため、ゲームのセーブデータが間違ったディレクトリで同期されることがあります。 | |
TeamSpeak | ~/.ts3client
|
|||
TeXmacs | ~/.TeXmacs
|
|||
Thunderbird | ~/.thunderbird
|
[141] | ||
tllocalmgr | ~/.texlive
|
|||
vim | ~/.vim ~/.vimrc ~/.viminfo
|
7.3.1178 から vim は ~/.vimrc が存在しない場合に ~/.vim/vimrc を検索します。
"$XDG_CONFIG_HOME"/vim/vimrc set undodir=$XDG_CACHE_HOME/vim/undo set directory=$XDG_CACHE_HOME/vim/swap set backupdir=$XDG_CACHE_HOME/vim/backup set viminfo+='1000,n$XDG_CACHE_HOME/vim/viminfo set runtimepath=$XDG_CONFIG_HOME/vim,$VIMRUNTIME,$XDG_CONFIG_HOME/vim/after ~/.profile export VIMINIT=":source $XDG_CONFIG_HOME"/vim/vimrc | ||
vimperator | ~/.vimperatorrc
|
[142] | $ export VIMPERATOR_INIT=":source $XDG_CONFIG_HOME/vimperator/vimperatorrc"
| |
w3m | ~/.w3m
|
[143] | ||
wpa_cli | ~/.wpa_cli_history
|
|||
xdg-utils | ~/.gnome
|
[144] | 何らかの理由で xdg-desktop-menu スクリプトは gnome_user_dir="$HOME/.gnome/apps" をハードコードしており、chromium などによって使われています。
| |
xombrero | ~/.xombrero
|
[145] | ||
yarn | ~/.yarnrc
|
[146] | ||
zenmap (nmap) | ~/.zenmap
|
[147] [148] | ||
zsh | ~/.zshrc ~/.zprofile ~/.zshenv ~/.zlogin ~/.zlogout ~/.histfile
|
[149] | ~/.zshenv で ZDOTDIR=$HOME/.config/zsh を export してください (ブートストラップ問題のためにハードコードされています)。/etc/zsh/zshenv にも追加することで HOME にドットファイルが必要なくなります。ただし root 権限が必要で設定はシステム全体に適用されます。
|
ライブラリと言語のサポート
- JVM (Java, Kotlin, Clojure, Scala)
- directories-jvm
- Haskell
- 1.2.3.0 から directory で公式に対応 ab9d0810ce。
- xdg-basedir
- Vala
- GLib.Environment によるサポート。
get_user_cache_dir
,get_user_data_dir
,get_user_config_dir
などを参照。