我如何清理我的 dconf 数据库?

我如何清理我的 dconf 数据库?

Dconf 还很新,但我的数据库已经乱成一团,充斥着大量“无架构”键。有没有办法进行清理,还是需要从头开始(我猜是删除 ~/.config/dconf/user)?

答案1

使用该命令可以实现这一点dconf reset,但不清楚这是否是错误的副作用。

  • 对于单个密钥:

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

    一定不以 结尾/

  • 对于整个路径:

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

    必须以 结尾/

如果在打开时执行此操作dconf-editor,它可能会崩溃。

答案2

如果您想要清理 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 /

我认为您应该在此之后重新启动图形会话。

就是这样,但您必须记住,所有具有默认值的条目都不会被保存 - 当某些应用程序要求时它们将被重新创建,这是一件好事,因为您只想备份您更改过的值。

答案3

gconf-cleaner从软件中心安装。
sudo apt-get install gconf-cleaner

用他们自己的话说“GConf Cleaner 是一个清理 Gconf 数据库的工具,该数据库可能充斥着不必要或无效的密钥。”

答案4

很晚才发现,但我找到了一种方法来删除这里未提及的特别顽固的旧条目。在 中/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,您可能需要重新启动。然后条目就消失了。

相关内容