私が読んでいるXDGの基本ディレクトリ仕様しかし、正確な目的を理解することはできません$XDG_DATA_HOME
。仕様には以下が記載されています。
ユーザー固有のデータファイルが書き込まれるデフォルトのディレクトリがあります。このディレクトリは環境変数によって定義されます
$XDG_DATA_HOME
。
しかし、どのように説明するのかわかりません。ユーザー固有のデータファイル。グラフィック、サウンドファイル、フォントなど、アプリケーションの読み取り専用データをサポートするために使用されますか?それとも、このデータはアプリケーションを使用しているユーザーによって作成されたものですか?
2つのアプリケーションがあり、そのデータが属しているかどうかわからないので、これを尋ねますXDG_DATA_HOME
。
- TaskWarriorは、すべてのジョブ(および対応するメタデータ)を含むデータファイルを生成します。これらのデータファイルは静的ではなく、ジョブを追加/変更/削除すると変更されます。ただし、手動で編集されるわけではなく、常にアプリを使用してタスクを追加/編集/削除します。
- tarballを生成するバックアップスクリプトがあります。これらのタールボールは明らかにリモートで保存されますが、特定の状況では高速アクセスのためにローカルに保存したいと思います。
答え1
XDG_DATA_HOME
その目的は、アプリケーションによって生成されたデータを保存することです。代表するユーザーによって異なりますが、ユーザーが直接関心を持たない形式です。つまり、ユーザーが個別に管理したくないファイル、または別のシステムにコピー(または他のユーザーに送信)したいファイルです。これらのファイルは、Task Warriorデータファイルなどの特定のアプリケーションを介してのみアクセスできます。
ただし、仕様では次のような使用を許可しているようです/usr/share
。つまり特定のユーザーが自分のホームディレクトリにアプリケーションをインストールする場合、アプリケーションデータファイルは本質的にそのユーザーに固有ではありません。この場合、バイナリはに入り、~/.local/bin
関連データはに入りますXDG_DATA_HOME
。
ストレージ構成のデータを入力する必要がありますXDG_CONFIG_HOME
。別の考えは、ユーザーがバックアップして復元する場合はXDG_DATA_HOME
すべてのデータを復元する必要がありますが、設定は復元せずにバックアップして復元する場合は設定をXDG_CONFIG_HOME
復元する必要があることです。
データは次のとおりです。作り直すに入る必要がありますXDG_CACHE_HOME
。タルボールがそこに合うと言いたいです。
(通常、デスクトップ環境に関連する環境変数を設定するかどうかに関する考慮事項は、$XDG
仕様に環境変数がない場合に使用されるデフォルト値を提供するため、関連性はありません。)