私のホームディレクトリには隠し設定ファイルがいくつかあります。
- そのうちのいくつかは
~/
(例~/.cinnamon
) - そのうちのいくつかは
~/.config/
(例~/.config/cinnamon-session
) - そのうちのいくつかは
~/.local/share/
(例~/.local/share/cinnamon-session
)
ホーム構成ファイルの保存場所に関するロジックは何ですか?
a) これら 3 つの場所にある隠しファイルの違いは何ですか?
b) このコンテキストでは、「ローカル」は、config や home と比べて、正確には何を意味しますか?
c) ホームディレクトリには、複数のアプリケーションで使用される他の重要な共通構成ディレクトリもありますか?
Debian 8.6 シナモン 2.2.16
答え1
「ドットファイル」の一般的なケースに関しては長い歴史がありますが、あなたが特に言及しているディレクトリ$HOME/.config
と$HOME/.local
ディレクトリの起源はXDG ベースディレクトリ仕様。
$HOME/.config
がない場合、ユーザーごとの構成ファイルが配置される場所です$XDG_CONFIG_HOME
。$HOME/.cache
がない場合、ユーザーごとのキャッシュ ファイルが保存される場所です$XDG_CACHE_HOME
。$HOME/.local/share
がない場合、ユーザーごとのデータ ファイルが保存される場所です$XDG_DATA_HOME
。
Windows ユーザーは、これが Microsoft がバージョン 4 以降 Windows NT で採用してきたものと類似していることに気付くかもしれません (ただし、バージョン 6.0 では名前が変更されています)。
%USERPROFILE%/AppData/Local/
aka%LOCALAPPDATA%
— このマシンのユーザーごとのデータファイルが保存される場所%USERPROFILE%/AppData/Roaming/
別名%APPDATA%
— ローミングユーザーが複数のマシンからアクセスできるユーザーごとのデータファイルが保存される場所%USERPROFILE%/AppData/Local/Temp/
別名%TEMP%
— ユーザーごとの一時ファイルが保存される場所
アイデアとしては、ユーザーごとのファイルは(他にもいろいろありますが)アプリケーションデータファイル(マシン固有またはローミング)、アプリケーション構成ファイル、キャッシュされたファイル、 そして一時ファイルアプリケーションは、これらのファイルを特定のディレクトリをルートとするサブツリーに配置します。
(MacOS にも同様のシステムがあり、ユーザーは の下にユーザーごとに個別の「ユーザー ローカル」サブツリー/var/folders
とC
、T
キャッシュ ファイルと一時ファイル用のサブディレクトリを取得できます。)
$HOME/.ssh
Arch の人々が指摘しているように、やなど、いくつかのアプリケーションで一般的に使用されるようになった「ドット」ファイルとディレクトリがあり、近い将来に XDG と一致する可能性は低いです$HOME/.netrc
。
参考文献
- Waldo Bastian、Ryan Lortie、Lennart Poettering (2010)。 XDG ベースディレクトリ仕様。フリーデスクトップ.org。
- クリス・ジャクソン (2008-02-05).プログラム ファイルの代わりにプログラム データをどこに書き込む必要がありますか?. オリジナルレシピ Awesomsauce。Microsoft。
- ローミング ユーザー データの管理導入ガイド. Windows Vista テクニカル ライブラリ。Microsoft TechNet。
- https://askubuntu.com/questions/102046/
- https://unix.stackexchange.com/a/555214/5132
- https://wiki.archlinux.org/index.php/XDG_Base_Directory_support
- ライオネル・ドリコ (2009-03-11). XDGフォルダーを使用するようにアプリケーションを変更する。