मैं dconf डेटाबेस फ़ाइल के बैकअप की सामग्री कैसे देख सकता हूं?


20

मैंने उस फ़ाइल का बैकअप लिया है, जहाँ मेरा dconfडेटाबेस संग्रहीत है ( ~/.config/dconf/userजो कि एक बाइनरी फ़ाइल है), और अब मुझे बैकअप से dconfउपयोग में कुछ कुंजी को स्थानांतरित करने की आवश्यकता है ।

मैं dconf"जगह में" डाले बिना बैकअप की सामग्री को कैसे देख सकता हूं और उदाहरण के लिए इसे देख सकता हूं dconf-editor?

जवाबों:


25

उस फ़ाइल की सामग्री को देखने के लिए आप उसका नाम बदल सकते हैं - जैसे test- इसे नीचे रखें ~/.config/dconf/और फिर dconfउस फ़ाइल से सेटिंग्स को पढ़ / डंप करें।
डिफ़ॉल्ट रूप से , इसमें पाया dconfगया उपयोगकर्ता-डीबी पढ़ता है $XDG_CONFIG_HOME/dconf/:

एक "user-db"पंक्ति एक उपयोगकर्ता डेटाबेस निर्दिष्ट करती है।
ये डेटाबेस में पाए जाते हैं $XDG_CONFIG_HOME/dconf/। उस डायरेक्टरी में खुलने वाली फ़ाइल का नाम ठीक वैसा ही है जैसा कि प्रोफाइल में लिखा है। यह फ़ाइल बाइनरी डॉन्क डेटाबेस प्रारूप में होने की उम्मीद है। ध्यान दें कि XDG_CONFIG_HOMEप्रति टर्मिनल या सत्र को सेट / संशोधित नहीं किया जा सकता है, क्योंकि तब लेखक और पाठक अलग-अलग DB पर काम कर रहे होंगे (लेखक DBus द्वारा शुरू किया गया है और उस चर को नहीं देख सकता है)।

नतीजतन, आपको एक कस्टम प्रोफ़ाइल की आवश्यकता होगी जो उस विशेष db फ़ाइल की ओर इशारा करती है - जैसे user-db:testऔर फिर पर्यावरण चर के dconfमाध्यम से डेटा (कस्टम प्रोफ़ाइल का उपयोग करके) को डंप करने का निर्देश DCONF_PROFILE:

cd
cp /path_to_backup_dconf/user ~/.config/dconf/test
printf %s\\n "user-db:test" > db_profile
DCONF_PROFILE=~/db_profile dconf dump / > old_settings

परिणाम एक फ़ाइल ( old_settings) है जिसमें आपकी बैक अप dconfफ़ाइल से सेटिंग है , जैसे:

[org/gnome/desktop/interface]
font-name='DejaVu Sans Oblique 10'
document-font-name='DejaVu Sans Oblique 10'
gtk-im-module='gtk-im-context-simple'
clock-show-seconds=true
icon-theme='HighContrast'
monospace-font-name='DejaVu Sans Mono Oblique 10'

[org/gnome/desktop/input-sources]
sources=@a(ss) []
xkb-options=@as []

[org/gnome/desktop/wm/preferences]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'

.......

फिर आप उन फ़ाइलों को निकाल सकते हैं:

rm -f ~/db_profile ~/.config/dconf/test

और वर्तमान डेटाबेस में पुरानी सेटिंग्स लोड करें:

dconf load / < old_settings

यदि आप केवल विशिष्ट सेटिंग्स को डंप करना चाहते हैं तो केवल पथ प्रदान करें:

DCONF_PROFILE=~/db_profile dconf dump /org/gnome/desktop/wm/preferences/
[/]
num-workspaces=4
titlebar-font='DejaVu Sans Bold Oblique 10'

लेकिन ध्यान दें कि प्रत्येक पथ के लिए आपके पास एक अलग फ़ाइल होनी चाहिए और जब आप इसे लोड करते हैं तो आपको अपने अनुसार पथ निर्दिष्ट करना चाहिए:

dconf load /org/gnome/desktop/wm/preferences/ < old_wm_settings

यह भी ध्यान दें कि, अपस्ट्रीम परिवर्तनों के कारण, पुराने dconfडेटाबेस में पथ, कुंजियाँ और मान हो सकते हैं जो नए संस्करणों में अमान्य हैं, इसलिए db-files के विभिन्न संस्करणों द्वारा बनाई गई पूर्ण संगतता dconfहमेशा गारंटी नहीं होती है। उस स्थिति में, आपको परिणामी old_settingsफ़ाइल का निरीक्षण करना होगा और उन प्रविष्टियों को मैन्युअल रूप से निकालना या संपादित करना होगा जो आपके वर्तमान डेटाबेस में लोड करने से पहले अमान्य हैं।


17
WTF? इस गंदगी के लिए कौन जिम्मेदार है और इसकी वजह से किसे पीटा जाना चाहिए? (लेकिन ... इस जानकारी के लिए बहुत बहुत धन्यवाद, इसने मेरी भी मदद की।)
टीनो

1
@ टिनो सूक्ति देवों का मानना ​​है कि :) लेकिन कुछ फ्रंट-एंड टूल्स होने चाहिए
अनवर

योगदानकर्ताओं को gitlab.gnome.org/GNOME/dconf/graphs/master
बेन

मुझे लगता है कि पढ़ना कोई समस्या नहीं है। बस XDG_CONFIG_HOMEएक और निर्देशिका के लिए सेट । कोई प्रोफ़ाइल जादू की जरूरत है। लेकिन एक मनमानी dconf फ़ाइल में लिखना कठिन है और आपकी प्रोफ़ाइल को आवश्यक बना सकता है।
टॉर्स्टन ब्रोंगर

-1

मुझे लगता है कि पहला जवाब बात को उलझा देता है, इसलिए आइए फिर से कोशिश करते हैं /org/cinnamon/कि बैकअप और पुनर्स्थापना के लिए एक उदाहरण नामस्थान का उपयोग किया जाए:

बैकअप / org / दालचीनी /:

एक टर्मिनल से, भागो:

dconf dump /org/cinnamon/ > backup_of_my_cinnamon_settings

backup_of_my_cinnamon_settingsबाद में कहीं के लिए फाइल को सेव करें

चूक के लिए / org / दालचीनी / रीसेट करने के लिए:

dconf reset -f /org/cinnamon/

ध्यान दें, दालचीनी ऐसा करने से क्रैश या क्रैश हो सकती है

/ Org / दालचीनी के लिए अपनी सभी सेटिंग्स को पुनर्स्थापित करने के लिए:

dconf load /org/cinnamon/ < backup_of_my_cinnamon_settings


प्रक्रिया के लिए समान होगा /org/gnome/terminal/, आदि।

सर्वोत्तम परिणामों के लिए, जब वे नहीं चल रहे हों तो ऐप संदर्भों को अपडेट करें।

टिप्स के लिए दालचीनी डॉक्स का धन्यवाद ।


3
मुझे लगता है कि आपको फिर से प्रयास करना चाहिए: यहां सवाल यह नहीं है कि कुछ सेटिंग्स को कैसे बैकअप और पुनर्स्थापित किया जाए, लेकिन सहेजे गए बाइनरी फ़ाइल से सेटिंग्स को कैसे देखें (और शायद लोड करें ) ।
don_crissti
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.