web-dev-qa-db-ja.com

〜/ .configや〜/ .cacheなどのディレクトリに関する公式ドキュメントはありますか?

これらのディレクトリが多くのアプリケーションで使用されているのを確認しました。現在、自分のアプリでこれらのディレクトリを使用することを検討しています。これが公式にサポートされているフォルダであり、ユーザーごとのcache/configの月の場所の単なるフレーバーではないことをどうやって確認しますか?

私は、Ubuntuから公式の何かをグーグル検索して検索してきましたが、役に立ちませんでした。おそらく、誰かがこのドキュメントの適切な検索用語や場所を知っています。これは、記載されていない標準的な練習場所として受け入れるべきものですか?

13
Danny A

はい、標準があります。これらはfreedesktop.orgによって指定されており、 XDGベースディレクトリの仕様 の一部です。

config-spec は基本的な要件の概要を示していますが、詳細はベースディレクトリの仕様にあります。特に設定されていない限り、~/.configおよび~/.cacheディレクトリはデフォルトです。

検索対象となる構成ファイルに関連する、優先順位の付いたベースディレクトリのセットがあります。このディレクトリのセットは、環境変数$ XDG_CONFIG_DIRSによって定義されます。

ユーザー固有の重要でない(キャッシュされた)データを書き込む必要のある単一のベースディレクトリが存在します。このディレクトリは、環境変数$ XDG_CACHE_HOMEによって定義されます。

...

$ XDG_CONFIG_HOMEは、ユーザー固有の構成ファイルを保存する必要があるベースディレクトリを定義します。 $ XDG_CONFIG_HOMEが設定されていないか空の場合、$ HOME/.configと等しいデフォルトを使用する必要があります。

...

$ XDG_CACHE_HOMEは、ユーザー固有の非必須データファイルを保存する必要があるベースディレクトリを定義します。 $ XDG_CACHE_HOMEが設定されていないか空の場合、$ HOME/.cacheと等しいデフォルトを使用する必要があります。

これらの仕様では、ほとんどの場合、データを保存する場所、使用する環境変数、および方法(デスクトップニュートラル、効率的など)が記述されていますが、ほとんどのデスクトップは、その「方法」の部分を自由に実装できます。 GNOMEベースのデスクトップはgsettingsを使用しますが、KDEユーザーは kwriteconfig を介して同じように使用できますが、どちらもプロセスの~/.configディレクトリに依存します


質問の要点

これが公式にサポートされているフォルダーであり、ユーザーごとのcache/configの月の場所の単なるフレーバーではないことをどうやって確認できますか?

これらのディレクトリは公式ドキュメントに記載されており、 Filesystem Hierarchy Standard についても言及しています。これは公式のドキュメントであるため、フォルダは正式にサポートされています。

これは、記載されていない標準的な練習場所として受け入れるべきものですか?

作成しているアプリによって異なります。アプリはユーザーごとに構成可能であるか、それともシステム全体で一貫して動作するはずですか? FHSは、システム全体の場合は/etcまたは /usr/local を使用する必要があることを伝えていますが、XDGディレクトリはユーザー固有の構成(~/.cacheおよび~/.config)に使用する必要があります。もちろん、アプリケーションがユーザー固有の設定に依存していない場合は、ユーザーごとのディレクトリの代わりに / var/cache を使用できます。もちろん、常に1つの~/.appname.confファイル、~/.appname.dbまたは~/.appname/ディレクトリを使用して構成を保持し、そこにキャッシュすることもできますが、これは標準ではありません。 「悪い」ではない-ただ非標準。

こちらもご覧ください

19