一部のアプリケーションでは構成データに ~/.config/appname を使用しますが、他のアプリケーションでは ~/.appname を使用するのはなぜですか?

一部のアプリケーションでは構成データに ~/.config/appname を使用しますが、他のアプリケーションでは ~/.appname を使用するのはなぜですか?

一部のアプリは設定ファイルを保存し、他のアプリはこれを達成するために(古典的な方法であるAFAIK)を~/.config/appname使用することがわかりました。~/.appnameこの区別の意味は何ですか?サポート時にどのような点を考慮する方が良いですか?

アップデート:私(XUbuntu 11.10のデフォルト)$ XDG_CONFIG_HOMEがに設定されており、私~/のシステムのほとんどのアプリケーション(Mozilla Firefox、Adobe Flash Player、Midnight Commander、Opera、Wineなど)がこれに従います。ただし、まだ使用中のアプリケーション(Compiz、Deadbeef、VLC、Qt Creator、Google Chrome、XFCEなど)があります~/.config/。別の疑わしい点は、ディレクトリ自体が~/.config/隠されていないということです(名前に点がない)。アプリケーション設定ディレクトリが場所($ XDG_CONFIG_HOMEの値)に関係なく、一意の定数名を持つことを期待していますか?

答え1

あなたの質問のいくつかを解決するJasonwryanの素晴らしい答えに追加されました。

  • あなた$XDG_CONFIG_HOMEいいえ設定~/。まったく設定されていません。だから申請してくださいXDGの仕様に従ってくださいデフォルト値の使用~/.config

  • 内部ディレクトリは/.config不要なので隠しません。 dirを使用する全体的な目的~/.configは次のとおりです。整えるユーザーの$HOME

  • 仕様に従わないソフトウェア(残念ながら依然として大半)は、隠しディレクトリを設定として使用します(例~/.myapp:)試みるユーザーの$HOME.これはうまくいきますが、設定や「ビッグデータ」(写真、ビデオ、音楽など)を別々にバックアップしようとすると、まだ悪いアプローチです。ユーザーデータと混在することなく、すべての設定を1か所に配置する方が良い方法です。

  • についてはXDG_CONFIG_HOMEどこを指しても変わらない名前を持ってください」、彼らは既にこれをしています: それはappname いいえ主なポイント。覚えておいてください:使用された$HOME/.appnameもの無視するXDG仕様はハードコーディングされたパスを使用します。

  • お申し込みに関しては、XDG規格を使用!あなたのユーザーは自分のホームディレクトリをもう複雑にしていないことに感謝します。

答え2

プロファイルを配置するアプリケーションは$HOME無視されるためXDGの基本ディレクトリ仕様、特に:

ユーザー固有の構成ファイルが書き込まれるデフォルトのディレクトリがあります。このディレクトリは、環境変数$ XDG_CONFIG_HOMEによって定義されます。

$XDG_CONFIG_HOMEが設定されていないか空の場合は、$ HOME / .configと同じデフォルト値を使用する必要があります。

答え3

より議論の多い答えは次のとおりです。

  • ~/.configXDG標準のデフォルト値であり、FreeDesktop.org標準に準拠しているアプリケーションにのみ適用されます(この$XDG_CONFIG_HOME変数も使用します)。
  • ~/.appnamefreedesktop 標準が存在する前に存在していました。
  • 誰もがFreeDesktop標準を好むわけではありません。
  • 私の考えでは、「混雑」は$HOME問題になりません。

関連情報