先尽力简单地说明一下几个名词之间的关系。

gsettings提供了对GSetings的命令行操作。

GSetings实际上是一套高级API,用来操作dconf。

dconf存储着GNOME3的配置,是二进制格式。它做为GSettings的后端系统存在,暴露出低级API。在GNOME2时代,类似的角色是gconf,但它是以XML文本形式存储。

更接地气的说法是,dconf是GNOME3的注册表,gsettings是一个查询、读取、设置注册表键值的命令行工具。

列出所有schema

gsettings list-schemas

查找某个schema

gsettings list-schemas | grep "org.gnome.settings-daemon.plugins.keyboard"
org.gnome.settings-daemon.plugins.keyboard

查找某个schema下的所有key

gsettings list-keys "org.gnome.settings-daemon.plugins.keyboard"
active
priority

查看某个schema下某个key的值

gsettings get "org.gnome.settings-daemon.plugins.keyboard" priority
0

查看某个schema下某个key的值类型

这是一个整形

gsettings range "org.gnome.settings-daemon.plugins.keyboard" priority
type i

这是一个boolean类型

gsettings range "org.gnome.settings-daemon.plugins.keyboard" active
type b

设置某个schema下某个key的值

gsettings set "org.gnome.settings-daemon.plugins.keyboard" active false

也可以一步到位,同时搜索schema和keys

gsettings list-recursively | grep "org.gnome.settings-daemon.plugins.keyboard"
org.gnome.settings-daemon.plugins.keyboard active false
org.gnome.settings-daemon.plugins.keyboard priority 0
org.gnome.settings-daemon.plugins.keyboard active false
org.gnome.settings-daemon.plugins.keyboard priority 0

如果你觉得命令行操作还是不太直观,可以使用GUI工具 gconf-editor

发表回复