हां, एक मानक है: ये freedesktop.org द्वारा निर्दिष्ट हैं और XDG बेस डायरेक्टरी स्पेसिफिकेशन का हिस्सा हैं ।
config-spec केवल बुनियादी आवश्यकताओं की रूपरेखा देता है, लेकिन विवरण बेस डायरेक्टरी विनिर्देशों में हैं। ~/.config
और ~/.cache
निर्देशिका डिफ़ॉल्ट जब तक अन्यथा कॉन्फ़िगर किया गया हैं:
वरीयता क्रमबद्ध आधार निर्देशिकाओं का एक सेट है, जिसके लिए विन्यास फाइल खोजी जानी चाहिए। निर्देशिका का यह सेट पर्यावरण चर $ XDG_CONFIG_DIRS द्वारा परिभाषित किया गया है।
एक एकल आधार निर्देशिका है जिसके सापेक्ष उपयोगकर्ता-विशिष्ट गैर-आवश्यक (कैश्ड) डेटा लिखा जाना चाहिए। यह निर्देशिका पर्यावरण चर $ XDG_CACHE_HOME द्वारा परिभाषित की गई है।
...
$ XDG_CONFIG_HOME आधार निर्देशिका को परिभाषित करता है, जिसके लिए उपयोगकर्ता विशिष्ट कॉन्फ़िगरेशन फ़ाइलों को संग्रहीत किया जाना चाहिए। यदि $ XDG_CONFIG_HOME या तो सेट या खाली नहीं है, तो $ HOME / -config के बराबर डिफ़ॉल्ट का उपयोग किया जाना चाहिए।
...
$ XDG_CACHE_HOME आधार निर्देशिका को परिभाषित करता है जिसके लिए उपयोगकर्ता विशिष्ट गैर-आवश्यक डेटा फ़ाइलों को संग्रहीत किया जाना चाहिए। यदि $ XDG_CACHE_HOME या तो सेट या खाली नहीं है, तो $ HOME / -cache के बराबर डिफ़ॉल्ट का उपयोग किया जाना चाहिए।
आप इन विशिष्टताओं को देख सकते हैं कि ज्यादातर राज्य जहां डेटा संग्रहीत किया जाना चाहिए, किस पर्यावरण चर का उपयोग किया गया है, और किस तरीके से (डेस्कटॉप-तटस्थ, कुशल, आदि), लेकिन अधिकांश डेस्कटॉप इसके "भाग" को लागू करने में स्वतंत्र हैं। GNOME- आधारित डेस्कटॉप का उपयोग करेगा gsettings
जहां KDE उपयोगकर्ता उसी के माध्यम से उपयोग कर सकते हैं kwriteconfig
, लेकिन वे दोनों ~/.config
प्रक्रिया में निर्देशिका पर भरोसा करेंगे
प्रश्न प्रमुख बिंदु
मुझे कैसे पता चलेगा कि यह आधिकारिक रूप से समर्थित फ़ोल्डर है और प्रति उपयोगकर्ता कैश / कॉन्फिगर के लिए महीने के स्थान का स्वाद नहीं है?
ये निर्देशिका आधिकारिक दस्तावेज में दिखाई देती है और फाइलसिस्टम पदानुक्रम मानक भी इनका उल्लेख करता है। यह आधिकारिक प्रलेखन है, इसलिए फ़ोल्डर्स आधिकारिक तौर पर समर्थित हैं।
क्या यह कुछ है जिसे मुझे सिर्फ एक संयुक्त राष्ट्र के मानक अभ्यास स्थान के रूप में स्वीकार करना चाहिए?
आपके द्वारा बनाए जा रहे ऐप पर निर्भर करता है। क्या ऐप प्रति उपयोगकर्ता के आधार पर कॉन्फ़िगर करने योग्य है या सिस्टम के माध्यम से लगातार काम करता है? एफएचएस हमें बताता है कि सिस्टम-वाइड सामान के लिए हमें उपयोग करना चाहिए /etc
या /usr/local
, लेकिन उपयोगकर्ता-विशिष्ट कॉन्फ़िगरेशन के लिए एक्सडीजी निर्देशिकाओं का उपयोग किया जाना चाहिए - ~/.cache
और ~/.config
। बेशक, यदि एप्लिकेशन उपयोगकर्ता-विशिष्ट सेटिंग्स पर निर्भर नहीं है, तो प्रति उपयोगकर्ता निर्देशिका के बजाय / var / cache का उपयोग किया जा सकता है। बेशक, आपके पास हमेशा एक ~/.appname.conf
फ़ाइल, ~/.appname.db
या ~/.appname/
कॉन्फ़िगरेशन और कैश रखने के लिए एक निर्देशिका हो सकती है, लेकिन यह गैर-मानक होगा; "बुरा" नहीं - सिर्फ गैर-मानक।
यह सभी देखें