XDG Base Directory
詳細情報
- 開発者
- Waldo Bastian
- 公開年
- 2003年
- 運営
- freedesktop.org
- 仕様
- XDG Base Directory Specification
設定は~/.config、データは~/.local/share、キャッシュは~/.cacheに置くよう、プログラムに促す仕様。ホームディレクトリにドットファイルが散らかるのを防ぐ。
KDEのWaldo Bastianは2003年、freedesktop.orgのためにXDG Base Directory Specificationを書いた。発想は単純で、プログラムが保存するものの種類を区別する。設定は$XDG_CONFIG_HOME(既定は~/.config)、文書やプラグインなどのデータは$XDG_DATA_HOME(~/.local/share)、いつ消されてもよいものは$XDG_CACHE_HOME(~/.cache)に置く。のちにセッションとともに消えるべきソケットやロック用の$XDG_RUNTIME_DIRが加わり、2021年には、設定でもキャッシュでもない履歴やログのための$XDG_STATE_HOMEが加わった。システム全体向けには$XDG_CONFIG_DIRSと$XDG_DATA_DIRSがある。
狙いは、バックアップがキャッシュを除外できること、設定を1つのディレクトリとしてバージョン管理できること、ホームディレクトリでls -aを打っても、これまでに入れたものすべての記録にならなくなることだ。デスクトップアプリケーションは従っている。コマンドライン派の古株は足並みが揃わない。Gitは2012年から~/.config/git/configを読むが、bash、ssh、GnuPGは独自のドットファイルに固執しており、20年経ってもホームディレクトリはまだ両方が混在している。