一部のアプリケーションは構成ファイルを~/.config/appname
に配置しているのに、他のアプリケーションは~/.appname
(従来の方法、AFAIK)を使用していることに気付きました。この区別の意味は何ですか?私のアプリケーションを検討するのに何が良いでしょうか?
更新:(XUbuntu 11.10のデフォルト)$ XDG_CONFIG_HOMEが~/
に設定されており、システム内のほとんどのアプリケーション(Mozilla Firefox、Adobe Flash Player、Midnight Commander、Opera、Wineなど)は、この。しかし、代わりに~/.config/
を使用する多くのアプリケーション(Compiz、Deadbeef、VLC、Qt Creator、Google Chrome、XFCEなど)があります。もう1つの疑わしいことは、~/.config/
のディレクトリ自体が非表示になっていない(名前にドットがない)ことです。アプリケーションの設定ディレクトリは、場所($ XDG_CONFIG_HOME値)に依存せずに、独自の名前を持っていると想定されていませんか?
あなたの問題のいくつかに対処する、jasonwryanの素晴らしい答えの補足:
_$XDG_CONFIG_HOME
_はnot _~/
_に設定されています。単に設定されていません。したがって、アプリケーションXDG仕様に従うデフォルトの_~/.config
_を使用します
_/.config
_内のディレクトリは非表示にする必要がないため、非表示にはなりません。 _~/.config
_ dirを使用する重要な点は、ユーザーの_$HOME
_をn-clutterにすることです。それらはすでに別の隠されたディレクトリにあるので、そこに隠される必要はありません。
仕様に準拠していないソフトウェア(残念ながらまだ大多数)は、ユーザーの_~/.myapp
_を乱雑にしないために、設定に隠しディレクトリ(_$HOME
_など)をattemptとして使用します。それは(ちょっと)動作しますが、たとえば、設定と "ビッグデータ"(画像、ビデオ、音楽など)を別々にバックアップしようとする場合、それはまだ悪いアプローチです。ユーザーのデータを混ぜずに、すべての設定を1か所にまとめることは、はるかに優れたアプローチです。
"_XDG_CONFIG_HOME
_が指す場所に関係なく定数名を持っている"については、すでにそうです:appname
without先頭のドットです。注意:_$HOME/.appname
_を使用しているものは、ignore XDG仕様のものです。彼らはハードコードされたパスを使用します。
アプリケーションについては、XDG標準を使用してください!私はあなたにお願いします、そしてあなたのユーザーは彼らの$ HOMEをこれ以上乱雑にしないでくれてありがとうと言うでしょう。
より物議を醸す答えは:
~/.config
はXDG標準のデフォルトです。これは、FreeDesktop.org標準に準拠しているアプリケーションにのみ適用されます($XDG_CONFIG_HOME
変数を使用することによっても)。~/.appname
はfreedesktop標準の前に存在しました$HOME
は私の意見では問題ではありません。