はい、標準があります。これらはfreedesktop.orgによって指定され、XDG Base Directory Specificationsの一部です。
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ユーザーが同じviaを使用できる場所を使用しますkwriteconfig
が、両方とも~/.config
プロセスのディレクトリに依存します
質問のキーポイント
これが公式にサポートされているフォルダーであり、ユーザーごとのcache / configの月の場所の単なるフレーバーではないことをどのように確認できますか?
これらのディレクトリは公式ドキュメントに記載されており、Filesystem Hierarchy Standardでも言及されています。これは公式のドキュメントであるため、フォルダーは公式にサポートされています。
これは、明記されていない標準的な練習場所として受け入れるべきものですか?
作成しているアプリに依存します。アプリはユーザーごとに構成可能であるか、システム全体で一貫して動作するはずですか?FHSは、システム全体のものには/etc
or を使用する必要/usr/local
があるが、XDGディレクトリはユーザー固有の構成に使用する必要があることを示しています- ~/.cache
および~/.config
。もちろん、アプリケーションがユーザー固有の設定に依存していない場合は、ユーザーごとのディレクトリの代わりに/ var / cacheを使用できます。もちろん、常に単一の~/.appname.conf
ファイル、~/.appname.db
または~/.appname/
ディレクトリを保持して構成を保持し、そこにキャッシュすることもできますが、それは標準ではありません。「悪い」ではなく、単に非標準です。
こちらもご覧ください