2016-04-23 18 views
1

私がプログラムを書いているとしたら、ファイルを置くXDGベースディレクトリの仕様に従いたいとします(fooは、XDG_CONFIG_HOMEが設定されていて空白でない場合はの場合に設定ファイル用のディレクトリとして$XDG_CONFIG_HOME/fooを使用します) 、ホームディレクトリが解決さえできない場合はエラーを伴うflails)。プログラムでXDGフォルダを作成する必要がありますか?

XDG_CONFIG_HOMEが設定され、空白ではないが、そのディレクトリが存在しない状況に対して、正しい/指定された動作がありますか?あるいは、そのような変数がなく、~/.configは存在しませんか?私のプログラムがそれを作成しようとしているのでしょうか?または、そのフォルダの存在しないことが環境/システムの部分でエラーとみなされ、私のプログラムはそれについて何もしないようにすべきです(エラーがあるだけです)。

注:私は~/.config/fooを作成すべきかどうかは問いません。明らかにそうです。存在しない場合は~/.configを作成するかどうかを尋ねています。

(明らかに、いくつかのプログラムがそれらを作成する必要があります - 問題は、それがシステム/デスクトップ/ユーザーの仕事であるかどうかです。 ?)

XDG Base Directory Specificationのファイルを書き込もうとすると、プログラムが必要なディレクトリを作成する可能性がありますが、アプリケーション固有の/ "personal"サブディレクトリを参照しているかどうかは不明です。 XDGベースフォルダ、またはXDGベースフォルダ自体の場合

P.S.通常、私はどのタグを使用するのかを知っていますが、ここでは本当に不確かです。この投稿を編集するか、改善を提案して適切なタグを付けてください。

答えて

0

問題についての私の推論に基づいて、私自身の非常に暫定的/憶測的な回答を投稿していますが、私は実際にはもっと権威ある/決定的な答えがほしいと思います。

私が参考にされ、ユーザが誤って求めていると思われるものをやっていないの一般的な格言を考えることは良いことだと思う:私はXDG_DATA_HOME=~.l/ocal/shareをすれば、私まさにそれを望んでいたかもしれないが、それはです多くはが私が誤植をした可能性が高いです。このような場合に、要求されたXDGディレクトリの不足を報告することが、最も有益で最も混乱のないことであると論理的には思われます。

また、私が理解しているように、この仕様の目的は部分的にはホームディレクトリの混乱を減らすことであるため、毎回mkdir -pに相当することを意図的に行うのは生産的ではないようです。

関連する問題