Як очистити базу даних dconf?


40

Dconf досить молодий, але в моїй базі даних вже безлад з безліччю клавіш "без схем". Чи є спосіб зробити чистку чи мені потрібно почати з нуля (видаляючи ~ / .config / dconf / користувача, я думаю)?


Ви можете додати знімок екрана побаченого? Я не бачу того ж питання.
fossfreedom

1
Використовуйте будь-яке програмне забезпечення, яке використовує GSettings / dconf, змініть одне із значень за замовчуванням (наприклад, gnome-nettool, запустіть whois), видаліть програму. Тепер у вас є залишки у вашій базі даних (наприклад, у apps.gnome-nettool). Добре, якщо ви перевстановите це програмне забезпечення пізніше, але я хочу видалити ці ключі.
htorque

Швидкий пошук в Інтернеті дозволить мені знайти проект Google Code, який, схоже, робить щось подібне для gconf ... чи можна це змінити для роботи з dconf?
Крістофер Кайл Хортон

Ви спробували переглянути текстовий файл і намагаєтесь знайти операцію заміни, щоб видалити всі непотрібні елементи з dconf?
Северо Роз

Відповіді:


34

Це можливо за допомогою dconf resetкоманди, хоча незрозуміло, чи це побічний ефект помилки.

  • Для однієї клавіші:

    dconf reset "/path/to/the/key"
    

    Не повинен закінчуватися а /.

  • Цілий шлях:

    dconf reset -f "/path/to/the/path/"
    

    Повинен закінчуватися символом a /.

Якщо ви зробите це, dconf-editorвідкривши, це, швидше за все, вийде з ладу.


Це працює просто чудово. Для початківців опустіть лапки, коли вказуєте шляхи. +1 до @htorque Тх.
Cbhihe

Для повноти додаю до свого вчорашнього коментаря, що я успішно застосував це рішення на Trusty 14.04.2.
Cbhihe

3

Якщо ви хочете очистити базу даних dconf, спочатку потрібно скинути всю конфігурацію dconf за допомогою:

morfik:~$ cd ~/.config/dconf/
morfik:~/.config/dconf$ dconf dump / > user-backup
morfik:~/.config/dconf$ ls -al ./user-backup
-rw-r--r-- 1 morfik morfik 30.0K 2015-02-07 08:18:04 ./user-backup
morfik:~/.config/dconf$ rm user

Після цих кроків вам потрібно знову відкрити графічний сеанс (вийти з системи). Це створить ~/.config/dconf/userфайл заново з майже 0 вмістом - налаштуваннями за замовчуванням.

Щодо user-backupфайлу, який ви створили раніше, це просто звичайний текстовий файл:

...
[apps/light-locker]
late-locking=false
lock-after-screensaver=uint32 1
lock-on-suspend=true
...

Таким чином, ви можете відредагувати його та видалити потрібні записи / блоки з цього файлу. Іншими словами - очистіть його.

Коли ви закінчите, завантажте його:

morfik:~/.config/dconf$ dconf load / < ./user-backup
morfik:~/.config/dconf$ ls -al ./user-backup
-rw-r--r-- 1 morfik morfik 14.0K 2015-02-07 08:26:23 ./user-backup
morfik:~/.config/dconf$ dconf update /

Я думаю, ви повинні знову перезапустити свою графічну сесію після цього.

І це все, але ви повинні пам’ятати, що всі записи, які мають значення за замовчуванням, не будуть збережені - вони будуть створені заново, коли якесь додаток запитає про це, що добре, тому що ви хочете створити резервну копію лише тих змін, які ви змінили .


Насправді це, мабуть, не має жодного ефекту на підсистему dconf, яку вивантажуєте зміненою та перезавантаженою. (Я працюю з повністю оновленим Ubuntu 14.04.2 і намагаюся видалити з ppa: fixnix / netspeed всі ключі, що стосуються індикатора пакета-netspeed-єдності.) Це виглядає як чистий спосіб зробити це, але просто так НЕ впливати на будь-які зміни.
Cbhihe

Я повторно підтвердив це, але підтверджую, що це ніяк не впливає на зміни. Я здогадуюсь, що я відповів занадто швидко. Неможливо скасувати це зараз.
Cbhihe

Я оновив відповідь, перевірте - це працює для мене.
Михайло Морфіков

Так, це зараз добре працює. Видалення ~ / .config / dconf / користувача перед тим, як закінчити сеанс єдності та почати заново, були пропущеними кроками. Підвищення голосування стоїть. Дякую.
Cbhihe

Це врятувало мене, коли після входу в гном я отримав чорний екран. Після відкриття програми «tty» Alt+Ctrl+F3я зміг виконати ці кроки. Додатковою корисною командою було sudo pkill -u <username>перезапустити активний сеанс робочого столу gnome.
Золтан

1

Встановіть gconf-cleanerіз програмного центру.
sudo apt-get install gconf-cleaner

За їх власними словами, "GConf Cleaner - це інструмент для очищення вашої бази даних Gconf, який, можливо, захаращений непотрібними або недійсними ключами".


Не існує в центрі програмного забезпечення станом на Ubuntu 18.04 (а можливо і раніше)
ванадій
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.