Як я можу переглянути вміст резервної копії файлу бази даних 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/. Ім'я файлу, який потрібно відкрити в цьому каталозі, точно так, як написано в профілі. Очікується, що цей файл буде у форматі бази даних двійкової dconf. Зауважте, що XDG_CONFIG_HOMEїх неможливо встановити / змінити для кожного терміналу або сеансу, оскільки тоді письменник і читач працюватимуть над різними БД (записувач запускається 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-файлами, створеними різними версіями dconf, не завжди гарантується. У такому випадку вам доведеться перевірити отриманий old_settingsфайл і вручну видалити або відредагувати недійсні записи, перш ніж завантажувати їх у вашу поточну базу даних.


17
WTF? Хто несе відповідальність за цей безлад і кого слід бити через це? (Але: Дуже дякую за цю інформацію, і мені це допомогло.)
Тіно

1
@Tino gnome devs Я вірю :) Але повинні бути деякі передові інструменти
Anwar


Я думаю, що читання не є проблемою. Просто встановіть 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 та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.