クロスプラットフォーム スクリプトを開発する予定です。Linux およびその他のオペレーティング システムでは、設定は に保存されXDG_CONFIG_HOME
、データ ファイル (具体的には、ダウンロードしたプラグイン) は に保存されますXDG_DATA_HOME
。Windows では、両方に を使用しますAPPDATA
(誰かがもっと良いアイデアを持っている場合を除く)。しかし、Mac OS X ではどうすればよいでしょうか?
便利な Macbook の~/Library
ディレクトリを初めて見た時、Preferences
と のApplication Support
フォルダを見つけました。 当初はこれらを使用するつもりでしたが、Preferences
のような逆ドメイン名の plist が含まれているだけのように思われcom.apple.foo.bar.baz.plist
、 のすべてのフォルダはApplication Support
のバンドルに対応している/Applications
ため、システムが標準に一致しないファイルにどの程度適切に反応するかはわかりません。 に直接保存することも選択肢の 1 つですが、より適切な場所があるのであれば、~/Library
不要なファイルで を汚したくはありません。myscript.conf
これらのファイルをどこに保存すればよいでしょうか? (単に と言わないでください~/.myscript
。Unix の伝統だとはわかっていますが、ホーム ディレクトリにランダムなドットファイルが表示されるのはイライラします。)
ベストアンサー1
XDG ベース ディレクトリ仕様へのさまざまなパスに関する Apple のドキュメントを比較すると、おおよそ次の場所になります。
XDG_CONFIG_HOME
▶︎~/Library/Preferences/
XDG_DATA_HOME
▶︎~/Library/
XDG_CACHE_HOME
▶︎~/Library/Caches/
Mac OS X 上の「My App」の XDG ベース ディレクトリ仕様の場所のマッピングは次のようになります。
XDG_CONFIG_HOME
▶︎~/Library/Preferences/name.often.with.domain.myapp.plist
XDG_DATA_HOME
▶︎~/Library/My App/
XDG_CACHE_HOME
▶︎~/Library/Caches/My App/
これらのマッピングは非常に合理的に思えますが、正確ではありません。 キャッシュやデータの種類によっては に適している場合もあります~/Library/Application Support/My App
が、一時的な場所や App バンドルに最適な場合もあります。 これらはすべて慣例によるもので、最適なXDG_
場所を使用する理由は、Mac OS X システムで最適な場所を使用する場合にも当てはまります。
あなたの不快感は、~/.myscript
Apple のガイドライン「ユーザー空間を汚染しないでください」に沿っています。
参考文献: