Gconf, Dconf, Gsettings और उनके बीच का संबंध


65

मैं यह समझने की कोशिश कर रहा हूं कि Gconf, Dconf और Gsettings कैसे काम करते हैं और उनके बीच क्या संबंध है।

मुझे पता है:

  • Gconf - XML ​​आधारित डेटाबेस (बैकएंड सिस्टम)। पुराना वाला।
  • Dconf - BLOB आधारित डेटाबेस (बैकएंड सिस्टम)। नया वाला।
  • Gsettings - सेटिंग्स को संपादित करने के लिए CLI टूल। ऐसा लगता है कि यह केवल Dconf के साथ काम करता है (हालाँकि मैंने कहीं देखा कि यह Gconf के साथ काम कर सकता है)।

मुझे पता है कि Gconf के लिए एक GUI - Gconf-editor है, और Dconf - Dconf-editor के लिए।

इसलिए:

  1. कौन सा बैकेंड सिस्टम अधिक बार उपयोग किया जाता है - डॉन्कफ या गॉन्फ?
  2. दोनों के साथ Gsettings काम करता है? और यह सभी Dconf स्कीमा क्यों नहीं दिखाता है?
  3. Dconf अपना डेटा कहाँ बचाता है?

मुझे विशेष रूप से दिलचस्पी होगी कि कौन सी सेटिंग्स को किस उपकरण (dconf या gsettings) द्वारा नियंत्रित किया जाता है और अंतर क्यों हैं?
जोहस

जवाबों:


38

GConf अप्रचलित है। यह पुराना गनोम 2.x कॉन्फ़िगरेशन API और सिस्टम है, और इसे DCONf / GSettings द्वारा नए संस्करणों में बदल दिया गया है। हालाँकि, कुछ एप्लिकेशन अभी भी इसका उपयोग करते हैं।

GSettings DConf का एक GLib कार्यान्वयन है, जो अपने डेटा को एक बाइनरी डेटाबेस में संग्रहीत करता है।

gsettingsकमांड लाइन टूल बस GSettings एपीआई के माध्यम से पहुंच सकता है या संशोधित करने के लिए सेटिंग्स, उसी तरह है कि पुराने में एक उपकरण है gconftoolकमांड लाइन टूल GConf के लिए है।


1
क्या GSettings GConf के साथ भी काम करती है?
इडगर

3
नहीं, GSettings DConf कल्पना का कार्यान्वयन है। कमांड लाइन टूल gconf के साथ काम नहीं करता है। हालांकि, उबंटू पर वर्तमान में उपयोग में आने वाली कुछ संगतता परतें हैं, जहां gsettings या gconf में एक सेटिंग को बदलना, परिणामस्वरूप परिवर्तन दूसरे को प्रचारित किया जाएगा। हालांकि यह आम नहीं है, और न ही कुछ पर भरोसा करने के लिए।
dobey

एक और बात, मैंने कहीं देखा कि GSettings कॉन्फ़िगरेशन फ़ाइलों के साथ काम करता है। क्या इसके बारे में कुछ है? और GSettings DConf- संपादक के समान स्कीमा क्यों नहीं दिखाता है?
इडगर

1
यह जानना दिलचस्प होगा कि कौन सी सेटिंग किस टूल द्वारा प्रबंधित की जाती है? Dconf या dconf-editor का उपयोग करते समय जो कुंजी मौजूद हैं, वे gsettings के साथ सुलभ से भिन्न हैं, उदाहरण के लिए dconf के माध्यम से एक कुंजी / com / कैनोनिकल / एकता / हमेशा-शो-मेन्यू सुलभ है, लेकिन gsettings के माध्यम से कोई समान कुंजी सुलभ नहीं है उबंटू में 15.04।
जोहेम

1
@ डोबे: इसके साथ मदद करने के लिए धन्यवाद। हालांकि, मैं वास्तव में इसके बाद क्या कर रहा हूं: कैसे मुझे dconf में उपयोग की जाने वाली कुंजी और gsettings काम के साथ उपयोग की जाने वाली कुंजी के बीच की मैपिंग कैसे करनी है? अगर मुझे एक पता है, तो क्या दूसरे को खोजने के लिए एक एल्गोरिथम तरीका है? मेरे ठोस मामले में मुझे / com / कैनोनिकल / एकता / हमेशा-शो-मेन्यू दिया गया था - अब मुझे gsettings के लिए उपयुक्त कुंजी कैसे मिलेगी? यदि दोनों एक ही अंतर्निहित डेटा का उपयोग करते हैं, तो क्या एक तार्किक मानचित्रण नहीं होना चाहिए? या मैं अभी भी कुछ याद कर रहा हूँ?
जोहस

43

Dconf एक डेटा स्टोर है जो कॉन्फ़िगरेशन को संग्रहीत करने के लिए डिज़ाइन किया गया है। यह Gconf के लिए प्रतिस्थापन है , जिसका उपयोग उसी उद्देश्य के लिए किया गया था। आखिरकार, किसी भी कार्यक्रम को Gconf पर निर्भर नहीं रहना चाहिए।

Gsettings एक विकास पुस्तकालय है जिसका उपयोग कॉन्फ़िगरेशन स्टोर बैकेंड को पढ़ने और लिखने के लिए किया जाता है। लिनक्स पर, यह डॉन्कफ का उपयोग करता है, लेकिन विंडोज पर, यह रजिस्ट्री का उपयोग करता है, और ओएस एक्स पर, यह एक मूल डेटा स्टोर का उपयोग करता है।

एप्लिकेशन डेवलपर्स और एंड-यूजर्स को सीधे Gconettings का उपयोग करने की सलाह दी जाती है, न कि Dconf की।

यह सभी देखें:

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.