桌面的外观设置一般包括窗口主题、图标主题、光标主题和字体设置,其中窗口主题就是常见的 gtk 主题,字体设置又包括标准字体、等款字体和字体大小。对于进些年的高分屏,又添加了字体缩放和窗口缩放这2个选项。

界面上设置方法就不介绍了,都可以在各自桌面的控制中心中找到,这里主要介绍命令行下的。

deepingnome 桌面环境的外观配置数据是使用 gsettings 来存储,所以可以通过 gsettings 来设置和读取。 gsettings 相比设置界面就是 可以设置到更多的选项,设置的值更加精确。

下面先简单介绍下 gsettings 的用法。

GSettings

  • 获取 key

    gsettings get <schema_id> <key>

  • 设置 key

    gsettings set <schema_id> <key> <value>

其中 schema 是在 /usr/share/glib-2.0/schemas 这个目录下, schema_id 是文件内容中 id 的值, key 就是文件中描述的,每个 key 都有一个默认值。

deepin 的主题配置文件是 =com.deepin.dde.appearance.gchema.xml=,通过其文件开头的内容

1
<schema path="/com/deepin/dde/appearance/" id="com.deepin.dde.appearance" gettext-domain="DDE">

可知,其 schema_id 就是 com.deepin.dde.appearance

外观设置

gnome 的外观配置的 idorg.gnome.desktop.interface=,=deepin 的则是 com.deepin.dde.appearancecom.deepin.xsettings

通过命令 gsettings list-keys <schema_id> 可以查询到所有支持的 key=,如查询 =gnome 支持的 key

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
$ gsettings list-keys org.gnome.desktop.interface
gtk-theme
cursor-blink-timeout
gtk-color-palette
gtk-timeout-repeat
toolkit-accessibility
cursor-theme
toolbar-style
toolbar-icons-size
text-scaling-factor
icon-theme
gtk-timeout-initial
scaling-factor
...

每个 key 的含义请阅读对应的 schema 文件来查询。

窗口主题

窗口主题对应的 key 是 =gtk-theme=,值是字符串类型。

所有系统附带的 gtk 主题都在 /usr/share/themes 目录下。

读取

  • gnome

    gsettings get org.gnome.desktop.interface gtk-theme

  • deepin

    gsettings get com.deepin.dde.appearance gtk-theme

设置

如设置 Adapta 作为窗口主题

  • gnome

    gsettings set org.gnome.desktop.interface gtk-theme Adapta

  • deepin

    gsettings set com.deepin.dde.appearance gtk-them Adapta

恢复默认值

  • gnome

    gsettings reset org.gnome.desktop.interface gtk-theme

  • deepin

    gsettings reset com.deepin.dde.appearance gtk-theme

图标和光标主题

图标主题的 keyicon-theme ,光标主题的 keycursor-theme ,值都是字符串类型,系统附带的图标和光标主题都在 /usr/share/icons/ 目录下。

主题的设置和获取方法与上面的窗口主题一样,这里就不再赘述了。

字体设置

gnome 标准字体设置的 keyfont-name ,等宽字体的 keymonospace-font-name ,值也都是字符串类型,字体的大小附加在字体名称后面一起设置,如设置标准字体:

gsettings set org.gnome.desktop.interface font-name 'Cantarell 11'

deepin 下标准字体的 keyfont-standard ,等宽字体的是 font-monospace ,值也是字符串类型。但它的字体大小是单独在 font-size 中设置的,值是浮点数类型。 使用 gsettings 操作的方法就不再赘述了,与窗口主题一致。

HIDPI 缩放

gnome 下字体缩放的 keytext-scaling-factor=,它的值是浮点数类型;窗口缩放的 =keyscaling-factor ,但它的值是无符号整型,即非负的整数。

deepin 下缩放的 schema_id 变为了 com.deepin.xsettings ,字体缩放的 keyscale-factor ,它的值也是浮点数类型;窗口缩放的 keywindow-scale ,它的值也是无符号整型。

注意: 只有在设置 deepin 缩放时 schema_id 才是 com.deepin.xsettings ,其他的设置时都是 com.deepin.dde.appearance


以上介绍的设置方法在使用 deepingnome 作为桌面的 linux 发行版都可以适用,如 ubuntu=,=fedoradeepin 等,这些设置的改变桌面环境是会实时响应。

希望这些能够帮助到你,如写一个自动备份和恢复的脚本等…

如果你是想知道这些设置是如何生效的,请持续关注哦,本人计划在下篇文章中介绍 deepin 下的实现原理,谢谢支持。