第 8 章 自定义桌面外观

本节介绍系统管理员如何为系统的不同用户自定义桌面环境的外观。

8.1. 自定义桌面背景

作为系统管理员,您可以配置默认的桌面背景、添加额外的背景或使用 dconf 工具添加多个背景。

如果不允许系统用户更改默认的背景,系统管理员需要使用 locks 目录锁定设置。否则,每个用户都可以根据自己的偏好自定义背景。

8.1.1. 自定义默认的桌面背景

您可以通过在 org.gnome.desktop.background 模式中设置相关的 GSettings 键来配置默认的桌面背景及其外观。

有关 GSettings 的详情,请参考 第 6.1 节 “配置 GNOME 简介”

使用以下流程来设置默认的背景:

流程

  1. /etc/dconf/db/local.d/00-background 中为机器范围的设置创建一个本地数据库:

    # Specify the dconf path
    [org/gnome/desktop/background]
    
    # Specify the path to the desktop background image file
    picture-uri='file:///usr/local/share/backgrounds/wallpaper.jpg'
    # Specify one of the rendering options for the background image:
    # 'none', 'wallpaper', 'centered', 'scaled', 'stretched', 'zoom', 'spanned'
    picture-options='scaled'
    # Specify the left or top color when drawing gradients or the solid color
    primary-color='000000'
    # Specify the right or bottom color when drawing gradients
    secondary-color='FFFFFF'
  2. 另外,如果您希望用户无法更改默认的背景,可以在 /etc/dconf/db/local.d/locks/background 文件中覆盖用户的设置:

    # List the keys used to configure the desktop background
    /org/gnome/desktop/background/picture-uri
    /org/gnome/desktop/background/picture-options
    /org/gnome/desktop/background/primary-color
    /org/gnome/desktop/background/secondary-color
  3. 更新系统数据库:

    # dconf update
  4. 在系统范围的设置生效前,用户必须退出并重新登录。

8.1.2. 添加额外的背景

您可以在系统上为用户提供额外的背景。

流程

  1. 使用 org.gnome.desktop.background 模式创建一个 xml 格式的文件,指定您的额外背景的外观。

    表 8.1. 经常使用的 org.gnome.desktop.background 模式 GSettings 键

    键名称可能的值描述

    picture-options

    "none", "wallpaper", "centered", "scaled", "stretched", "zoom", "spanned"

    决定如何呈现由 wallpaper_filename 设置的图像。

    color-shading-type

    "horizontal", "vertical" 和 "solid"

    确定背景色的阴影。

    primary-color

    默认值:#023c88

    绘制渐变或纯色时,左或上的颜色。

    second-color

    默认值:#5789ca

    绘制渐变时右或底部的颜色,不用于纯色。

    完整的选项范围可以在 dconf-editor GUI 或 gsettings 命令行工具中找到。如需更多信息,请参阅 第 6.3 节 “显示桌面应用程序的 GSettings 值”

  2. 将 *.xml 文件存储在 /usr/share/gnome-background-properties/ 目录下。

当用户在右上角单击他们的名称,选择 Settings ,并在表的 Personal 部分中选择 Background 时,他们会看到可用的新背景。

org.gnome.desktop.background GSettings 键实现的示例

带有一个 <wallpaper> 元素的额外背景文件的示例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
  <wallpaper deleted="false">
    <name>Company Background</name>
    <name xml:lang="de">Firmenhintergrund</name>
    <filename>/usr/local/share/backgrounds/company-wallpaper.jpg</filename>
    <options>zoom</options>
    <shade_type>solid</shade_type>
    <pcolor>#ffffff</pcolor>
    <scolor>#000000</scolor>
  </wallpaper>
</wallpapers>

在一个配置文件中,您可以指定多个 <wallpaper> 元素来添加更多的背景,如下例所示,其中有两个 <wallpaper> 元素,增加两个不同的背景。

包含两个 <wallpaper> 元素的额外背景文件的示例

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
  <wallpaper deleted="false">
    <name>Company Background</name>
    <name xml:lang="de">Firmenhintergrund</name>
    <filename>/usr/local/share/backgrounds/company-wallpaper.jpg</filename>
    <options>zoom</options>
    <shade_type>solid</shade_type>
    <pcolor>#ffffff</pcolor>
    <scolor>#000000</scolor>
  </wallpaper>
  <wallpaper deleted="false">
    <name>Company Background 2</name>
    <name xml:lang="de">Firmenhintergrund 2</name>
    <filename>/usr/local/share/backgrounds/company-wallpaper-2.jpg</filename>
    <options>zoom</options>
    <shade_type>solid</shade_type>
    <pcolor>#ff0000</pcolor>
    <scolor>#00ffff</scolor>
  </wallpaper>
</wallpapers>

8.1.3. 设置屏幕屏蔽

屏幕屏蔽是系统锁定时快速向下滑动的屏幕。它由 org.gnome.desktop.screensaver.picture-uri GSettings 键控制。GDM 使用自己的 dconf 配置文件,因此您可以通过更改该配置文件中的设置来设置默认的背景。

有关 GSettingsdconf 的详情,请参考 第 6.1 节 “配置 GNOME 简介”

流程

  1. /etc/dconf/db/gdm.d/01-screensaver 中的机器范围的设置创建一个 gdm 数据库:

    [org/gnome/desktop/screensaver]
    picture-uri='file:///opt/corp/background.jpg'

    使用您要用作屏幕屏蔽的图像文件的路径替换 /opt/corp/background.jpg。支持的格式有 PNG、JPG、JPEG 和 TGA。请注意,如有必要,映像将扩展以适合屏幕。

  2. 更新系统数据库:

    # dconf update
  3. 在系统范围的设置生效前,用户必须退出并重新登录。
故障排除

如果屏幕屏蔽没有更新,您可以:

  1. root 用户身份运行 dconf update 命令,确保您已更新了系统数据库。
  2. 尝试重新启动 GDM。