麒麟操作系统的设置页面就是通过linux dconf来配置环境变量的,我们经常需要修改这些默认配置所以这里记录一下。
我们的dconf默认配置是保存在/usr/share/glib-2.0/schemas/*.gschema.xml文件中,用户登录之后会把默认配置记录到/.config/dconf/user文件中,该文件是一个二进制文件,其配置信息不不可见的(旧版本是xml文件,配置信息是可见的)。我们一般使用gsettings命令读取或者修改配置,也就是修改/.config/dconf/user文件。
但是如果我们使用图形化的操作修改我们的配置,我们可以使用以下命令检测我们修改了哪些配置:
dconf watch /
如下如所示:
有时候我们需要修改默认配置,我们可以先去/usr/share/glib-2.0/schemas/目录找到对应的gschema.xml文件,找到文件后进行修改。
<key name="sleep-display-ac" type="i">
<default>-1</default>
<summary>Sleep timeout display when on AC</summary>
<description>The amount of time in seconds before the display goes to sleep when the computer is on AC power.</description>
</key>
<key name="sleep-display-battery" type="i">
<default>-1</default>
<summary>Sleep timeout display when on battery</summary>
<description>The amount of time in seconds the computer on battery power needs to be inactive before the display goes to sleep.</description>
</key>
我们一般只修改default默认值,修改玩后修改执行命令重新导入配置:
sudo glib-compile-schemas /usr/share/glib-2.0/schemas
最后还有一个问题,我们虽然使用上面的方法修改了dconf的配置,而且在设置页面也看到配置修改是ok的,但是系统实际配置没有生效。这个问题是因为我们的~/.config/dconf/user文件没有修改过来,我们需要删除这个文件,重启生效。