先尽力简单地说明一下几个名词之间的关系。
gsettings提供了对GSetings的命令行操作。
GSetings实际上是一套高级API,用来操作dconf。
dconf存储着GNOME3的配置,是二进制格式。它做为GSettings的后端系统存在,暴露出低级API。在GNOME2时代,类似的角色是gconf,但它是以XML文本形式存储。
更接地气的说法是,dconf是GNOME3的注册表,gsettings是一个查询、读取、设置注册表键值的命令行工具。
列出所有schema
查找某个schema
1 | gsettings list-schemas | grep "org.gnome.settings-daemon.plugins.keyboard" |
2 | org.gnome.settings-daemon.plugins.keyboard |
查找某个schema下的所有key
1 | gsettings list-keys "org.gnome.settings-daemon.plugins.keyboard" |
查看某个schema下某个key的值
1 | gsettings get "org.gnome.settings-daemon.plugins.keyboard" priority |
查看某个schema下某个key的值类型
这是一个整形
1 | gsettings range "org.gnome.settings-daemon.plugins.keyboard" priority |
这是一个boolean类型
1 | gsettings range "org.gnome.settings-daemon.plugins.keyboard" active |
设置某个schema下某个key的值
1 | gsettings set "org.gnome.settings-daemon.plugins.keyboard" active false |
也可以一步到位,同时搜索schema和keys
1 | gsettings list-recursively | grep "org.gnome.settings-daemon.plugins.keyboard" |
2 | org.gnome.settings-daemon.plugins.keyboard active false |
3 | org.gnome.settings-daemon.plugins.keyboard priority 0 |
4 | org.gnome.settings-daemon.plugins.keyboard active false |
5 | org.gnome.settings-daemon.plugins.keyboard priority 0 |
如果你觉得命令行操作还是不太直观,可以使用GUI工具 gconf-editor