Как мне почистить базу данных dconf?
Dconf довольно молод, но моя база данных уже запутана с большим количеством ключей без схемы. Есть ли способ сделать некоторую очистку, или мне нужно начать с нуля (удалив ~/.config/dconf/user, я думаю)?
4 ответа
Это возможно с помощью dconf reset
команда, хотя не ясно, является ли это побочным эффектом ошибки.
Для одного ключа:
dconf reset "/path/to/the/key"
Не должно заканчиваться
/
,Для всего пути:
dconf reset -f "/path/to/the/path/"
Должен заканчиваться
/
,
Если вы делаете это, имея dconf-editor
открыт, он, скорее всего, потерпит крах.
Если вы хотите очистить базу данных 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 /
Я думаю, что вы должны возобновить графическую сессию после этого снова.
И это все, но вы должны помнить, что все записи, которые имеют значения по умолчанию, не будут сохранены - они будут созданы заново, когда какое-то приложение попросит об этом, что хорошо, потому что вы хотите сделать резервную копию только тех значений, которые вы изменили,
Устанавливать gconf-cleaner
из центра программного обеспечения.sudo apt-get install gconf-cleaner
По их собственным словам, "GConf Cleaner - это инструмент для очистки вашей базы данных Gconf, который может быть загроможден ненужными или недействительными ключами".
Очень поздно, но я нашел способ удалить особенно упрямые старые записи, которые здесь не упоминаются. В
/usr/share/glib-2.0/schemas
, будет несколько
.gschema.xml
файлы. Посмотрите там, вы, вероятно, найдете файлы, связанные с этими записями.
Удалите их так.
rm -v /usr/share/glib-2.0/schemas/org.gnome.shell.extensions.stubborn.gschema.xml
Затем перекомпилируйте
gschemas.compiled
файл с помощью этой команды:
glib-compile-schemas /usr/share/glib-2.0/schemas/
Оттуда я использовал Alt+F2 > r для перезагрузки. Не уверен, что это необходимо. Если вы используете Wayland, вам, вероятно, придется перезагрузиться, если это так. И записи пропали.