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_STATE_HOME
- ユーザー個別の状態ファイルをが書き込まれるディレクトリ (
/var/lib
と類似). - デフォルトは
$HOME/.local/state
. - 下記の物が含まれる場合がある
- 行動履歴(ログ、履歴、最近使用したファイル、…)
- 再起動時に再利用できるアプリケーションの現在の状態(表示状態、レイアウト、開いたファイル、アンドゥ履歴など)
- ユーザー個別の状態ファイルをが書き込まれるディレクトリ (
XDG_RUNTIME_DIR
- ソケットや名前付きパイプなどのような必須でないユーザー個別のデータファイルに使われます。
- デフォルト値は必ずしも設定する必要はありません。設定されていない場合は警告が表示されます。
- ディレクトリの所有者がユーザーでアクセスモードが
0700
である必要があります。 - OS の標準機能だけで動作するファイルシステムを使用します。
- ローカルファイルシステム上に存在する必要があります。
- 定期的にファイルが消去される可能性があります。
- 永続的に保持したい場合は6時間毎に変更を加えるかスティッキービットを設定します。
- ユーザーがログインしている値だけ存在します。
- tmpfs でマウントされることもあるので巨大なファイルは保存できません。
システムディレクトリ
XDG_DATA_DIRS
:
でディレクトリを区切ります (PATH
と類似)。- デフォルトは
/usr/local/share:/usr/share
です。
XDG_CONFIG_DIRS
:
でディレクトリを区切ります (PATH
と類似)。- デフォルトは
/etc/xdg
です。
Support
This section exists to catalog the growing set of software using the XDG Base Directory Specification introduced in 2003. This is here to demonstrate the viability of this specification by listing commonly found dotfiles and their support status. For those not currently supporting the Base Directory Specification, workarounds will be demonstrated to emulate it instead.
The workarounds will be limited to anything not involving patching the source, executing code stored in environment variables or compile-time options. The rationale for this is that configurations should be portable across systems and having compile-time options prevent that.
Hopefully this will provide a source of information about exactly what certain kinds of dotfiles are and where they come from.
貢献
ソフトウェアを追加するときは適切なセクションを使ってください。
コードの評価 (vim や VIMINIT
など)、パッチやコンパイルオプションが必要な方法、あるいはハードコードと考えられる方法は載せるべきではありません。また、Haskell の cabal や Eclipse など難しい方法もハードコードとして扱います。
- 1番目のカラムはプロジェクト名です。できればコマンド名にしてください。ソフトウェアのウェブサイトか適切な wiki の記事にリンクさせます。
- 2番目のカラムはプロジェクトが使用するレガシーなファイルやディレクトリです。もはや読み込まれない場合でも確認できるように記述してください。
- 3番目のカラムは XDG Base Directory に切り替わったプロジェクトのコミットあるいはバージョンです。4番目のカラムにはその議論がある場合にリンクを載せてください。
- 最後のカラムにはサポートしていないプロジェクトのための適切な対処方法を記載します。簡潔に書いてください。曖昧な部分がある場合は自由に追記してください。
サポートしているソフトウェア
アプリケーション | 旧パス | 対応開始 | 議論 | ノート |
---|---|---|---|---|
aerc | ||||
antimicro | ~/.antimicro
|
edba864 | [1] | |
aria2 | ~/.aria2
|
8bc1d37 | [2] | |
Asunder |
|
2.9.0 | [3] | ~/.asunder は XDG_CONFIG_HOME/asunder/asunder を、他の3つのファイルは XDG_CACHE_HOME/asunder/asunder_album_... を使います。移行後も古いパスは削除されないため、手動で削除する必要があります。
|
binwalk | ~/.binwalk
|
2051757 | [4] | $XDG_CONFIG_HOME/binwalk
|
bash-completion | ~/.bash_completion
|
2.11版 | 以前の方法: $ export BASH_COMPLETION_USER_FILE="$XDG_CONFIG_HOME"/bash-completion/bash_completion
| |
Blender | ~/.blender
|
4293f473 | [5] | |
burp | f2388e9 | |||
calcurse | ~/.calcurse
|
04162d | [6] [7] | XDG_CONFIG_HOME/calcurse
レガシーパス ~/.calcurse が存在する場合は、それが優先されます。 |
calibre | ~/Calibre Library
|
|||
citra | ~/.citra-emu
|
f7c3193fec | [8] | |
composer | ~/.composer
|
1.0.0-beta1 | [9] | |
cower | 8b70805 | |||
d-feet | ~/.d-feet
|
7f6104b | ||
dconf | ||||
dolphin-emu | ~/.dolphin-emu
|
a498c68 | [10] | |
dr14-meter | 7e777ca64 | [11] | XDG_CONFIG_HOME/dr14tmeter/
| |
dunst | 78b6e2b1 | [12] | ||
dwb | ||||
fish | ||||
fontconfig |
|
8c255fb1, [13] | フォントの保存には "$XDG_DATA_HOME"/fonts を使ってください。
| |
fontforge |
|
e4c2cc7432 | ||
freerdp | ~/.freerdp
|
edf6e7258d | ||
Emacs | ~/.emacs
|
[16] | XDG_CONFIG_HOME/emacs/init.el
レガシーパスは XDG パスよりも優先されます。 その場合、Emacsは XDG_CONFIG_HOME/emacs/ を作成しません。
26.3 以降での回避策は{ | |
Gajim | ~/.gajim
|
3e777ea | [17] | |
gconf | ~/.gconf
|
fc28caa7 | [18] | |
GIMP |
|
|||
git | ~/.gitconfig
|
0d94427e | ||
gops | 71c4255 | |||
gstreamer | ~/.gstreamer-0.10
|
4e36f93924cf | [21] | |
gtk3 | ||||
htop | ~/.htoprc
|
93233a67 | ||
i3 | ~/.i3
|
7c130fb54 | ||
i3status | ~/.i3status.conf
|
c3f7fc4994 | ||
imagemagick | ||||
inkscape | ~/.inkscape
|
0.47 | [22] | |
iwd / iwctl | ~/.iwctl_history
|
d3e00d7f | ||
intellij-idea-community-edition | ~/.IntelliJIdea*
|
2020.1 | [23] | |
josm | ~/.josm
|
11162 | [24] | |
Kakoune | ||||
latexmk | ~/.latexmkrc
|
|||
lftp | ~/.lftp
|
21dc400 | [25] | |
lgogdownloader | ~/.gogdownloader
|
d430af63d000 | [26] | |
LibreOffice | [27] | |||
NSS | ~/.pki
|
3.42 | [28] | |
livestreamer | ~/.livestreamerrc
|
ea805917 | [29] | |
llpp | 3ab86f0cb | 現在 llpp はディレクトリを作成せず XDG_CONFIG_HOME の直下に設定を保存します。
| ||
mc | ~/.mc
|
1b9957058 0b7115647 ce401d797 | [30] | |
Mercurial | ~/.hgrc
|
XDG_CONFIG_HOME/hg/hgrc
| ||
msmtp | ~/.msmtprc
|
af2f409 v1.6.7+ |
XDG_CONFIG_HOME/msmtp/config .
| |
mesa | 87ab26b2ab | XDG_CACHE_HOME/mesa
| ||
milkytracker | ~/.milkytracker_config
|
eb487c55 | [31] | |
mintty | ~/.minttyrc
|
cff1bd8f v2.3.7 | [32] | |
mpd | ~/.mpdconf
|
87b73284 | ||
mpv | ~/.mpv
|
cb250d490 | [33] | |
mutt | ~/.mutt
|
42fee7585f | [34] | |
mypaint | ~/.mypaint
|
cf723b74cd | ||
nano |
|
036fc403 | [35] | |
ncmpcpp | ~/.ncmpcpp
|
ncmpcpp_directory を設定しないと error.log ファイルが ~/.ncmpcpp に保存されます。
| ||
neovim |
|
1ca5646bb | ||
newsbeuter | ~/.newsbeuter
|
3c57824c5 | [40] | "$XDG_DATA_HOME"/newsbeuter と "$XDG_CONFIG_HOME"/newsbeuter を作成する必要があります [41]。
|
node-gyp | ~/.node-gyp
|
2b5ce52a | [42] | |
np2kai-gitAUR |
|
56a1cc2 | [43] | |
nteract-binAUR | 4593e72 | [44] [45] | does not recognize workarounds for ipython/jupyter | |
OfflineIMAP | ~/.offlineimaprc
|
5150de5 | [46] | |
opentyrian | ~/.opentyrian
|
8d45ff2 | [47] | |
pandoc | ~/.pandoc/
|
0bed0ab | [48] | |
pcsx2 | ~/.pcsx2
|
[49] [50] | ||
Pry | ~/.pryrc
|
[51] | ||
pip | ~/.pip
|
6.0 | [52] | |
powershellAUR | 6.0 | |||
ppsspp | ~/.ppsspp
|
132fe47c7d | [53] | |
procps-ng | ~/.toprc
|
af53e170b9 | ||
orbment | ||||
pacman | ~/.makepkg.conf
|
80eca94c8 | [56] | |
Panda3D | ~/.panda3d
|
2b537d2 | ||
poezioAUR | ||||
PulseAudio |
|
[57] | ||
pyroom | ||||
quodlibet | ~/.quodlibet
|
3.10.0 | [58] | |
qutebrowser | ||||
qtile | [59] | 仕様と異なるファイルやディレクトリを作成するバーウィジェットも存在しますが、大抵の場合は設定で変更できます。 | ||
rclone | ~/.rclone.conf
|
9d362589 | [60] | |
retroarch | ||||
rr | ~/.rr
|
02e7d41e | [61] | |
RSpec | ~/.rspec
|
5e395e2 | [62] | |
rTorrent | ~/.rtorrent.rc
|
6a8d332b | ||
RuboCop | ~/.rubocop.yml
|
6fe5956 | [63] | |
sdcv |
|
958ec35 | [64] | |
Skype | ~/.Skype
|
8.0 | ||
Snes9x | ~/.snes9x
|
19864677 | [65] | デフォルトの設定は空です。ROM を起動する前にユーザーが GUI や手動で設定するようになっています。 |
spectrwm | ~/.spectrwm
|
a30bbb | [66] | |
sublime-text-devAUR | キャッシュは $XDG_CACHE_HOME/sublime-text-3 ではなく $XDG_CONFIG_HOME/sublime-text-3/Cache に保存されます。
| |||
surfraw |
|
|||
sway | ~/.sway/config
|
614393c09 | [67] | |
systemd | ||||
teeworlds | ~/.teeworlds
|
[68] | ||
termite | ||||
tig | ~/.tigrc , ~/.tig_history
|
2.2 | [69] | ~/.local/share/tigディレクトリが存在しなければならず、そうでなければ ~/.tig_historyに書き込まれます。 |
tmux | ~/.tmux.conf
|
3.1 | [70] | 3.1 で ~/.config/tmux/tmux.conf を導入し、3.2 では $XDG_CONFIG_HOME/tmux/tmux.conf が追加されました。 |
tmuxp | ~/.tmuxp
|
1.5.0 | [71] | Fixed in 1.5.2 |
tmuxinator | ~/.tmuxinator
|
2636923 | [72] | |
transmission | ~/.transmission
|
5517 | [73] | |
util-linux | 570b32100 | |||
uzbl | c6fd63a | [74] | ||
vimb | ||||
VirtualBox | ~/.VirtualBox
|
4.3 | [75] | |
vis | ~/.vis
|
[76] | ||
VLC media player | ~/.vlcrc
|
16f32e15 | [77] | |
warsow | ~/.warsow-2.x
|
98ece3f | [78] | |
wireshark | ~/.wireshark
|
b0b53fa5 | ||
xsettingsd | ~/.xsettingsd
|
4ecd7be | ||
xmonad | ~/.xmonad
|
40fc10b6 | XMONAD_CONFIG_HOME , XMONAD_DATA_HOME , XMONAD_CACHE_HOME 環境変数が使えます。
| |
xsel | ~/.xsel.log
|
ee7b4811 | [81] | |
yarn |
|
2d454b5 |
部分的にサポートしているソフトウェア
アプリケーション | 旧パス | 対応開始 | 議論 | ノート | |
---|---|---|---|---|---|
abook | ~/.abook
|
$ abook --config "$XDG_CONFIG_HOME"/abook/abookrc --datafile "$XDG_CACHE_HOME"/abook/addressbook
| |||
ack | ~/.ackrc
|
[84] | $ export ACKRC="$XDG_CONFIG_HOME/ack/ackrc"
| ||
Anki |
|
[85] [86] | $ 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
|
[87] | $ export ATOM_HOME="$XDG_DATA_HOME"/atom
| ||
aws-cli | ~/.aws
|
1.7.45 | [88] |
| |
bazaar |
|
2.3.0 | [89] | 上流のバグレポートでは bazaar が ~/.config/bazaar を使うようにする議論があります。ただしログファイルは ~/.bzr.log に書き込まれます。
|
|
buchhaltung-gitAUR |
|
[90] | $ export BUCHHALTUNG="$XDG_CONFIG_HOME"/buchhaltung
| ||
Bundler | ~/.bundle
|
[91] [92] | $ export BUNDLE_USER_CONFIG="$XDG_CONFIG_HOME"/bundle BUNDLE_USER_CACHE="$XDG_CACHE_HOME"/bundle BUNDLE_USER_PLUGIN="$XDG_DATA_HOME"/bundle
| ||
cargo | ~/.cargo
|
[93] [94] [95] [96] | $ export CARGO_HOME="$XDG_DATA_HOME"/cargo
| ||
ccache | ~/.ccache
|
$ export CCACHE_CONFIGPATH="$XDG_CONFIG_HOME"/ccache.config
| |||
ChezScheme | ~/.chezscheme_history
|
$ petite --eehistory "$XDG_DATA_HOME"/chezscheme/history
| |||
Chromium | ~/.chromium
|
23057 | |||
conky | ~/.conkyrc
|
00481ee | [100] | $ conky --config="$XDG_CONFIG_HOME"/conky/conkyrc
| |
claws-mail | ~/.claws-mail
|
[101] | $ claws-mail --alternate-config-dir "$XDG_DATA_HOME"/claws-mail
| ||
coreutils | ~/.dircolors
|
$ source "$(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 Despite this, clusterssh will still create | |||
CUDA | ~/.nv
|
$ export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv
| |||
dict | ~/.dictrc
|
$ dict -c "$XDG_CONFIG_HOME"/dict/dictrc
| |||
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
|
[104] | $ dosbox -conf "$XDG_CONFIG_HOME"/dosbox/dosbox.conf
| ||
Electrum Bitcoin Wallet | ~/.electrum
|
c121230 | $ export ELECTRUMDIR="$XDG_DATA_HOME/electrum"
| ||
ELinks | ~/.elinks
|
$ export ELINKS_CONFDIR="$XDG_CONFIG_HOME"/elinks
| |||
elixir | ~/.mix
|
afaf889 | [105] [106] | ElixirはXDGの仕様に完全には準拠しておらず、環境変数が存在する場合にのみXDGを使用し、そうでない場合はデフォルトでレガシーパスを使用します。 | |
emscripten |
|
[107] |
| ||
freecad | ~/.FreeCAD
|
[108] | $ freecad -u "$XDG_CONFIG_HOME"/FreeCAD/user.cfg -s "$XDG_CONFIG_HOME"/FreeCAD/system.cfg
Despite these options, freecad will still create the file | ||
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
| |||
GNURadio | ~/.gnuradio
|
[109] | |||
gpg | ~/.gnupg
|
[110] [111] |
| ||
Go | ~/go
|
[112] |
| ||
Google Earth | ~/.googleearth
|
~/.config/Google/GoogleEarthPlus.conf の KMLPath や CachePath オプションで一部のパスは変更できます。
| |||
gopass | ~/.password-store
|
Override settings in ~/.config/gopass/config.yml :
~/.config/gopass/config.yml root: path: gpgcli-gitcli-fs+file:///home/<userid>/.config/password-store | |||
GQ LDAP クライアント |
|
1.51 |
| ||
gradle | ~/.gradle
|
[113] | $ 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
| |||
hledger | ~/.hledger.journal
|
[114] | $ export LEDGER_FILE="$XDG_DATA_HOME"/hledger.journal
| ||
imapfilterAUR | ~/.imapfilter
|
$ export IMAPFILTER_HOME="$XDG_CONFIG_HOME/imapfilter"
| |||
httpie | ~/.httpie
|
[115] | $ export HTTPIE_CONFIG_DIR="$XDG_CONFIG_HOME"/httpie
| ||
ipython/jupyter | ~/.ipython
|
won't fix,won't fix |
| ||
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
|
[116] | $ 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
|
[117] | $ export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
| ||
KDE | ~/.kde
|
[118] | $ export KDEHOME="$XDG_CONFIG_HOME"/kde
| ||
ledger | ~/.ledgerrc , ~/.pricedb
|
[119] | $ ledger --init-file "$XDG_CONFIG_HOME"/ledgerrc
| ||
less | ~/.lesshst
|
バージョン590より
下記の環境変数も有効です。
| |||
libdvdcss | ~/.dvdcss
|
[120] | $ export DVDCSS_CACHE="$XDG_DATA_HOME"/dvdcss
| ||
libice | ~/.ICEauthority
|
[121] | $ export ICEAUTHORITY="$XDG_RUNTIME_DIR"/ICEauthority
パーミッションには注意してください。例えば gdm からユーザーの | ||
libx11 |
|
| |||
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
| |||
mitmproxy | ~/.mitmproxy
|
| |||
moc | ~/.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
| |||
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
|
[122] | $ netbeans --userdir "${XDG_CONFIG_HOME}"/netbeans
| ||
Node.js | ~/.node_repl_history
|
$ export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history [123]
| |||
notmuch | ~/.notmuch-config
|
[124] |
| ||
npm |
|
[125] | $ 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 でインストールした場合 | ||
nuget | ~/.nuget/packages
|
[126] | $ export NUGET_PACKAGES="$XDG_CACHE_HOME"/NuGetPackages
| ||
NVIDIA | ~/.nv
|
設定されている場合はXDG_CACHE_HOME を使用し、設定されていない場合は~/.cache の代わりに~/.nvにフォールバックします。
| |||
nvidia-settings | ~/.nvidia-settings-rc
|
$ nvidia-settings --config="$XDG_CONFIG_HOME"/nvidia/settings
| |||
nvmAUR | ~/.nvm
|
$ export NVM_DIR="$XDG_DATA_HOME"/nvm
| |||
Octave |
|
$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 | [127] | XDG Base Directory Specification に完全には準拠していません。[128] を参照。
現在 | |
OpenSSL | ~/.rnd
|
.rnd ファイルの場所は RANDFILE 環境変数で設定できます。FAQ を参照。 | |||
parallel | ~/.parallel
|
20170422 | $ export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel
| ||
pass | ~/.password-store
|
$ export PASSWORD_STORE_DIR="$XDG_DATA_HOME"/pass
| |||
pidgin | ~/.purple
|
[129] | $ pidgin --config="$XDG_DATA_HOME"/purple
| ||
postgresql |
|
9.2 | [130] [131] |
ディレクトリを作成する必要があります: | |
PulseAudio | ~/.esd_auth
|
module-esound-protocol-unix.so モジュールによって生成されます。別の場所を使用するように設定することもできますが /etc/pulse/default.pa や "$XDG_CONFIG_HOME"/pulse/default.pa でモジュールをコメントアウトしてしまう方が簡単です。
| |||
python-azure-cliAUR | ~/.azure
|
$ export AZURE_CONFIG_DIR=$XDG_DATA_HOME/azure
| |||
python-gripAUR | ~/.grip
|
$ export GRIPHOME="$XDG_CONFIG_HOME/grip"
| |||
python-setuptools | ~/.python-eggs
|
$ export PYTHON_EGG_CACHE="$XDG_CACHE_HOME"/python-eggs
| |||
pylint | ~/.pylint.d
|
won't fix | $ export PYLINTHOME="$XDG_CACHE_HOME"/pylint
| ||
python-setuptools | ~/.python-eggs
|
$ export PYTHON_EGG_CACHE="$XDG_CACHE_HOME"/python-eggs
| |||
racket | ~/.racketrc
|
[132] | $ export PLTUSERHOME="$XDG_DATA_HOME"/racket
| ||
readline | ~/.inputrc
|
$ export INPUTRC="$XDG_CONFIG_HOME"/readline/inputrc
| |||
rlwrap | ~/.*_history
|
[133] | $ export RLWRAP_HOME="$XDG_DATA_HOME"/rlwrap
| ||
RubyGems | ~/.gem
|
| |||
rustup | ~/.rustup
|
[134] | $ export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
| ||
sbt | ~/.sbt
|
[135] | $ sbt -ivy "$XDG_DATA_HOME"/ivy2 -sbt-dir "$XDG_DATA_HOME"/sbt ([136])
| ||
screen | ~/.screenrc
|
$ export SCREENRC="$XDG_CONFIG_HOME"/screen/screenrc
| |||
spacemacs |
|
[137] | [138] | Move the ~/.spacemacs file.
Other files need to be configured like Emacs. | |
stack | ~/.stack
|
[139] | $ export STACK_ROOT="$XDG_DATA_HOME"/stack
| ||
subversion | ~/.subversion
|
[140][141][142] | $ svn --config-dir "$XDG_CONFIG_HOME"/subversion
| ||
task |
|
| |||
tiptop | ~/.tiptoprc
|
.tiptoprc ファイルを必要とします: $ tiptop -W "$XDG_CONFIG_HOME"/tiptop 。
| |||
TeX Live | ~/.texliveYYYY (YYYY は年度)
|
$ export TEXMFCNF="${XDG_CONFIG_HOME}/texmf/web2c:$(kpsewhich --var-value='TEXMFCNF')"
{{hc|$XDG_CONFIG_HOME/texmf/web2c/texmf.cnf| TEXMFHOME=$XDG_DATA_HOME/texmf TEXMFCONFIG=$XDG_CONFIG_HOME/texmf | |||
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
| |||
Vagrant |
|
[143] |
| ||
Visual Studio Code | ~/.vscode-oss/argv.json
|
[144] | You can use $ export VSCODE_PORTABLE="$XDG_DATA_HOME"/vscode , which is not documented and might break unexpectedly
| ||
WakaTime |
|
$ export WAKATIME_HOME="$XDG_CONFIG_HOME/wakatime"
以下のディレクトリは手動で作成する必要があります。: | |||
WeeChat | ~/.weechat
|
[145] [146] |
| ||
wget |
|
| |||
wine | ~/.wine
|
[147] | Winetricks は WINEPREFIX の管理に XDG のような場所を使用します:
| ||
xbindkeys | ~/.xbindkeysrc
|
$ xbindkeys -f "$XDG_CONFIG_HOME"/xbindkeys/config
| |||
xorg-xauth | ~/.Xauthority
|
$ export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
| |||
xinit |
|
上記の変数は xinit には反映されますが、startx には反映されません。starx では引数としてファイル名を指定してください:
| |||
xorg-xrdb |
|
xrdb -load ~/.config/X11/xresources のようにパスを指定して xrdb でリソースがロードされるように Xresources を 使用 することができます。
| |||
z |
|
[148] | $ export _Z_DATA="$XDG_DATA_HOME/z"
|
ハードコードされているソフトウェア
アプリケーション | 旧パス | 議論 | ノート | |
---|---|---|---|---|
adb | ~/.android
|
[149] |
| |
Ansible | ~/.ansible
|
[150] | ||
AMule | ~/.aMule
|
|||
Android Studio |
|
|||
anthy | ~/.anthy
|
[151] | ||
Apache Directory Studio | ~/.ApacheDirectoryStudio
|
|||
ARandR | ~/.screenlayout
|
|||
Arduino |
|
won't fix | [152] | |
Audacity | ~/.audacity-data
|
[153] | ||
Avidemux | ~/.avidemux6
|
|||
bash |
|
[154] |
| |
cabal | ~/.cabal
|
[155] | 対処方法は議論を見てください。簡単な方法ではありませんが Base Directory 準拠をエミュレートできます。 | |
chattyAUR | ~/.chatty/
|
[156] | ||
cmake | ~/.cmake/
|
Used for the user package registry ~/.cmake/packages/<package> , detailed in cmake-packages(7) § User Package Registry and the Package registry wiki page. Looks like it's hardcoded, for example in cmFindPackageCommand.cxx.
| ||
Cinnamon | ~/.cinnamon/
|
[157] | ||
cryptomatorAUR | ~/.Cryptomator
|
[158] | ||
CUPS | ~/.cups
|
[159] | ||
darcs | ~/.darcs
|
[160] | ||
dbus | ~/.dbus
|
[161] | kdbus を使うことで回避できます。 | |
Dia | ~/.dia
|
|||
devede | ~/.devedeng
|
Hardcoded here | ||
Dia | ~/.dia/
|
|||
dotnet-sdk | ~/.dotnet/
|
[162] | ||
eclipse | ~/.eclipse
|
[163] | -Dosgi.configuration.area=@user.home/.config/.. オプションで上書きできますがコマンドラインで指定するのではなく "$ECLIPSE_HOME"/eclipse.ini" に追加する必要があり $ECLIPSE_HOME の書き込み権限が要ります (Arch Linux では $ECLIPSE_HOME が /usr/bin/eclipse に決め打ちされています)。
| |
Fetchmail | ~/.fetchmailrc
|
|||
firefox | ~/.mozilla
|
[164] | ||
Flatpak | ~/.var/
|
[165] [166] won't fix | ||
fltk | ~/.fltk/
|
[167] | ||
gftp | ~/.gftp/
|
|||
GHC | ~/.ghc
|
[168] | ||
ghidra | [169] | |||
GoldenDict | ~/.goldendict/
|
[170] | ||
gramps | ~/.gramps/
|
[171] | ||
grsync | ~/.grsync/
|
[172] | ||
gtk-recordMyDesktop | ~/.gtk-recordmydesktop
|
|||
kiteAUR | ~/.kite/
|
[173] | ||
hplip | ~/.hplip/
|
[174] | ||
idris | ~/.idris
|
[175] | ||
Java OpenJDK | ~/.java/fonts
|
[176] (RedHat) | $ export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$XDG_CONFIG_HOME"/java
| |
Java OpenJFX | ~/.java/webview
|
|||
julia |
|
[177] [178] | ||
Linux PAM | ~/.pam_environment
|
[179] | ハードコード: modules/pam_env/pam_env.c。 | |
lldb |
|
|||
mathomatic |
|
rlwrap mathomatic -r を使って RLWRAP_HOME 変数を適切に設定することで履歴を移動できます。
| ||
Minecraft | ~/.minecraft/
|
[180] | ||
Minetest | ~/.minetest/
|
won't fix [181] | ||
minicom | ~/.minirc.dfl
|
アップストリームでは、~/.config/minicom 以下の設定ファイルをサポートするためのTODOエントリがあります。[182]
| ||
mongodb |
|
[183] | Stack Overflow のスレッド ではコマンドラインスイッチの --norc を使うことを提案しています。
| |
Nestopia UE | ~/.nestopia/
|
won't fix | ||
~/.netrc
|
~/.ssh などの多数のプログラムが使っています。curl (CURLOPT_NETRC_FILE ), ftp (NETRC ), s-nail (NETRC ) なども使用しています。別の場所を設定できるプログラムも存在しますが w3m, wget, lftp など大抵のプログラムは設定が不可能です。
| |||
Networkmanager-openvpn | ~/.cert/nm-openvpn
|
[184] | ||
NSS | ~/.pki
|
[185] | ||
OpenSSH | ~/.ssh
|
[186] | DropBear や OpenSSH など多数の ssh デーモンやクライアントが使用します。 | |
palemoon | ~/.moonchild productions
|
[187] | ||
parsec-binAUR | ~/.parsec
|
|||
PCManFM | ~/.thumbnails
|
[188] | ||
pcsxrAUR | ~/.pcsxr
|
A -cfg flag exists, but can only be set relative to ~/.pcsxr .
| ||
perf | ~/.debug
|
tools/perf/util/config.c:29 でハードコードされています。 | ||
~/.profile
|
様々なシェルやディスプレイマネージャが使用しています。 | |||
python | ~/.python_history
|
バージョン 3.4 からインタラクティブセッションの履歴は全てデフォルトで ~/.python_history に保存されますが、古いバージョンと同じ方法でカスタムパスを設定できます ([189] を参照)。
| ||
python-poetry | ~/.poetry
|
[190] | POETRY_HOME can be used but it does not separate data and config.
| |
Qt Designer | ~/.designer
|
|||
RedNotebook | ~/.rednotebook
|
|||
Remarkable | ~/.remarkable
|
|||
renderdocAUR | ~/.renderdoc
|
won't fix | ||
Ren'Py | ~/.renpy
|
[191] | ||
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の場所が変更されることに注意してください。これは、{ | ||
Scribus | ~/.scribus
|
|||
SeaMonkey | ~/.mozilla
|
[192] | ||
simplescreenrecorder | ~/.ssr/
|
[193] | 既に作成されている場合に限り$XDG_CONFIG_HOME/simplescreenrecorder/ を使用します。[194] (まだリリースされていません)
| |
Solfege |
|
[195] | ||
SpamAssassin | ~/.spamassassin
|
|||
SQLite |
|
[196][197] |
| |
Steam |
|
[198] | 大抵のゲームエンジン (Unity 3D, Unreal) は仕様に準拠していますが、一部のゲームパブリッシャはパスを Steam Auto-Cloud にハードコードしているため、ゲームのセーブデータが間違ったディレクトリで同期されることがあります。 | |
TeamSpeak | ~/.ts3client
|
$ export TS3_CONFIG_DIR="$XDG_CONFIG_HOME/ts3client"
| ||
texinfo | ~/.infokey
|
$ info --init-file "$XDG_CONFIG_HOME/infokey"
| ||
TeXmacs | ~/.TeXmacs
|
|||
Thunderbird | ~/.thunderbird
|
[199] | ||
tllocalmgr | ~/.texlive
|
|||
valeAUR | ~/.vale.ini
|
won't fix | $ vale --config "$XDG_CONFIG_HOME/vale/config.ini"
| |
vim |
|
7.3.1178 から vim は ~/.vimrc が存在しない場合に ~/.vim/vimrc を検索します。
"$XDG_CONFIG_HOME"/vim/vimrc set undodir=$XDG_DATA_HOME/vim/undo set directory=$XDG_DATA_HOME/vim/swap set backupdir=$XDG_DATA_HOME/vim/backup set viewdir=$XDG_DATA_HOME/vim/view set viminfo+='1000,n$XDG_DATA_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
|
[200] |
| |
w3m | ~/.w3m
|
[201] | ||
wpa_cli | ~/.wpa_cli_history
|
|||
xdg-utils | ~/.gnome
|
[202] | 何らかの理由で xdg-desktop-menu スクリプトは gnome_user_dir="$HOME/.gnome/apps" をハードコードしており、chromium などによって使われています。
| |
xombrero | ~/.xombrero
|
[203] | ||
xournalpp | ~/.xournalpp
|
[204] | ||
xpdf | ~/.xpdfrc
|
|||
YARD | ~/.yard
|
[205] | 誰か実装したい人がいれば、プルリクエストを受け付けます。 | |
zenmap (nmap) | ~/.zenmap
|
[206] [207] | ||
zoomAUR | ~/.zoom
|
|||
zoteroAUR | ~/.zotero ~/Zotero
|
[208] | ||
zsh |
|
[209] | ~/.zshenv で ZDOTDIR=$HOME/.config/zsh を export してください (ブートストラップ問題のためにハードコードされています)。/etc/zsh/zshenv にも追加することで HOME にドットファイルが必要なくなります。ただし root 権限が必要で設定はシステム全体に適用されます。
|
ライブラリと言語のサポート
- C++
- xdg-utils-cxx
- Go
- go-appdir
- 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
などを参照。