第 8 章 自定义桌面外观

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

8.1. 自定义桌面背景

作为系统管理员,您可以配置默认桌面背景、添加额外的背景或向系统的所有用户添加多个背景。

如果不允许用户更改背景的默认值,则您必须使用 locks 目录锁定设置。否则,每个用户都可以根据自己的偏好自定义背景。

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

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

流程

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

    [org/gnome/desktop/background]
    
    picture-uri='file:///usr/local/share/backgrounds/wallpaper.jpg' 1
    picture-options='scaled' 2
    primary-color='000000' 3
    secondary-color='FFFFFF' 4
    1
    指定桌面背景图像文件的路径。
    2
    为背景图像指定渲染选项之一:
    • none
    • wallpaper
    • centered
    • scaled
    • stretched
    • zoom
    • spanned
    3
    在绘制渐变或纯色时,指定左侧或顶部颜色。
    4
    在绘制渐变时指定右侧或底部颜色。
  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. 创建 /usr/share/gnome-background-properties/extra-backgrounds.xml 文件。
  2. 在新文件中,以以下格式指定额外的背景文件及其外观:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
    <wallpapers>
      <wallpaper deleted="false">
        <name>Background name</name>
        <filename>full-path-to-the-image</filename>
        <options>display-option</options>
        <shade_type>background-shade</shade_type>
        <pcolor>primary-color</pcolor>
        <scolor>secondary-color</scolor>
      </wallpaper>
    </wallpapers>
  3. 现在,在 Settings 应用程序的 Background 部分中,新的背景对所有用户可用。

8.1.3. 常用的背景模式键

以下配置控制 GSettings 系统中桌面背景的行为。

表 8.1. 常用的 GSettings 和 XML 背景键

键名称XML 名称可能的值描述

picture-options

选项

  • none
  • wallpaper
  • centered
  • scaled
  • stretched
  • zoom
  • spanned

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

color-shading-type

shade_type

  • horizontal
  • vertical
  • solid

确定背景颜色的阴影。

primary-color

pcolor

default: #023c88

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

second-color

scolor

默认值:#5789ca

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

例 8.1. 带有一个 <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>

例 8.2. 带有两个 <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.4. 设置屏幕屏蔽

屏幕屏蔽是您锁定系统时向下滑动的屏幕。您可以为系统上的所有用户设置默认屏幕屏蔽图。

流程

  1. 创建 /etc/dconf/db/gdm.d/01-screensaver 文件:

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

    使用您要用作默认屏幕屏蔽的图像文件的绝对路径替换 /opt/corp/background.jpg。支持的格式有 PNG、JPG、JPEG 和 TGA。请注意,如果需要,屏幕屏蔽会扩展您的图像,以适应屏幕。

  2. 更新系统数据库:

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

故障排除

  • 如果屏幕屏蔽没有更新:

    1. 验证您是否更新了系统数据库:

      # dconf update
    2. 尝试重启 GDM:

      # systemctl restart gdm.service
      警告

      重启 gdm 服务会终止当前登录的桌面用户正在运行的所有 GNOME 会话。这可能会导致用户丢失未保存的数据。

其它资源