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,您可能需要重新启动。然后条目就消失了。