在 RHEL 8 中使用桌面环境

Red Hat Enterprise Linux 8

在 RHEL 8 上配置和自定义 GNOME 3 桌面环境

Red Hat Customer Content Services

摘要

本文档论述了如何自定义和使用 GNOME 3,这是 RHEL 8 中唯一可用的桌面环境。还提供了使用 GNOME Shell 和显示图形的基础知识,以及供系统管理员在低层面上配置 GNOME 并为多个用户自定义桌面环境的说明。文档还介绍了如何使用桌面环境处理选定的系统管理任务。

使开源包含更多

红帽承诺替换我们的代码、文档和网页属性中存在问题的语言。我们从这四个术语开始: master、slave、blacklist 和 whitelist。这些更改将在即将发行的几个发行本中逐渐实施。如需了解更多详细信息,请参阅 CTO Chris Wright 信息

对红帽文档提供反馈

我们感谢您对我们文档的反馈。让我们了解如何改进它。

通过 Jira 提交反馈(需要帐户)

  1. 登录到 Jira 网站。
  2. 单击顶部导航栏中的 Create
  3. Summary 字段中输入描述性标题。
  4. Description 字段中输入您的建议以改进。包括文档相关部分的链接。
  5. 点对话框底部的 Create

第 1 章 GNOME 入门

1.1. GNOME 3 是什么

Red Hat Enterprise Linux 8 附带默认桌面环境 GNOME 3。

GNOME 3 代表了一个表示层,它提供了一个图形用户界面何集中的工作环境,使您能够从一个地方访问所有的工作。

重要

要正常工作,GNOME 要求您的系统支持 3D 加速。这包括裸机系统,以及 hypervisor 解决方案,如 VMWare

如果 GNOME 在 VMWare 虚拟机(VM)上不能启动或性能不佳,请查看以下解决方案:为什么 GUI 无法在 VMware 虚拟机上启动?

1.2. GNOME 环境、后端和显示协议

GNOME 3 提供了两个用户环境:

  • GNOME 标准
  • GNOME 经典

两个环境都可以使用两个不同的协议作为其图形后端:

  • X11 协议,它使用 X.Org 作为显示服务器。
  • Wayland 协议,它使用 GNOME Shell 作为 Wayland 合成器和显示服务器。

    这种显示服务器的解决方案进一步被称为 Wayland 上的 GNOME Shell

RHEL 8 中的默认组合是使用 Wayland 上的 GNOME Shell 作为显示服务器的 GNOME 标准环境。但是,由于某些 Wayland 的限制,您可能希望将图形协议堆栈切换到 X11。您可能还想从 GNOME 标准切换到 GNOME 经典。

其它资源

1.3. 在 GNOME 中启动应用程序

这部分描述了您可以在 GNOME 3 中启动可用应用程序的各种方法。

1.3.1. 在 GNOME 标准中启动应用程序

这个流程在 GNOME 标准用户环境中启动图形应用程序。

先决条件

  • 您在使用 GNOME 标准环境。

流程

  1. 将光标移到左上角的区域,并将光标推送到屏幕角,以转到 Activities Overview 屏幕。Activities Overview 菜单会自动打开。
  2. 使用以下任一方法查找应用程序:

    • 单击左侧竖栏中的 Show Applications 图标。

      (可选)您可以使用屏幕底部的 FrequentAll 开关,选择显示所有应用程序或仅显示频繁使用的应用程序。

      launching applications new

    • 在搜索条目中开始输入所需的应用程序的名称。
  3. 从显示的列表中点击应用程序。

1.3.2. 在 GNOME 古典中启动应用程序

此流程在 GNOME 古典用户环境中启动图形应用。

先决条件

  • 您在使用 GNOME 古典环境。

流程

  1. 转至 Applications 菜单。
  2. 从可用类别中选择所需的应用程序,其中包括:

    • 喜爱
    • 附件
    • 互联网
    • 办公室
    • 音响和视频
    • 杂项
    • 系统工具
    • 工具

1.3.3. 使用 命令在 GNOME 中启动应用程序

这个流程通过输入命令来在 GNOME 中启动图形应用程序。

先决条件

  • 您知道启动应用程序的命令。

流程

  1. 使用以下任一方法打开命令提示:

    • 打开终端。
    • Alt+F2 快捷键,来打开 Enter a Command 屏幕。

      enter a command screen new

  2. 在命令提示符中写入命令。
  3. Enter 键确认命令。

1.4. 管理桌面图标

您可以启用桌面图标功能,并将文件移到桌面。

1.4.1. RHEL 8 中的桌面图标

在 RHEL 8 中,Files 应用程序不再提供桌面图标功能。相反,桌面图标由 桌面图标 GNOME Shell 扩展提供,该扩展由 gnome-shell-extension-desktop-icons 软件包提供。

GNOME 经典中的桌面图标

默认情况下,GNOME 经典环境默认包含 gnome-shell-extension-desktop-icons 软件包。桌面图标始终处于打开状态,您不能将其关闭。

GNOME 标准中的桌面图标

在 GNOME 标准中,桌面图标默认为禁用。

如果您只有 GNOME 标准环境,且不是 GNOME 经典,则您必须安装 gnome-shell-extension-desktop-icons 软件包。

1.4.2. 在 GNOME 标准中启用桌面图标

这个流程在 GNOME 标准环境中启用桌面图标功能。

流程

  1. 打开 Tweaks 应用程序。
  2. 选择 ExtensionsDesktop icons ,并启用扩展。

    desktop icons on

1.4.3. 为文件创建桌面图标

这个流程为现有文件创建桌面图标。

先决条件

  • Desktop icons 扩展已启用。

流程

  • 将所选的文件移到 ~/Desktop/ 目录中。

验证步骤

  • 检查文件的图标是否出现在桌面上。

1.5. 禁用 GNOME Shell 上的热角功能

GNOME 环境提供热角功能,其默认是启用的。这意味着,当您将光标移到左上角的区域,并将光标推送到屏幕角时,Activities Overview 菜单会自动打开。

但是,您可能希望禁用此功能,以防止意外打开 Activities Overview

要做到这一点,您可以使用以下工具:

  • dconf Editor 应用程序
  • gsettings 命令行工具
  • No topleft hot corner 扩展

工具的选择可能取决于您要为系统上的单个用户或所有用户禁用热角功能。通过使用 dconf Editorgsettings,您只能为单个用户禁用热角。要在系统范围内禁用热角,请使用 No topleft hot corner 扩展。

1.5.1. 为单个用户禁用热角功能

要为单个用户禁用热角功能,您可以使用 dconf Editor 应用程序或 gsettings 命令行工具。

1.5.1.1. 使用 dconf Editor 禁用热角

要使用 dconf Editor 应用程序禁用热角功能,请按照以下流程。

注意

这个过程为 单个用户 禁用热线功能。

先决条件

  • dconf Editor 应用程序已安装在系统上:

    # yum install dconf-editor

流程

  1. 打开 dconf Editor 应用程序。
  2. 选择 org.gnome.desktop.interface 菜单。
  3. 找到 enable-hot-corners 选项。

    这个选项默认设为 On

    enable-hot-corners 的默认设置

    dconf enable hot corners 1

  4. enable-hot-corners 设置为 Off

    您可以通过以下任一方法做到这一点:

    • 将在同一窗口中的 enable-hot-corners 设为 Off
    • 单击包含 enable-hot-corners 的行,然后进入到新窗口。

      在新窗口中,您可以关闭热角功能。

      关闭热角功能

      dconf enable hot corners 2

1.5.1.2. 使用 gsettings 禁用热角

要使用 gsettings 命令行工具禁用热角功能,请按照以下流程:

注意

这个过程为 单个用户 禁用热线功能。

流程

  • 禁用热角功能:

    $ gsettings set org.gnome.desktop.interface enable-hot-corners false

验证步骤

  • (可选)验证热角功能是否已禁用:

    $ gsettings get org.gnome.desktop.interface enable-hot-corners
    
    false

1.5.2. 对所有用户禁用热角功能

使用 GNOME Shell 扩展调用 gnome-shell-extension-no-hot-corner 软件包提供的 No topleft hot corner 时 ,您可以在系统范围内禁用热角功能。

先决条件

  • gnome-shell-extension-no-hot-corner 软件包已安装在系统上:

    # yum install gnome-shell-extension-no-hot-corner

流程

  1. 通过在 Tweaks 工具中打开它,来启用 No topleft hot corner 扩展。

    有关如何使用 Tweaks 的详情,请参考 第 1.10 节 “使用 Tweaks 工具自定义 GNOME Shell 环境”

  2. 退出登录,然后重新启动用户会话,以便扩展能够生效。

1.6. 在 GNOME 中配置声音

您可以在 GNOME 中配置音量和其他声音选项。

1.6.1. GNOME 中的声音配置工具

在 RHEL 8 中,PulseAudio 声音服务器处理声音输出和输入。Pulseaudio 使用 pulseaudio 守护进程让程序输出音频。

要配置声音,您可以在 GNOME 中使用以下图形应用程序之一:

System menu

系统菜单 位于右上角。它只允许您通过声音条设置声音输出或声音输入的强度。只有在您运行使用内部麦克风(内置音频)的应用程序(如一些电话会议工具)时,输入声音的声音条才可用。

System menu

GNOME Control Center

GNOME Control Center (Settings)应用程序提供了其他常规选项来配置声音。

Tweaks

Tweaks 应用程序允许您仅配置卷过度修改。

tweaks sound

其它资源

  • 有关 PulseAudio 的更多信息,请参阅 pulseaudio 手册页。

1.6.2. 访问 GNOME Control Center 中的声音配置

此流程在 GNOME Control Center 应用中打开声音配置屏幕。

流程

  1. 启动 GNOME Control Center

    您可以使用 第 1.3 节 “在 GNOME 中启动应用程序” 中描述的方法之一。或者,您也可以从 系统菜单 启动它,方法是单击它的图标。

    System menu

  2. GNOME Control Center 中,从左边栏中选择 Sound

1.6.3. GNOME Control Center 中的声音选项

通过 GNOME Control Center 中的 Sound 菜单,您可以配置以下声音选项:

OutputInput

OutputInput 菜单仅显示内置的音频设备,除非您连接可以处理声音的任何外部设备。

借助 Output 菜单,使您可以显示的可用的模拟或数字配置文件中选择所需的配置文件,具体取决于可用的输出设备。

Sound Effects
Sound Effects 菜单设置系统音频警报的音量和主题。
Applications
Applications 菜单显示所有当前正在运行的可以处理声音的应用程序,并允许您放大或降低特定应用程序的声音。

音响配置屏幕上的 Output 选项卡

gcc sound

1.7. 处理图形和照片

GNOME 提供多种工具来处理图形和摄影。

您可以在 GNOME 软件中的 Graphics 和 Photography 菜单中 检查可用的工具。

流程

  1. 打开 GNOME 软件。

    gnome software1

  2. 进入 Graphics 和 Photographygnome software graphics and photo
  3. 浏览可用工具,如下所示:

    Photos
    用于访问、整理和共享您的照片。
    GNU 镜像操作程序
    用于创建图像和编辑照片。
    Inkspace
    用于创建和编辑可伸缩的矢量图形图像。
    XSane
    用于使用扫描仪扫描图像。
    LibreOffice Draw
    用于创建和编辑图形、流程图和徽标。

1.8. 处理打印

在 GNOME 中,您可以使用 Settings 应用程序设置打印。

1.8.1. 启动 Settings 应用程序来设置打印

流程

  1. 使用 第 1.3 节 “在 GNOME 中启动应用程序” 中描述的方法之一启动 Settings 应用程序。

    另外,您还可以从右上角的system menu启动 Settings 应用程序,方法是点击 "Settings" 图标。

    System menu

  2. 当显示 Settings 应用程序时,转至" 设备打印机 "。

    图 1.1. 设置配置工具

    GNOME control center 添加打印机

1.8.2. 在设置中添加新打印机

您可以使用 Settings 应用程序添加新打印机。

先决条件

  • 点击 Unlock 按钮(显示在 打印机 屏幕右上角),并作为以下用户之一进行身份验证:

    • 超级用户
    • sudo 提供的具有管理访问权限的任何用户(在 /etc/sudoers中列出的用户)
    • 属于 /etc/groupprintadmin 组的任何用户
    添加打印机 gcc 解锁验证

流程

  1. 打开 "添加打印机" 对话框。

    GNOME control center 添加打印机
  2. 选择其中一个可用的打印机(包括网络打印机),或者输入打印机 IP 地址或打印机服务器的主机名。

    gnome control center 选择打印机
    gnome control center 添加网络打印机

1.8.3. 在 Settings 应用程序中配置打印机

您可以使用 Settings 应用程序配置新打印机,并维护打印机的配置。

显示打印机设置菜单

流程

  • 点击右侧的设置(xetex)按钮来显示所选打印机的设置菜单:

    gnome control center 打印机设置
显示和修改打印机的详情

流程

  • 点击打印机 详情显示和修改所选打印机设置:

    gnome control center 打印机详情

    在这个菜单中,您可以选择以下操作:

    搜索驱动程序
    GNOME Control Center 与 PackageKit 通信,后者在可用的存储库中搜索合适的驱动程序。
    从数据库中选择
    这个选项使您能够从系统上已安装的数据库中选择一个合适的驱动程序。
    安装 PPD 文件
    这个选项使您能够从可用作打印机驱动程序的可用 postscript 打印机描述(PPD)文件列表中选择。
gnome control center 打印机更多详情
设置默认打印机

流程

  • Use Printer by Default 将所选打印机设置为默认打印机:

    gnome control center 默认打印机
删除打印机

流程

  • 点击 Remove Printer 删除所选打印机:

    gnome control center 删除打印机

1.8.4. 在 Setting 应用程序中打印测试页面

您可以打印测试页面,以确保打印机工作正常。

如果满足以下先决条件之一,您可能希望打印测试页。

先决条件

  • 已设置打印机。
  • 打印机配置已被更改。

流程

  1. 点击右侧的设置(xetex)按钮来显示所选打印机的设置菜单:

    gnome control center 打印机设置
  2. 单击 打印选项测试页面

1.8.5. 使用 Settings 应用程序设置打印选项

您可以使用 Settings 应用程序设置打印选项。

流程

  1. 点击右侧的设置(xetex)按钮来显示所选打印机的设置菜单:

    gnome control center 打印机设置
  2. 单击 Printing Options

1.9. 在应用程序间共享介质

Red Hat Enterprise Linux 8 包括 PipeWire 介质服务器,其确保访问多媒体设备和应用程序间的媒体共享。

Wayland 上的 GNOME Shell 上运行远程桌面会话时,会使用 PipeWire 和 VNC 服务器。远程桌面会话的功能由 gnome-remote-desktoppipewire 软件包提供。

X.Org 上,只有 VNC 需要运行远程桌面会话。X.Org 上的此功能由 vino 软件包提供。

当在 Wayland 上的 GNOME Shell 上运行时,PipeWire 也用于电话会议工具,如 BlueJeans。在这种情况下,当您开始在电话会议工具中共享屏幕时,pipewire 服务 会自动激活。

要检查 pipewire 服务 的状态,请运行:

~]$ systemctl --user status pipewire

1.10. 使用 Tweaks 工具自定义 GNOME Shell 环境

您可以使用 Tweaks 工具,为特定用户自定义 GNOME Shell 环境。

流程

  1. 打开 Tweaks

    Tweaks 工具

    tweaks tool

  2. 在左侧栏中选择您要自定义的项目。

    例如,您可以使用 启动应用程序菜单 将应用程序设置为在登录时自动启动,也可以使用顶部 菜单自定义顶栏。

    在 Tweaks 中自定义启动应用程序

    startup applications

    在 Tweaks 中自定义顶栏的外观

    tweaks top bar

第 2 章 GNOME 环境概述

您可以在 GNOME 中的多个用户界面间切换。此外,GNOME 可以运行在几个不同的图形后端上。

重要

要正常工作,GNOME 要求您的系统支持 3D 加速。这包括裸机系统,以及 hypervisor 解决方案,如 VMWare

如果 GNOME 在 VMWare 虚拟机(VM)上不能启动或性能不佳,请查看以下解决方案:为什么 GUI 无法在 VMware 虚拟机上启动?

2.1. GNOME 环境、后端和显示协议

GNOME 3 提供了两个用户环境:

  • GNOME 标准
  • GNOME 经典

两个环境都可以使用两个不同的协议作为其图形后端:

  • X11 协议,它使用 X.Org 作为显示服务器。
  • Wayland 协议,它使用 GNOME Shell 作为 Wayland 合成器和显示服务器。

    这种显示服务器的解决方案进一步被称为 Wayland 上的 GNOME Shell

RHEL 8 中的默认组合是使用 Wayland 上的 GNOME Shell 作为显示服务器的 GNOME 标准环境。但是,由于某些 Wayland 的限制,您可能希望将图形协议堆栈切换到 X11。您可能还想从 GNOME 标准切换到 GNOME 经典。

其它资源

2.2. GNOME 标准

GNOME 标准用户界面包括以下主要组件:

顶栏
屏幕顶部的横向栏提供了访问 GNOME 标准的一些基本功能,如 活动概览、时钟和日历、系统状态图标和 系统菜单
System menu

系统菜单 位于右上角,使您能够:

  • 更新设置
  • 控制声音条
  • 查找有关 Wi-Fi 连接的信息
  • 切换用户
  • 退出登录
  • 关闭计算机
活动概述

"活动概览" 提供了窗口和应用程序视图,允许用户运行应用程序和窗口,并在它们之间进行切换。

顶部的 搜索条目 允许搜索桌面上可用的各种项目,包括应用程序、文档、文件和配置工具。

左侧的竖栏包含常用的和正在运行的应用程序的列表。您可以根据自己的需要,从默认的常用列表中添加或删除应用程序。

右侧显示的工作区列表,允许用户在多个工作区之间切换,或者将应用程序和窗口从一个工作区移动到另一个工作区。

留言板
留言板 提供对待处理通知的访问。当用户按下 Super+M 键时,留言板 显示。

GNOME 3 标准桌面

gnome standard new

2.3. GNOME 经典

对于那些更喜欢传统桌面体验的用户来说,GNOME 经典代表了一种模式,类似于在 Red Hat Enterprise Linux 6 中使用的 GNOME 2 环境。它基于 GNOME 3 技术,同时还包含与 GNOME 2 类似的多个功能。

GNOME 经典用户界面由以下主要组件组成:

应用程序和位置

Applications 菜单显示在屏幕的左上角。它允许用户访问按类别组织的应用程序。如果启用了窗口概览,您还可以打开该菜单中的 Activities Overview

Places 菜单显示在顶栏上 Applications 菜单旁边。它允许用户快速访问重要的文件夹,如 DownloadsPictures

任务栏

taskbar 显示在屏幕底部,并具有以下特性:

  • 窗口列表
  • 窗口列表旁边显示一个通知图标
  • 通知图标旁边显示的是当前工作区的简短标识符和可用工作区总数
四个可用的工作区
在 GNOME 经典中,用户可使用的工作空间数默认设置为 4。
最小化和最大化按钮
GNOME 经典中的窗口标题栏具有最小化和最大化按钮的功能,使用户能够快速最小化到窗口列表中,或者将它们最大化以占据桌面上的所有空间。
传统的 Super+Tab 窗口切换器
在 GNOME 经典中,Super+Tab 窗口切换器中的窗口不按应用程序来分组。
系统菜单

system menu 位于右上角,使您能够执行以下操作:

  • 更新设置
  • 控制声音条
  • 查找有关 Wi-Fi 连接的信息
  • 切换用户
  • 退出登录
  • 关闭计算机

带有 Rhythmbox 应用程序的 GNOME 3 经典桌面以及Applications 菜单的 Favorites 子菜单

gnome classic new

在 GNOME 经典中,默认情况下,没有打开的窗口概述。您可以在屏幕底部的 taskbar 中看到所有打开的窗口列表。但是,您可以通过更改 GNOME 经典环境的默认设置来启用类似于 GNOME 标准中提供的默认的窗口概述,如 第 2.4 节 “在 GNOME Classic 中启用窗口概述” 所述。

2.4. 在 GNOME Classic 中启用窗口概述

在 GNOME 经典中,默认情况下没有打开的窗口概述。这个流程为系统中的所有用户启用窗口概述。

重要

通过此流程启用窗口概述并非永久性更改。每次 gnome-classic-session 软件包的更新都会将配置文件覆盖为默认设置,这将禁用窗口概览。

要启用窗口概览,请在每次 gnome-classic-session 更新后应用以下流程。

流程

  1. root 用户身份打开 /usr/share/gnome-shell/modes/classic.json 文件。
  2. 在文件中找到以下行:

    "hasOverview": false
  3. 将行更改为以下内容:

    "hasOverview": true
  4. 保存更改,然后关闭 /usr/share/gnome-shell/modes/classic.json 文件。
  5. 重新启动用户会话。

验证步骤

  1. 在 GNOME 经典会话中,打开多个窗口。
  2. Super 键来打开窗口概览。
  3. 在概述中检查:

    • 会显示 Dash(屏幕左侧的竖面板)。
    • 不显示底部面板。
    • 工作区切换器显示在屏幕右侧。

      带有 "hasOverview": true 的窗口概览

      Window overview with "hasOverview": true

    使用默认设置("hasOverview": false)时,概述具有以下功能:

    • Dash 不显示。
    • 底部面板显示。它左侧包含 Window picker 按钮,以及右侧的工作区切换器。

      带有 "hasOverview": false 的窗口概览

      Window overview with "hasOverview": false

2.5. RHEL 8 中的图形后端

在 RHEL 8 中,您可以在两个协议中选择来构建图形用户界面:

X11
X11 协议使用 X.Org 作为显示服务器。基于此协议的显示图形的工作方式与在 RHEL 7 中的一样,这是唯一的选项。
wayland
RHEL 8 上的 Wayland 协议使用 GNOME Shell 作为其合成器和显示服务器,这被进一步称为 GNOME Shell on Wayland。与 X11 相比,基于 Wayland 协议的显示图形有一些区别和限制。

RHEL 8 的新安装会自动选择 GNOME Shell on Wayland。但是,您可以切换到 X.Org,或者选择所需的 GNOME 环境和显示服务器的组合,如 第 2.8 节 “选择 GNOME 环境并显示协议” 所述。

请注意,还有一些环境中,X.Org 优先于 GNOME Shell on Wayland,例如:

  • VM 环境中使用的 cirrus 图形
  • Matrox 图形
  • Aspeed 图形
  • VM 环境中使用的 QXL 图形
  • 与专有驱动程序一起使用 Nvidia 图形
重要

Nvidia 图形默认使用 nouveau,这是一个开源驱动程序。Wayland 上支持 nouveau,因此您可以在 GNOME Shell on Wayland 上使用带有 nouveau 的 Nvidia 图形。但是,GNOME Shell on Wayland 上不支持带有将专有 Nvidia 二进制驱动程序的 Nvidia 图形。在这种情况下,您需要切换到 X.Org,如 第 2.8 节 “选择 GNOME 环境并显示协议” 所述。

其它资源

  • 您可以在 /usr/lib/udev/rules.d/61-gdm.rules 文件中找到 Wayland 不可用的当前环境列表。
  • 有关 Wayland 项目的更多信息,请参阅 Wayland 文档

2.6. Wayland 和 X11 协议之间的主要区别

X11 应用程序

客户端应用需要移植到 Wayland 协议,或使用具有 Wayland 后端(如 GTK)的图形工具包,以便能够与基于 Wayland 的合成器和显示服务器原生工作。

无法移植到 Wayland 的传统 X11 应用程序将自动使用 Xwayland 作为 X11 传统客户端和 Wayland 合成器之间的代理。XWayland 同时作为 X11 服务器和 Wayland 客户端。Xwayland 的角色是将 X11 协议转换为 Wayland 协议或相反,从而使旧的X11 应用程序可以与基于 Wayland 的显示服务器一起工作。

GNOME Shell on Wayland 上,Xwayland 在启动时自动启动,这样可确保大多数 X11 传统应用程序在使用 GNOME Shell on Wayland 时能按预期工作。但是,X11Wayland 协议不同,因此某些依赖于 X11 特定功能的客户端在 Xwayland 下的行为可能有所不同。对于这些特定的客户端,您可以切换到 X.Org 显示服务器,如 第 2.8 节 “选择 GNOME 环境并显示协议” 所述。

libinput

Red Hat Enterprise Linux 8 使用一个新的统一输入堆栈 libinput,它管理所有常用设备类型,如鼠标、触摸板、触摸屏、平板电脑、轨迹球和指向棒。X.OrgGNOME Shell on Wayland 都使用此统一堆栈。

GNOME Shell on Wayland 对所有设备直接使用 libinput,并且没有可用的可切换驱动程序支持。在 X.Org 下,libinput 作为 X.Org libinput 驱动程序来实现,驱动程序支持概述如下。

鼠标、触摸屏、轨迹球、指向棒
Red Hat Enterprise Linux 8 对这些设备使用 X.Org libinput 驱动程序。Red Hat Enterprise Linux 7 中使用的 X.Org evdev 驱动程序可在需要时作为备用提供。
触摸板
Red Hat Enterprise Linux 8 对触摸板使用 X.Org libinput 驱动程序。X.Org synaptics 驱动程序(用于Red Hat Enterprise Linux 7 中的触摸板)不再提供。
图形平板
Red Hat Enterprise Linux 8 继续使用 X.Org wacom 驱动程序,它用于 Red Hat Enterprise Linux 7 中的平板设备。但是,在需要时可以使用 X.Org libinput 驱动程序。
其他输入设备
Red Hat Enterprise Linux 7 对不属于上述类别的其他输入设备使用 X.Org evdev 驱动程序。Red Hat Enterprise Linux 8 默认使用 X.Org libinput 驱动程序,但如果设备与 libinput 不兼容,则可以回退到 X.Org evdev 驱动程序。

手势

GNOME Shell on Wayland 支持新的触摸板和触摸屏手势。这些手势包括:

  • 通过使用四个手指向上或向下拖拽来切换工作区。
  • 通过将三个手指合拢来打开 Activities 概览。

2.7. 当前 Wayland 限制

Nvidia 驱动程序

Wayland 上的 GNOME Shell 不支持专有 Nvidia 二进制驱动程序。为避免在使用 Nvidia GPU 时出现任何复杂情况,GNOME Shell 会自动回退到 X.Org,这意味着登录屏幕不提任何基于 Wayland 协议的选项。

注意

nouveau 驱动程序仍被支持,它是 Nvidia 图形的默认驱动程序。

远程桌面

使用 GNOME Shell on Wayland ,VNC 支持由 gnome-remote-desktop 软件包提供。通过 gnome-remote-desktop 使用 VNC 进行远程访问目前需要一个已经登录的会话,并且只有主显示器可以访问。使用 PipeWire 介质服务器可以与 GNOME Shell on Wayland 进行屏幕共享。有关 PipeWire 介质服务器的更多详细信息,请参阅 PipeWire 项目

对于更高级的 VNC 使用,您需要切换到 X.org,其中提供了传统的 VNC 工具。如需更多信息,请参阅 GNOME 环境概述

X 显示管理器

Wayland 上的 GNOME Shell 不支持 X 显示管理器控制协议(XDMCP)。

因此,不能使用 X 显示管理器从同一台或其它计算机在X.Org 显示服务器上启动会话。

其他限制

应注意以下与 Wayland 协议相关的额外限制:

  • X.Org 屏幕操作工具不可用。
  • 不支持 xrandr 工具,因为 Wayland 处理布局、轮转和分辨率的方式不同。
  • 无法使用 Alt+F2 r 快捷方式重新启动 GNOME Shell
  • 由于稳定性问题,建议在虚拟环境中使用 X.org 而不是 Wayland。对于使用 qxl 驱动程序的虚拟机,基于 Wayland 协议的图形不可用。
  • Wayland 不支持 libinput 驱动程序无法处理的自定义或小型输入设备。

其它资源

  • 您可以在 /usr/lib/udev/rules.d/61-gdm.rules 文件中找到基于 Wayland 的图形不可用的当前环境列表。

2.8. 选择 GNOME 环境并显示协议

Red Hat Enterprise Linux 8 的默认桌面环境是 GNOME Shell in Wayland 作为显示服务器的 GNOME 标准。但是,由于 Wayland 的某些限制,您可能想要切换图形协议堆栈。您可能还希望从 GNOME 标准切换到 GNOME 经典。

流程

  1. 在登录屏幕(GDM)中,单击 Sign In 按钮旁边的齿轮按钮。

    注意

    您无法从锁定屏幕访问这个选项。当您首次启动 Red Hat Enterprise Linux 8 或者从当前会话退出时,登录屏幕会出现。

    gnome environments new

  2. 在出现的下拉菜单中,选择您首选的选项。

    注意

    请注意,在登录屏幕上显示的菜单中,X.Org 显示服务器标记为 X11 显示服务器。

重要

由上述流程导致的 GNOME 环境和图形协议堆栈的更改在用户退出登录以及关闭或重启计算机时永久存在。

第 3 章 在 GNOME 中安装应用程序

这部分描述了您用来在 GNOME 3 中安装新应用程序的各种方法。

先决条件

  • 管理员特权.

3.1. GNOME 软件应用程序

GNOME 软件是一个实用程序,允许您在图形界面中安装和更新应用程序、软件组件和 GNOME Shell 扩展。

GNOME 软件提供了一个图形应用程序目录,它们是包含 *.desktop 文件的应用程序。可用的应用按照用途划分成多个类别。

GNOME 软件使用 PackageKit 和 Flatpak 技术作为其后端。

3.2. 使用 GNOME 软件安装应用程序

这个流程使用 GNOME 软件安装程序安装图形应用程序。

流程

  1. 启动 GNOME Software 应用程序。
  2. 查找要安装在可用类别中的应用程序:

    • 音频和视频
    • 通信和新闻
    • 生产率
    • 图形和图片
    • 附加组件

      附加组件包括例如 GNOME Shell 扩展、编解码器或字体等。

    • 开发人员工具
    • 工具

    gnome software new

  3. 点击所选的应用程序。

    gnome software install photos1 new

  4. 单击 Install 按钮。

    gnome software install photos2 new

3.3. 安装应用程序来打开文件类型

此流程安装可打开给定文件类型的应用程序。

先决条件

  • 您可以在文件系统中访问所需文件类型的文件。

流程

  1. 尝试打开与系统上当前未安装的应用程序关联的文件。
  2. GNOME 自动识别可以打开文件的合适的应用程序,并提供下载应用程序。

3.4. 在 GNOME 中安装 RPM 软件包

这个过程安装您手动下载为文件的 RPM 软件包。

流程

  1. 下载所需的 RPM 软件包。
  2. Files 应用程序中,打开存储下载的 RPM 软件包的目录。

    注意

    默认情况下,下载的文件存储在 /home/user/Downloads/ 目录中。

  3. 双击 RPM 软件包的图标来进行安装。

3.5. 从 GNOME 中搜索到的应用程序中安装应用程序

这个流程安装在 GNOME 应用程序搜索中找到的图形应用程序。

流程

  1. 打开 Activities Overview 屏幕。
  2. 在搜索条目中开始输入所需的应用程序的名称。

    install gimp 1 new

    GNOME 自动查找存储库中的应用程序,并显示应用程序的图标。

  3. 单击应用程序的图标来打开 GNOME Software

    install gimp 2

  4. 再次单击应用程序的图标。

    install gimp 3

  5. 单击 Install 以完成 GNOME Software 中的安装。

3.6. 其它资源

第 4 章 使用 GNOME 注册系统以进行更新

您必须注册系统以获取系统的软件更新。本节介绍了如何使用 GNOME 注册您的系统。

先决条件

  • 红帽客户门户网站的有效帐户

    对于新用户注册的详情,请参阅创建红帽登陆页。

  • 激活键,如果要使用激活键注册系统
  • 注册服务器,如果您使用注册服务器注册系统

4.1. 在 GNOME 中使用红帽帐户注册系统

按照以下步骤将您的系统注册到您的红帽帐户中。

先决条件

  • 红帽客户门户网站中的有效帐户。

    对于新用户注册的详情,请参阅创建红帽登陆页。

流程

  1. 打开 系统菜单,该菜单可从右上角访问,然后单击 Settings 图标。

    System menu

  2. DetailsAbout 部分,点 Register
  3. 选择 Registration Server
  4. 如果没有使用红帽服务器,在 URL 项中输入服务器地址。
  5. Registration Type 菜单中选 Red Hat Account
  6. Registration Details 中:

    • Login 项中输入您的红帽帐户用户名。
    • Password 项中输入您的红帽帐户密码。
    • Organization 项中输入您的机构名称。
  7. Register

4.2. 在 GNOME 中使用激活码注册系统

按照以下步骤,使用激活码注册您的系统。您可从您的机构管理员获得激活码。

先决条件

  • 激活码。

    有关生成新激活键的详情,查看 Activation Keys 页。

流程

  1. 打开 系统菜单,该菜单可从右上角访问,然后单击 Settings 图标。

    System menu

  2. DetailsAbout 部分,点 Register
  3. 选择 Registration Server
  4. 如果没有使用红帽服务器,在 URL 项中输入服务器地址。
  5. Registration Type 菜单中选 Activation Keys
  6. Registration Details 中:

    • Activation Keys 字段中输入您的激活码。

      以逗号 (,) 分隔您的激活码。

    • Organization 字段中输入您的机构名称或者 ID。
  7. Register

4.3. 使用 GNOME 取消系统注册

按照以下流程中的步骤取消系统注册。取消注册后,您的系统将不再接收软件更新。

流程

  1. 打开 系统菜单,该菜单可从右上角访问,然后单击 Settings 图标。

    System menu

  2. DetailsAbout 部分中,点击 Details

    此时会出现 Registration Details 屏幕。

  3. 点击 Unregister

    此时会出现有关取消系统注册有何影响的警告。

  4. 点击 Unregister

4.4. 其它资源

第 5 章 远程访问桌面

您可以从远程客户端连接到 RHEL 服务器上的桌面。

5.1. 远程桌面访问选项

RHEL 为远程连接到桌面提供了多个选项。每个选项都适合不同的用例:

使用 GNOME 工具进行单用户访问

此方法允许使用图形 GNOME 应用在客户端和服务器上进行远程访问。它配置虚拟网络计算(VNC)会话,以便只有一个用户能够在指定的时间连接到服务器上的桌面。

根据会话类型,此方法使用不同的组件来实现屏幕共享:

  • 在 X11 会话中,它使用 vino 组件。
  • 在 Wayland 会话中,它使用 gnome-remote-desktop 组件。

    此方法始终使用显示号 0。因此,VNC 会话总是连接到登录到服务器系统的用户。

    VNC 客户端应用程序必须支持 tls_anon 连接。例如,您可以在 Linux 系统上使用 Remote Desktop Viewer (vinagre)应用程序。您必须在服务器上禁用 VNC 加密,才能从 Microsoft Windows 客户端(如 RealVNC )进行连接。

使用命令行工具进行多用户访问

这个方法配置 VNC 会话,以便多个远程客户端可以并行连接到服务器。您必须首先使用命令行工具在客户端和服务器上启用 VNC 访问。

任何 VNC 客户端应用程序都可以连接到使用此方法配置的服务器。

使用通过 SSH 的 X11 转发访问单个应用程序

此方法在客户端上执行 SSH 命令,该命令在服务器上启动单个图形。应用程序窗口会在客户端上打开。

当您不需要完整的远程桌面会话时,此方法非常有用。

5.2. 以单个用户身份远程访问桌面

您可以使用图形 GNOME 应用程序远程连接到 RHEL 服务器上的桌面。在给定时间,只能有一个用户连接到服务器上的桌面。

5.2.1. 使用 GNOME 在服务器上启用桌面共享

这个流程将 RHEL 服务器配置为启用来自单一客户端的远程桌面连接。

先决条件

  • GNOME Remote Desktop 服务已安装:

    # yum install gnome-remote-desktop

流程

  1. 配置防火墙规则来启用对服务器的 VNC 访问:

    # firewall-cmd --permanent --add-service=vnc-server
    success
  2. 重新载入防火墙规则:

    # firewall-cmd --reload
    success
  3. 在 GNOME 中打开 Settings.
  4. 进入到 Sharing 菜单:

    screen sharing 0

  5. 单击 Screen Sharing

    屏幕共享配置会打开:

    screen sharing 1 off

  6. 点击窗口标头中的切换按钮启用页面共享:

    screen sharing 2 on highlight

  7. 选择 Allow connections to control the screen 复选框。
  8. Access Options 下,选择 Require a password 选项。
  9. Password 字段中设置密码。

    在连接到服务器上的桌面时,远程客户端必须输入此密码。

    screen sharing 4 password

5.2.2. 使用 GNOME 连接到共享桌面

这个流程使用 Remote Desktop Viewer 应用程序(vinagre)连接到远程桌面会话。它连接到当前登录服务器上的用户的图形会话。

先决条件

流程

  1. 在客户端上安装 Remote Desktop Viewer 应用程序:

    # yum install vinagre
  2. 启动 Remote Desktop Viewer 应用程序(vinagre)。
  3. 连接

    vinagre connect

  4. 协议菜单中选择 VNC
  5. Host 字段中,输入服务器的 IP 地址。

    vinagre vnc

  6. 连接

验证步骤

  1. 在客户端上,检查您能否看到共享服务器桌面。
  2. 在服务器中,屏幕共享指示器会出现在顶部面板的右侧:

    screen sharing indicator

    您可以在系统菜单中控制屏幕共享。

5.2.3. 在 GNOME VNC 中禁用加密

您可以在 GNOME 远程桌面解决方案中禁用加密。这可使不支持加密的 VNC 客户端连接到服务器。

流程

  1. 以服务器用户身份,将 org.gnome.desktop.remote-desktop.vnc GSettings 模式的 加密 密钥设置为 ['none']

    $ gsettings set org.gnome.desktop.remote-desktop.vnc encryption "['none']"
  2. 可选: 红帽建议您开通通过 SSH 的 VNC 连接到 VNC 端口的隧道。因此,SSH 隧道会保持连接加密。

    例如:

    1. 在客户端上,配置端口转发。

      # ssh -N -T -L 5901:server-ip-address:5901 user@server-ip-address
    2. 连接到 localhost:5901 地址上的 VNC 会话。

5.3. 以多个用户身份远程访问桌面

您可以远程连接到 RHEL 服务器上的桌面,并以不同用户身份同时打开多个会话。

重要

以下说明适用于 RHEL 8.3 及更新版本。如果您在使用 RHEL 8.0 到 8.2,请参阅 如何在 Red Hat Enterprise Linux 8.0 - 8.2 中配置特定于用户的 VNC 服务器

先决条件

  • 安装 VNC 服务器:

    # yum install tigervnc-server
  • 安装 VNC 客户端:

    # yum install tigervnc

5.3.1. VNC 中端口和显示号与用户的映射

通过 VNC,客户端可以连接到服务器上不同用户的桌面会话。显示号和 TCP 端口号会附加到导出 VNC 会话的每个服务器用户身上。客户端使用端口号来指定它要连接服务器的哪个用户。

如果多个客户端使用相同的端口号进行连接,则它们都打开与同一服务器用户的 VNC 会话。

您必须为导出 VNC 会话的每个服务器用户配置映射。对于每个这样的用户,您必须选取一个唯一的端口和显示号。

推荐的映射

红帽建议您对第一个用户从端口号 5902 ,显示号 2 开始,并为每个额外的服务器用户数字递增 1。

端口号 5900 和显示 0 代表当前登录到图形会话的服务器用户。您无法为已登录到图形会话的用户启动 VNC 服务器。

表 5.1. 端口和显示号对

端口号显示号备注

5900

0

已登录用户

5901

1

 

5902

2

第一个推荐的 VNC 用户

5903

3

 

 
重要

红帽建议您不要配置 root 用户来导出 VNC 会话。root VNC 会话是不安全的,会话的某些元素可能无法按预期工作。

防火墙规则

您必须在防火墙配置中打开所选端口。在防火墙中允许 vnc-server 服务打开从 5900 至 5903 的端口。如果需要启用对其他服务器用户的访问权限,则必须手动指定端口号来打开 5903 以上的端口。

5.3.2. VNC 服务器配置文件

多个配置文件会影响 VNC 服务器的行为。您可以配置用户映射和各种全局选项。

常规选项

您可以在 /etc/tigervnc/vncserver-config-defaults 配置文件中配置 VNC 服务器的常规选项。该文件使用以下格式:

option1=value
option2

例如:

session=gnome
alwaysshared
securitytypes=vncauth,tlsvnc
desktop=sandbox
geometry=2000x1200

配置文件的优先级

VNC 服务器读取以下常规选项文件,顺序为从最重要到最不重要:

  1. /etc/tigervnc/vncserver-config-mandatory

    此文件取代了默认配置,其优先级高于按用户的配置。其目的是用于希望强制实施特定 VNC 选项的系统管理员。

  2. $HOME/.vnc/config

    单个用户可以覆盖此文件中的默认 VNC 配置。

  3. /etc/tigervnc/vncserver-config-defaults

    此文件存储默认的 VNC 配置。

用户映射

您可以在 /etc/tigervnc/vncserver.users 配置文件中配置用户与其关的端口和显示号之间的映射。该文件使用以下格式:

:number=user

例如:

:2=test
:3=vncuser

其它资源

  • 有关可用的配置选项列表,请查看 Xvnc(1) 手册页。

5.3.3. 在服务器上启用多用户 VNC 访问

此流程配置 RHEL 服务器,以便多个用户可以同时在其上打开 VNC 会话。

先决条件

  • 如果您之前使用 systemd 单元文件配置了 VNC,请删除所有过时的 VNC 配置:

    [root]# rm /etc/systemd/system/vncserver@.service

流程

  1. 将用户映射到显示号和端口号。

    /etc/tigervnc/vncserver.users 配置文件中,为每个要导出 VNC 会话的服务器用户添加一行:

    :user-number=user-name
    • 使用映射到所选现有用户的端口号和显示号替换 user-number
    • 使用所选现有用户的用户名替换 user-name

    例如:

    :2=vncuser
  2. 在防火墙中打开 5900 到 5903 的 TCP 端口:

    [root]# firewall-cmd --permanent --add-service=vnc-server
  3. 重新载入防火墙规则:

    [root]# firewall-cmd --reload
  4. /etc/tigervnc/vncserver-config-defaults 配置文件中添加以下行:

    session=gnome
    alwaysshared

    这个配置有以下影响:

    • 当远程用户登录时,VNC 服务器会启动 GNOME 会话。
    • 多个用户可以同时连接到 VNC 服务器。
  5. 作为导出 VNC 会话的每个服务器用户,为用户设置 VNC 密码:

    [regular-user]$ vncpasswd

    在连接到服务器上的桌面时,远程客户端必须输入此密码。

  6. 如果您之前为用户配置了 VNC,请确保配置文件具有正确的 SELinux 上下文:

    [regular-user]$ restorecon -RFv ~/.vnc
  7. 为常规用户启用并启动 VNC 服务器单元:

    [root]# systemctl enable --now vncserver@:user-number
  8. 如果服务器使用专有 Nvidia 驱动程序,请禁用 Wayland:

    1. 取消 /etc/gdm/custom.conf 配置文件中 WaylandEnable=False 行的注释。
    2. DefaultSession=gnome-xorg.desktop 选项添加到配置文件的 [daemon] 部分。
    3. 重启服务器。

其它资源

5.3.4. 以多个用户身份连接到 VNC 服务器

这个流程使用 vncviewer 应用程序连接到远程桌面会话。您可以同时打开到远程桌面的多个连接。

先决条件

流程

  • 连接到 VNC 服务器:

    $ vncviewer --shared server-ip:display
    • server-ip 替换为您要连接的服务器的 IP 地址。
    • 使用服务器用户导出 VNC 会话的显示号替换 display

5.4. 远程访问单个应用程序

您可以在 RHEL 服务器上远程启动图形应用程序,并使用 X11 转发从远程客户端使用它。

5.4.1. 在服务器上启用 X11 转发

配置 RHEL 服务器,以便远程客户端可以通过 SSH 使用服务器上的图形应用程序。

流程

  1. 安装基本的 X11 软件包:

    # yum install xorg-x11-xauth xorg-x11-fonts-\* xorg-x11-utils dbus-x11
    注意

    您的应用程序可能依赖其他图形库。

  2. /etc/ssh/sshd_config 配置文件中启用 X11Forwarding 选项:

    X11Forwarding yes

    RHEL 中默认禁用该选项。

  1. 重启 sshd 服务:

    # systemctl restart sshd.service

5.4.2. 使用 X11 转发远程启动应用程序

使用 SSH 从远程客户端访问 RHEL 服务器上的图形应用程序。

先决条件

  • 服务器上已启用通过 SSH 的 X11 转发。详情请查看 第 5.4.1 节 “在服务器上启用 X11 转发”
  • 确定 X11 显示服务器在您的系统上运行:

    • 在 RHEL 上,图形界面中默认提供 X11。
    • 在 Microsoft Windows 上,安装 X11 服务器,例如Xming。
    • 在 macOS 上,安装 XQuartz X11 服务器。
  • 您已配置并重启了 OpenSSH 服务器。详情请参阅 配置和启动 OpenSSH 服务器

流程

  1. 使用 SSH 登录到服务器:

    [local-user]$ ssh -X -Y remote-server
    The authenticity of host 'remote-server (192.168.122.120)' can't be established.
    ECDSA key fingerprint is SHA256:uYwFlgtP/2YABMHKv5BtN7nHK9SHRL4hdYxAPJVK/kY.
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
  2. 通过检查其指纹来确认服务器密钥有效。

    注意

    如果您计划定期登录到服务器,请使用 ssh-copy-id 命令将用户的公钥添加到服务器。

  3. 输入 yes 来继续连接。

    Warning: Permanently added 'remote-server' (ECDSA) to the list of known hosts.
  4. 出现提示时,输入服务器密码。

    local-user's password:
    [local-user ~]$
  5. 从命令行启动应用程序:

    [remote-user]$ application-binary
提示

要跳过中间终端会话,请使用以下命令:

$ ssh user@server -X -Y -C binary_application

第 6 章 在低层面配置 GNOME

6.1. 配置 GNOME 简介

以下组件将设置存储在 GNOME 桌面环境中:

GSettings
GNOME 应用程序设置的高级 API。
dconf 数据库
用于存储 GNOME 配置的基于密钥的 Binary Large Object(BLOB)数据库。它管理用户设置,如 GDM、应用程序和代理设置,并充当 GSettings 的后端。

您可以使用以下工具之一查看和编辑 GSettings 值:

dconf-editor 图形应用程序
dconf-editor 提供用于浏览设置及其编辑的 GUI。它在树视图中显示设置的层次结构,还显示有关每个设置的其他信息,包括描述、类型和默认值。
gsettings 命令行工具
gsettings 工具可用于显示和设置 dconf 值。gsettings 工具支持命令和设置的 Bash 完成。此工具还使您能够在 shell 脚本中自动配置。
dconf 命令行工具

命令行工具,用于从/向 dconf 数据库读和写单个值或整个目录。

警告

作为用户或应用程序开发人员,不要直接使用 dconf 工具。

要操作 dconf 值,请始终使用 dconf editor 应用程序或 gsettings 工具。

直接使用 dconf 的唯一例外是在设置系统范围的默认配置时,因为其他工具不允许操作此类配置。

这些工具共享以下功能:

  • 浏览和更改系统和应用程序首选项的选项
  • 更改首选项
  • 由常规用户运行,因为这两个工具都旨在浏览和修改当前用户的 GSettings 数据库

图 6.1. 显示 org.gnome.desktop.background 键的 dconf 编辑器

新增 dconf 编辑器截图

6.2. GSettings 模式和键

GSettings 数据库将所有设置存储在模式和键的树中:

  • 键存储设置的特定值。
  • 模式定义了相关设置的组和子组,包括每个设置及其默认值的摘要和描述。

通常,有一个与 GSettings 数据库中每个模式关联的特定的、知名的路径。然而,在某些情况下,模式是 可重新分配的,因此它们可以应用到 GSettings 数据库中的多个路径。一个可重新分配的模式可以有任意数量的实例。例如,如果模式描述了一个帐户,并且您想在 GSettings 中存储任意数量的帐户,这非常有用。

模式路径通常指与配置的程序或库关联的域名。

gsettings 工具使用空格分隔键的格式指定模式和键:

domain.name key

如果模式是可重新分配的,您还必须在模式名称后指定一个路径:

domain.name:path key

dconf 工具将模式和键指定为一个斜杠分隔的字符串:

/domain/name/key

例 6.1. 文件中的文件夹视图设置

您可以使用以下格式访问 Files 应用程序中控制文件夹视图的设置。

使用 gsettings

org.gnome.nautilus.preferences default-folder-viewer

使用 dconf

/org/gnome/nautilus/preferences/default-folder-viewer

6.3. GSettings 值

每个 GSettings 键都将特定设置的值存储为 GVariant 数据类型。要修改键的值,您必须使用 GVariant 文本格式指定值。

GVariant 支持以下数据类型:

数据类型GVariant 文本格式示例

Boolean

  • true
  • false

String

  • 'option1'
  • "option2"

Number

  • 5
  • 37.5
  • 3.75e1

tuple

  • ("hello", 42)

Array

  • [1, 2, 3]

Dictionary

  • {1: "one", 2: "two", 3: "three"}

Variant

  • [<"hello">, <42>]

Maybe

  • just 'hello'
  • nothing

Byte string

  • b'abc'
  • b"abc"

6.4. 管理用户和系统 GNOME 设置

dconf 数据库为系统管理员和用户提供对 GNOME 配置的多个级别的控制:

  • 管理员可以定义适用于所有用户的默认设置。
  • 用户可以使用自己的设置来覆盖默认值。
  • 管理员还可以锁定设置,以防止用户覆盖它们。

6.5. dconf 配置文件

dconf 配置文件是 dconf 系统收集的系统硬件和软件配置数据库的一个列表。

dconf 配置文件可让您比较相同的系统,来对硬件或软件问题进行故障排除。

dconf 系统将其配置文件存储在文本文件中,这些文件可在 /etc/dconf/profile/ 目录或其他位置找到。$DCONF_PROFILE 环境变量可以指定从 /etc/dconf/profile/ 到文件的相对路径,或者指定绝对路径,例如在用户的主目录中。

请注意,dconf 配置文件中设置的键对会覆盖默认设置。

启动时,dconf 咨询 $DCONF_PROFILE 环境变量,以找到要打开的 dconf 配置文件的名称。结果取决于是否设置了变量:

  • 如果设置了,dconf 会尝试打开变量中命名的配置文件,如果此步骤失败,则会中止。
  • 如果没有设置,dconf 会尝试打开名为 user 的配置文件,如果此步骤失败,则使用内部硬连接的配置。

dconf 配置文件中的每一行都指定一个 dconf 数据库。

第一行表示用于写入更改的数据库。其余行显示只读数据库。

以下是存储在 /etc/dconf/profile/user 中的示例配置文件:

user-db:user
system-db:local
system-db:site

在本例中,dconf 配置文件指定了三个数据库:

user
用户数据库的名称可在 ~/.config/dconf 中找到
localsite
系统数据库,位于 /etc/dconf/db/
注意

要将新的 dconf 用户配置文件应用到用户的会话中,您需要登出并登录,因为会话的 dconf 配置文件是在登录时确定的。

6.6. 配置自定义默认值

您可以通过为 dconf 配置文件中的键提供默认值来设置机器范围的默认设置。用户可以覆盖这些默认值。

流程

  1. 识别您要配置的 GSettings 模式、键和设置允许的值。

    您可以使用 dconf editor 应用程序或 gsettings 工具。有关 gsettings 的详情,请参阅 在命令行上使用 GSettings 键

  2. 确保 /etc/dconf/profile/user 配置文件启用了用户配置文件:

    user-db:user
    system-db:local
  3. /etc/dconf/db/local.d/ 目录中为默认设置创建一个纯文本 keyfile。

    选择一个表示设置的文件名。文件名通常以数字开头,如 /etc/dconf/db/local.d/01-background

  4. 在 keyfile 中,以以下格式指定默认设置:

    [path/to/schema]
    key-name=value
    another-key-name=another-value
    重要

    在这里使用斜杠(/)而不是点(.)分隔模式组件。

    例 6.2. 默认背景

    例如,要设置默认桌面背景,请在 /etc/dconf/db/local.d/01-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
    用于后台镜像的 URI。请注意,后端只支持本地 file:// URI。
    2
    决定由 wallpaper_filename 设置的图像是如何呈现的。
    3
    绘制渐变或纯色时,左或上的颜色。
    4
    绘制渐变时右或底部的颜色,不用于纯色。
  5. 更新系统数据库:

    # dconf update
  6. 用户必须登出并再次登录才能使更改生效。

其它资源

  • 如果要避免创建用户配置文件,您可以使用 dconf 工具从和向 dconf 数据库读和写单个值或整个目录。如需更多信息,请参阅 dconf(1) 手册页。

6.7. 锁定特定设置

默认情况下,用户进行的任何设置都优先于系统设置。因此,用户可以使用自己的设置覆盖系统设置。在 dconf 中使用锁定模式,您可以防止用户更改特定的设置。

流程

  1. 创建 /etc/dconf/db/local.d/locks/ 目录。
  2. 在这个目录中,添加任何数量的列出您要锁定的键的文件。

例 6.3. 锁定默认墙纸的设置

  1. 设置默认墙纸。
  2. 创建 /etc/dconf/db/local.d/locks/ 目录。
  3. 使用以下内容创建 /etc/dconf/db/local.d/locks/00-default-wallpaper 文件,每行列出一个键:

    # Prevent users from changing values for the following keys:
    /org/gnome/desktop/background/picture-uri
    /org/gnome/desktop/background/picture-options
    /org/gnome/desktop/background/primary-color
    /org/gnome/desktop/background/secondary-color
  4. 更新系统数据库:

    # dconf update

6.8. 通过 NFS 存储用户设置

如果您在带有 NFS 主目录的系统上使用 GNOME,您必须为 dconf 数据库设置 keyfile 后端。否则,dconf 可能无法正常工作。使用这个配置,dconf 将设置存储在 ~/.config/dconf-keyfile/user 文件中。

流程

  1. 确保系统上已安装了 glib2-fam 软件包:

    # yum install glib2-fam

    如果没有此软件包,则在远程机器上配置更改的通知无法正确显示。

  2. 在各个客户端上创建或编辑 /etc/dconf/profile/user 文件。
  3. /etc/dconf/profile/user 文件的开头添加以下行:

    service-db:keyfile/user
  4. 用户必须登出并重新登录。

    dconf 轮询 keyfile 后端,以确定是否已进行了更新,因此设置可能不会被立即更新。

6.9. 在命令行上使用 GSettings 键

您可以使用 gsettings 工具来配置、操作和管理 GSettings 键。查看涉及使用 gsettings 工具的用例的示例:

6.9.1. 设置键的值

$ gsettings set SCHEMA[:PATH] KEY VALUE

请注意,值被指定为一个序列化的 GVariant。

如果操作成功,命令不会显示任何输出。更改会立即生效。

例 6.4. 在您喜欢的应用程序中添加所选的应用程序

$ gsettings set org.gnome.shell favorite-apps \
                "['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']"

6.9.2. 监控键更改

监控键的更改并打印更改的值:

$ gsettings monitor SCHEMA[:PATH] [KEY]

如果没有指定 KEY 参数,则模式中的所有键都会被监控。监控将继续,直到您停止了进程。

例 6.5. 监控首选应用程序键的更改

要监控您喜欢的应用程序中的更改:

  1. 监控 favorite-apps 键:

    $ gsettings monitor org.gnome.shell favorite-apps
  2. 在另一个终端中,更改 favorite-apps 键:

    $ gsettings set org.gnome.shell favorite-apps \
                    "['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']"
  3. 因此,第一个终端中的命令会显示 favorite-apps 键已更改的通知:

    favorite-apps: ['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']

6.9.3. 检查键是否可写

$ gsettings writable SCHEMA[:PATH] KEY

例 6.6. 检查首选应用程序键是否可写

以下键是可写的:

$ gsettings writable org.gnome.shell favorite-apps

True

6.9.4. 列出键的有效值

$ gsettings range SCHEMA[:PATH] KEY

例 6.7. 检查 remember-mount-password 键的有效值范围

以下键存储了一个布尔值:

$ gsettings range org.gnome.shell remember-mount-password

type b

如需更多信息,请参阅 GVariant 格式字符串

6.9.5. 显示键的描述

$ gsettings describe SCHEMA[:PATH] KEY

例 6.8. 显示 picture-uri 键的描述

$ gsettings describe org.gnome.desktop.screensaver picture-uri

URI to use for the background image. Note that the backend only supports local `file://` URIs.

6.9.6. 显示键的值

$ gsettings get SCHEMA[:PATH] KEY

请注意,该值显示为一个序列化的 GVariant。

例 6.9. 显示 remember-mount-password 键的值

$ gsettings get org.gnome.shell remember-mount-password

false

6.9.7. 重置键的值

$ gsettings reset SCHEMA[:PATH] KEY

如果重置成功,命令不会显示任何输出。

默认值存储在 dconfgsettings-desktop-schemas 文件中。

例 6.10. 将 lock-delay 键重置为其默认值

lock-delay 键的默认值为 0,它存储在 /usr/share/glib-2.0/schemas/org.gnome.desktop.screensaver.gschema.xml 文件中。

$ gsettings reset org.gnome.desktop.screensaver lock-delay

因此,lock-delay 的值被设为 0。

6.9.8. 重置整个模式

$ gsettings reset-recursively SCHEMA[:PATH]

例 6.11. 将 org.gnome.desktop.screensaver 模式重置为默认值

$ gsettings reset-recursively org.gnome.desktop.screensaver

因此,lock-delay 值被重置为 0,org.gnome.desktop.screensaver 模式中被用户更改的其他键也会被重置为其默认值。

6.9.9. 列出安装的不可重新分配的模式

$ gsettings list-schemas

例 6.12. 列出安装的不可重新分配的模式

要列出安装在您系统上的所有不可重新分配的模式:

$ gsettings list-schemas

org.gnome.rhythmbox.library
org.gnome.shell.overrides
org.gnome.system.proxy.https
org.gnome.clocks
org.gnome.eog.fullscreen
org.gnome.login-screen
org.gnome.eog.view
...

6.9.10. 列出模式中的所有键

$ gsettings list-keys SCHEMA[:PATH]

例 6.13. 列出 org.gnome.shell 模式中的所有键

$ gsettings list-keys org.gnome.shell

enabled-extensions
command-history
remember-mount-password
always-show-log-out
had-bluetooth-devices-setup
looking-glass-history
disable-user-extensions
app-picker-view
disable-extension-version-validation
development-tools
favorite-apps
...

6.9.11. 列出模式中嵌套的所有模式

$ gsettings list-children SCHEMA[:PATH]

请注意,如果模式不包含其他模式,则列表为空。

例 6.14. 列出 org.gnome.shell 模式中的模式

$ gsettings list-children org.gnome.shell

keyboard org.gnome.shell.keyboard
keybindings org.gnome.shell.keybindings

6.9.12. 递归列出模式中的键和值

$ gsettings list-recursively [SCHEMA[:PATH]]

如果没有指定任何模式,命令会列出所有模式中的所有键。

例 6.15. 递归列出系统上的所有键和值

$ gsettings list-recursively

org.gnome.nautilus.desktop network-icon-visible false
org.gnome.nautilus.desktop font ''
org.gnome.nautilus.desktop network-icon-name 'Network Servers'
org.gnome.nautilus.desktop home-icon-name 'Home'
org.gnome.nautilus.desktop volumes-visible true
org.gnome.Vinagre always-enable-listening false
org.gnome.Vinagre always-show-tabs false
org.gnome.Vinagre show-accels false
org.gnome.Vinagre history-size 15
org.gnome.Vinagre shared-flag true
...

6.10. 致谢

该文本的某些部分首次出现在 GNOME 桌面系统管理指南 中。版权所有 © 2014 GNOME Project、Micha、Micha、Jeremy Bicha、Ekaterina Gerasimova、minnie_eg、Aruna Sankaranarayan、Sindhu S、Shobha Tyagi、Shaun McCance、David King 等。根据 Creative Commons Attribution-ShareAlike 3.0 Unported License 获得许可。

此 Red Hat Enterprise Linux 8 文档的编辑们感谢 GNOME 社区成员对 GNOME 桌面系统管理指南的宝贵贡献。

第 7 章 配置文件关联

这部分提供有关将 RHEL 配置为打开或访问具有不同格式的文件的信息。

在 GNOME 中,MIME(多用途互联网邮件扩展)类型有助于识别用于打开这些文件的文件和应用的格式。

7.1. 多用途互联网邮件扩展类型

GNOME 桌面使用 MIME 类型来:

  • 确定默认情况下,哪个应用应打开特定的文件格式。
  • 注册其他可以打开特定格式的文件的应用程序。
  • 设置描述文件类型的字符串,例如,在文件应用的文件属性对话框中。
  • 设置代表特定文件格式的图标,例如,在文件应用的文件属性对话框中。

MIME 类型名称采用给定格式:

media-type/subtype-identifier

例如,image/jpeg

这里 image 是介质类型,jpeg 是子类型标识符。

GNOME 遵循 Freedesktop.org 中的多用途 互联网邮件扩展(MIME)信息规范,以确定:

  • 存储所有 MIME 类型规格文件的机器范围的和特定于用户的位置。
  • 如何注册 MIME 类型,以便桌面环境知道您可以使用哪个应用程序来打开特定的文件格式。
  • 用户如何更改应用程序应该以何种文件格式打开。

MIME 数据库

MIME 数据库是 GNOME 用来存储已知 MIME 类型信息的所有 MIME 类型规范文件的集合。

从系统管理员的角度来看,MIME 数据库最重要的部分是 /usr/share/mime/packages/ 目录,其中存储了指定有关已知 MIME 类型信息的与 MIME 类型相关的文件。此类文件的一个示例是 /usr/share/mime/packages/freedesktop.org.xml,它默认指定有关系统上可用的标准 MIME 类型的信息。shared-mime-info 软件包提供此文件。

其它资源

  • 有关描述 MIME 类型系统的详细信息,请参阅 Freedesktop 网站 上的共享 MIME 信息规范。

7.2. 为所有用户添加自定义 MIME 类型

您必须在 /usr/share/mime/packages/ 目录中创建一个新的 MIME 类型规范文件,并在 /usr/share/applications/ 目录中创建一个 .desktop 文件,以便在系统上为所有用户添加自定义 MIME 类型,并为该 MIME 类型注册默认应用程序。

流程

  1. 使用以下内容创建 /usr/share/mime/packages/application-x-newtype.xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
      <mime-type type="application/x-newtype">
        <comment>new mime type</comment>
        <glob pattern="*.xyz"/>
      </mime-type>
    </mime-info>

    这里的示例 application-x-newtype.xml 文件定义了一个新的 MIME 类型 application/x-newtype,并将带有扩展名 .xyz 的文件名分配给该 MIME 类型。

  2. 创建一个新的 .desktop 文件,例如,在 /usr/share/applications/ 中创建 myapplication1.desktop,其中包含以下内容:

    [Desktop Entry]
    Type=Application
    MimeType=application/x-newtype
    Name=My Application 1
    Exec=myapplication1 field_code

    此处的示例 myapplication1.desktop 文件将 application/x-newtype MIME 类型与名为 My Application 1 的应用程序相关联。它通过命令 myapplication1 来运行。

    根据 myapplication1 的启动方式,从 Desktop Entry Specification 中选择一个相应的字段代码。例如,对于能够打开多个文件的应用程序,请使用:

    Exec=myapplication1 %F
  3. 以 root 用户身份,更新 MIME 数据库以使您的更改生效。

    # update-mime-database /usr/share/mime
  4. 以 root 用户身份,更新应用程序数据库。

    # update-desktop-database /usr/share/applications

验证步骤

  1. 要验证已将 *.xyz 文件与 application/x-newtype MIME 类型成功关联,请首先创建一个空文件,如 test.xyz ,然后执行以下命令:

    $ touch test.xyz
    
    $ gvfs-info test.xyz | grep "standard::content-type"
      standard::content-type: application/x-newtype
  2. 要验证 myapplication1.desktop 是否已正确设置为 application/x-newtype MIME 类型的默认注册的应用程序,请执行以下命令:

    $ gio mime --query application/x-newtype
    Default application for 'application/x-newtype': myapplication1.desktop
    Registered applications:
    	myapplication1.desktop
    Recommended applications:
    	myapplication1.desktop

7.3. 为单个用户添加自定义 MIME 类型

您必须在 ~/.local/share/mime/packages/ 目录中创建一个新的 MIME 类型规范文件,并在 ~/.local/share/applications/ 目录中创建一个 .desktop 文件,以便为单个用户添加自定义 MIME 类型,并为该 MIME 类型注册默认的应用程序。

流程

  1. 创建具有以下内容的 ~/.local/share/mime/packages/application-x-newtype.xml 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
      <mime-type type="application/x-newtype">
        <comment>new mime type</comment>
        <glob pattern="*.xyz"/>
      </mime-type>
    </mime-info>

    这里的示例 application-x-newtype.xml 文件定义了一个新的 MIME 类型 application/x-newtype,并将扩展名为 .xyz 的文件名分配给该 MIME 类型。

  2. 创建一个的新的 .desktop 文件,如 myapplication1.desktop,并将其放在 ~/.local/share/applications/ 目录中,其中包含以下内容:

    [Desktop Entry]
    Type=Application
    MimeType=application/x-newtype
    Name=My Application 1
    Exec=myapplication1 field_code

    上面的示例 myapplication1.desktop 文件将 application/x-newtype MIME 类型与名为 My Application 1 的应用程序相关联。它通过命令 myapplication1 来运行。

    根据 myapplication1 的启动方式,从 Desktop Entry Specification 中选择一个相应的字段代码。例如,对于能够打开多个文件的应用程序,请使用:

    Exec=myapplication1 %F
  3. 更新 MIME 数据库以使您的更改生效:

    $ update-mime-database ~/.local/share/mime
  4. 更新应用程序数据库:

    $ update-desktop-database ~/.local/share/applications

验证步骤

  1. 要验证已将 *.xyz 文件与 application/x-newtype MIME 类型成功关联,请首先创建一个空文件,如 test.xyz ,然后执行以下命令:

    $ touch test.xyz
    
    $ gvfs-info test.xyz | grep "standard::content-type"
      standard::content-type: application/x-newtype
  2. 要验证 myapplication1.desktop 是否已正确设置为 application/x-newtype MIME 类型的默认注册的应用程序,请执行以下命令:

    $ gio mime --query application/x-newtype
    Default application for 'application/x-newtype': myapplication1.desktop
    Registered applications:
    	myapplication1.desktop
    Recommended applications:
    	myapplication1.desktop

7.4. 覆盖默认 MIME 类型的选项

默认情况下,软件包安装的 /usr/share/applications/mimeapps.list/usr/share/applications/gnome-mimeapps.list 文件指定注册哪个应用程序来打开特定的 MIME 类型。

系统管理员可以创建 /etc/xdg/mimeapps.list 或包含了他们想要使用默认注册的应用程序覆盖的 MIME类型列表的 /etc/xdg/gnome-mimeapps.list 文件。

本地用户可以创建 ~/.local/share/applications/mimeapps.list 或包含了他们想要覆盖默认注册的应用程序的 MIME 类型列表的 ~/.local/share/applications/gnome-mimeapps.list 文件。

配置按照以下顺序应用:

  1. /usr/share/applications/
  2. /etc/xdg/
  3. ~/.local/share/application/

在特定的位置,配置按以下顺序应用:

  1. mimeapps.list
  2. gnome-mimeapps.list

7.5. 为所有用户覆盖默认注册的应用程序

作为系统管理,您可以根据要求更新配置。系统管理员的配置优先于默认的软件包配置。每一种情况,特定于桌面的配置都优先于不指定桌面环境的配置。

流程

  1. 查阅 /usr/share/applications/mimeapps.list 文件,来确定您要更改的默认注册的应用程序的 MIME 类型。例如,以下 mimeapps.list 文件示例指定了 text/htmlapplication/xhtml+xml MIME 类型的默认注册的应用程序:

    [Default Applications]
    text/html=firefox.desktop
    application/xhtml+xml=firefox.desktop

    上面的例子通过指定相应的 .desktop(firefox.desktop )来指定默认的应用程序(Firefox)。您可以在 /usr/share/applications/ 目录中找到其他应用程序的 .desktop 文件。

  2. 创建 /etc/xdg/mimeapps.list 文件,并在此文件中指定 MIME 类型及其相应的默认注册的应用程序。

    [Default Applications]
    text/html=myapplication1.desktop
    application/xhtml+xml=myapplication2.desktop

    上面的例子将 text/html MIME 类型的默认注册的应用程序设置为 myapplication1.desktop,并将 application/xhtml+xml MIME 类型设置为 myapplication2.desktop

验证步骤

  • 要使这些设置正常工作,请确保 myapplication1.desktopmyapplication2.desktop 文件都放在 /usr/share/applications/ 目录中。
  • 执行 gio mime query 命令,来验证默认注册的应用程序是否已正确设置。

    $ gio mime text/html
    Default application for 'text/html': myapplication1.desktop
    Registered applications:
    	myapplication1.desktop
    	firefox.desktop
    Recommended applications:
    	myapplication1.desktop
    	firefox.desktop

7.6. 为单个用户覆盖默认注册的应用程序

单个用户还可根据要求更新配置。此配置优先于系统管理员的配置,系统管理员的配置优先于软件包配置。每一种情况,特定于桌面的配置都优先于不指定桌面环境的配置。

流程

  1. 查阅 /usr/share/applications/mimeapps.list 文件,来确定您要更改的默认注册的应用程序的 MIME 类型。例如,以下 mimeapps.list 文件示例指定了 text/htmlapplication/xhtml+xml MIME 类型的默认注册的应用程序:

    [Default Applications]
    text/html=firefox.desktop
    application/xhtml+xml=firefox.desktop

    上面的例子通过指定相应的 .desktop(firefox.desktop )来指定默认的应用程序(Firefox)。您可以在 /usr/share/applications/ 目录中找到其他应用程序的 .desktop 文件。

  2. 创建 ~/.local/share/applications/mimeapps.list 文件,并在此文件中指定 MIME 类型及其相应的默认注册的应用程序。

    [Default Applications]
    text/html=myapplication1.desktop
    application/xhtml+xml=myapplication2.desktop

    上面的例子将 text/html MIME 类型的默认注册的应用程序设置为 myapplication1.desktop,并将 application/xhtml+xml MIME 类型设置为 myapplication2.desktop

验证步骤

  • 要使这些设置正常工作,请确保 myapplication1.desktopmyapplication2.desktop 文件都放在 /usr/share/applications/ 目录中。
  • 执行 gio mime query 命令,来验证默认注册的应用程序是否已正确设置。

    $ gio mime text/html
    Default application for 'text/html': myapplication1.desktop
    Registered applications:
    	myapplication1.desktop
    	firefox.desktop
    Recommended applications:
    	myapplication1.desktop
    	firefox.desktop

第 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 会话。这可能会导致用户丢失未保存的数据。

其它资源

8.2. 自定义登录屏幕的品牌

您可以使用 dconf 配置文件更改 GNOME 登录屏幕(GDM)上显示的徽标。

先决条件

  • 准备一个任何支持的格式的图像文件:ANI、BPM、GIF、GTIFF、ICNS、ICO、JPEG、JPEG 2000、PCX、PNM、PBM、PGM、PPM、SVG、SVG、TGA、TIFF、WBMP、XBM 或 XPM。
  • 镜像高度必须 48 个像素左右。如果它非常大,它将超出徽标区域。
  • 将镜像文件存储在 gdm 用户可以访问的位置。例如,选择一个通用可读的系统目录,如 /opt//usr/local/

流程

  1. 使用以下内容创建 /etc/dconf/db/gdm.d/01-override-logo 配置文件:

    [org/gnome/login-screen]
    logo='/path/to/logo.png'

    使用您要用作登录屏幕徽标的图像文件的路径替换 /path/to/logo.png

  2. 更新系统数据库:

    # dconf update

验证

  1. 登出或切换到登录屏幕。
  2. 检查它是否显示您选择的徽标。
  3. 如果徽标没有更新,请重启 GDM:

    # systemctl restart gdm
    警告

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

8.3. 使用 GNOME Shell 扩展来自定义桌面环境

GNOME Shell 扩展允许自定义默认的 GNOME Shell 界面及其部分,如窗口管理和应用程序启动。

重要

在 Red Hat Enterpris Linux 上部署第三方 GNOME Shell 扩展之前,请确保阅读以下文档,来了解红帽对第三方软件的支持政策:红帽全球支持服务如何处理第三方软件、驱动程序和/或未认证的硬件/虚拟机监控程序?

8.3.1. GNOME Shell 扩展概述

以下是 RHEL 8 上可用的 GNOME Shell 扩展的概述,包括提供特定扩展的软件包的名称,以及每个扩展的作用的描述。

表 8.2. 可用的 GNOME Shell 扩展概述

软件包名称扩展名称描述

gnome-shell-extension-apps-menu

apps-menu

GNOME Shell 的 Applications 菜单

gnome-shell-extension-top-icons

Top Icons

显示顶部的传统图标

gnome-shell-extension-user-theme

user-theme

支持 GNOME Shell 中的自定义主题

gnome-shell-extension-drive-menu

drive-menu

GNOME Shell 的驱动状态菜单

gnome-shell-extension-window-list

window-list

在 GNOME Shell 的屏幕底部显示窗口列表

gnome-shell-extension-dash-to-dock

Dash to Dock

micxgx.gmail.com 提供的 Gnome Shell dock

gnome-shell-extension-desktop-icons

Desktop Icons

支持 GNOME 经典体验的桌面图标

gnome-shell-extension-no-hot-corner

nohotcorner

禁用 GNOME Shell 中的热角

gnome-shell-extension-systemMonitor

systemMonitor

GNOME Shell 的 系统监控器

gnome-shell-extension-updates-dialog

Updates Dialog

当有软件更新时显示模式对话框

gnome-shell-extension-window-grouper

window-grouper

在同一工作区上保留属于同一进程的窗口

gnome-shell-extension-panel-favorites

Panel-favorites

GNOME Shell 顶栏中的最喜欢的启动程序

gnome-shell-extension-windowsNavigator

windowNavigator

支持 GNOME shell 中窗口和工作区的键盘选择

gnome-shell-extension-auto-move-windows

Autom Move Windows

在 GNOME Shell 中为应用程序分配特定的工作区

gnome-shell-extension-launch-new-instance

launch-new-instance

始终为 GNOME Shell 启动新的应用程序实例

gnome-shell-extension-workspace-indicator

workspace-indicator

GNOME Shell 的工作区指示器

gnome-shell-extension-disable-screenshield

Disable Screen Shield

如果锁定被禁用,请禁用 GNOME Shell 屏幕屏蔽

gnome-shell-extension-native-window-placement

native-window-placement

GNOME Shell 的原生窗口放置

gnome-shell-extension-screenshot-window-sizer

screenshot-window-sizer

GNOME Shell 的截屏窗口大小调节器

gnome-shell-extension-horizontal-workspaces

horizontal-workspaces

支持 GNOME 经典体验的桌面图标

gnome-shell-extension-places-menu

places-menu

GNOME Shell 的 Places 状态菜单

gnome-classic-session

GNOME 经典模式会话

8.3.2. 启用机器范围的扩展

先决条件

若要为系统上的所有用户提供扩展,请在 /usr/share/gnome-shell/extensions 目录中安装它们。

流程

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

    [org/gnome/shell]
    # List all extensions that you want to have enabled for all users
    enabled-extensions=['myextension1@myname.example.com', 'myextension2@myname.example.com']

    enabled-extensions 键使用扩展的 UUID(myextension1@myname.example.commyextension2@myname.example.com)指定启用的扩展。

  2. 更新系统数据库:

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

    注意

    目前无法为已经登录的用户启用额外的扩展。这不适用于已安装并启用了他们自己的 GNOME 扩展的现有用户。

8.3.3. 锁定启用的扩展

您可以通过锁定 org.gnome.shell.enabled-extensions 键来防止用户启用或禁用扩展。

流程

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

    [org/gnome/shell]
    # List all extensions that you want to have enabled for all users
    enabled-extensions=['myextension1@myname.example.com', 'myextension2@myname.example.com']

    enabled-extensions 键使用扩展的 UUID(myextension1@myname.example.commyextension2@myname.example.com)指定启用的扩展。

  2. 覆盖用户设置,并防止用户在 /etc/dconf/db/local.d/locks/extensions 中更改它:

    # Lock the list of mandatory extensions
    /org/gnome/shell/enabled-extensions
  3. 更新系统数据库:

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

锁定 org.gnome.shell.enabled-extensions 后,在 ~/.local/share/gnome-shell/extensions/usr/share/gnome-shell/extensions 中安装的任何不在 org.gnome.shell.enabled-extensions 键中列出的扩展,都不会被 GNOME Shell 加载,从而防止用户使用它们。

8.3.4. 设置强制扩展

在 GNOME Shell 中,您可以提供用户必须使用的扩展集。

先决条件

扩展必须安装在 /usr/share/gnome-shell/extensions 目录下。

流程

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

    [org/gnome/shell]
    # List all mandatory extensions
    enabled-extensions=['myextension1@myname.example.com', 'myextension2@myname.example.com']

    enabled-extensions 键使用扩展的 UUID(myextension1@myname.example.commyextension2@myname.example.com)指定启用的扩展。

  2. 覆盖用户设置,并防止用户在 /etc/dconf/db/local.d/locks/extensions-mandatory 中更改它:

    # Lock the list of mandatory extensions
    /org/gnome/shell/enabled-extensions
  3. 更新系统数据库:

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

第 9 章 自定义 GNOME 桌面功能

9.1. 使用桌面 GUI 更改语言

您可以使用桌面 GUI 更改系统语言。

先决条件

  • 在您的系统中会安装所需的语言软件包

流程

  1. 点击其图标,从系统菜单中打开 Settings 应用程序。

    System menu

  2. Settings 中,从左侧栏中选择 Region & Language
  3. Language 菜单。

    cs language menu

  4. 在菜单里选择所需地区和语言。

    cs select region language

    如果您的区域及语言没有被列出,向下滚动页面,然后点 More 选择可用的地区和语言。

    cs available region language

  5. Done
  6. Restart 以使更改生效。

    cs restart region language

注意

有些应用程序不支持某些语言。没有被翻译的应用程序会使用美国英语。

9.2. 启用 Ctrl+Alt+Backspace 快捷键

Ctrl+Alt+Backspace 快捷键组合用于终止 X.Org 显示服务器。

您可能想要终止 X.Org,特别是在以下情况:

  • 程序导致 X.Org 停止工作。
  • 您需要从已登录的会话中快速切换。
  • 您启动了一个失败的程序。
  • 您不能在当前会话中操作。
  • 您的屏幕冻结了。

流程

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

    [org/gnome/desktop/input-sources]
    # Enable Ctrl-Alt-Backspace for all users
    xkb-options=['terminate:ctrl_alt_bksp']
  2. 覆盖用户设置,并防止用户在 /etc/dconf/db/local.d/locks/input-sources 中更改它:

    # Lock the list of enabled XKB options
    /org/gnome/desktop/input-sources/xkb-options
  3. 更新系统数据库以使更改生效:

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

如果启用了 Ctrl+Alt+Backspace 组合键,则所有用户都可以终止 X.Org,这将把他们带回到登录提示。

9.3. 禁用命令行访问

要对桌面用户禁用命令行访问,您需要在多个不同的上下文中进行配置更改:

注意

下列步骤不会删除桌面用户访问命令行的权限,而是删除桌面用户访问命令行的方式。

9.3.1. 设置 org.gnome.desktop.lockdown.disable-command-line 键

这种方法可防止用户:

  • 访问终端
  • 使用 Alt+F2 命令提示指定要执行的命令行

流程

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

    [org/gnome/desktop/lockdown]
    # Disable command-line access
    disable-command-line=true
  2. 覆盖用户设置,并防止用户在 /etc/dconf/db/local.d/locks/lockdown 中更改它:

    # Lock the disabled command-line access
    /org/gnome/desktop/lockdown/disable-command-line
  3. 更新系统数据库:

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

9.3.2. 禁用 X.Org 上的虚拟终端切换

使用 X.Org 显示服务器,用户通常可以使用 Ctrl+Alt+function 键快捷方式从 GNOME 桌面和 X.Org 切换到虚拟终端。您可以通过修改 X.Org 配置来禁用对所有虚拟终端的访问。

重要

如果 GNOME Shell on Wayland 被用作显示服务器,则无法应用此流程。

流程

  1. /etc/X11/xorg.conf.d/ 目录中创建或编辑 X 配置文件:

    注意

    按照惯例,这些特定于主机的配置文件名称以两位数字和连字符开头,并且始终具有 .conf 扩展名。因此,可以是以下文件名 /etc/X11/xorg.conf.d/10-xorg.conf

    Section "Serverflags"
    
    Option "DontVTSwitch" "yes"
    
    EndSection
  2. 重新启动 X.Org 显示服务器,使更改生效。

9.4. 防止计算机在合上盖子时挂起

合上笔记本电脑的时,计算机默认会挂起以省电。您可以通过更改该行为的设置来防止计算机在合上盖子 时挂起。

警告

如果一些笔记本电脑合上时仍在运行,尤其是它们处于封闭的地方,那么它们可能会过热。因此,请考虑将默认设置从挂起改为其他选项是否适合您的情况。

流程

  1. 打开 /etc/systemd/logind.conf 文件进行编辑。
  2. 在文件中找到 HandleLidSwitch=suspend 行。

    如果在开头使用 # 字符来引用,请将 # 删除来取消引用。

    如果文件中不存在该行,请添加它。

  3. 将默认的 suspend 参数替换为:

    • lock 用于屏幕锁定
    • ignore 表示什么也不做。
    • poweroff 用于关闭计算机

    例如:

    [Login]
    HandleLidSwitch=lock
  4. 保存更改,并关闭编辑器。
  5. 运行以下命令,以便您的更改保留到下一次系统重启:

    # systemctl restart systemd-logind.service
    警告

    重新启动服务会强制中断任何当前登录的桌边用户运行的 GNOME 会话。这会导致用户丢失未保存的数据。

有关 /etc/systemd/logind.conf 文件的详情,请查看 logind.conf 手册页。

9.5. 在图形目标模式下按下电源按钮时的更改行为

在图形登录屏幕或图形用户会话中,按 power 按钮会使机器默认挂起。当用户物理按下 power 按钮或从远程控制台按下虚拟 power 按钮时,才会出现这种情况。您可以选择不同的 power 按钮行为。

流程

  1. /etc/dconf/db/local.d/01-power 文件中为系统范围的设置创建一个本地数据库:

    [org/gnome/settings-daemon/plugins/power]
    power-button-action='suspend'

    使用以下 power 按钮操作之一替换 suspend

    nothing
    什么都不做。
    suspend
    挂起系统。
    hibernate
    休眠系统。
    interactive

    显示一个弹出窗口查询,询问用户要做什么。

    使用交互模式时,在按下 power 按钮后,系统会在 60 秒后自动关闭。但是,您可以从弹出查询中选择不同的行为,如下图所示。

    交互模式的弹出查询

    interactive power

  2. 覆盖用户设置,并防止用户在 /etc/dconf/db/local.d/locks/01-power 文件中更改它:

    /org/gnome/settings-daemon/plugins/power/power-button-action
  3. 更新系统数据库:

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

第 10 章 显示系统安全分类

作为管理员,用户必须了解系统的安全分类,您可以设置安全分类通知。这可以是永久横幅或临时通知,它可以在登录屏幕、GNOME 会话以及锁定屏幕中显示。

10.1. 启用系统安全分类横幅

您可以创建一个永久分类横幅,以表示系统的整体安全分类级别。这对必须始终了解用户登录的系统的安全分类级别的部署非常有用。

永久分类横幅可能会出现在正在运行的会话中,锁定屏幕和登录屏幕,并自定义其后台颜色、其字体及其在屏幕中的位置。

这个过程创建一个带有白色文本的红色横幅(位于登录屏幕的顶部和底部)。

流程

  1. 安装 gnome-shell-extension-classification-banner 软件包:

    # yum install gnome-shell-extension-classification-banner
    注意

    软件包只包括在 RHEL 8.6 及更高版本中。

  2. 在以下位置之一创建 99-class-banner 文件:

    • 要在登录屏幕中配置通知,请创建 /etc/dconf/db/gdm.d/99-class-banner
    • 要在用户会话中配置通知,请创建 /etc/dconf/db/local.d/99-class-banner
  3. 在创建的文件中输入以下配置:

    [org/gnome/shell]
    enabled-extensions=['classification-banner@gnome-shell-extensions.gcampax.github.com']
    
    [org/gnome/shell/extensions/classification-banner]
    background-color='rgba(200,16,46,0.75)'
    message='TOP SECRET'
    top-banner=true
    bottom-banner=true
    system-info=true
    color='rgb(255,255,255)'
    警告

    此配置会覆盖那些启用了扩展(如 通知系统安全分类)的类似的配置文件。

    要启用多个扩展,在 enabled-extensions 列表中指定它们。例如:

    enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com', 'classification-banner@gnome-shell-extensions.gcampax.github.com']
  4. 更新 dconf 数据库:

    # dconf update
  5. 重启系统。

故障排除

  • 如果没有为现有用户显示分类横幅,请以 用户身份登录并使用 Tweaks 应用启用 Classification 横幅 扩展。

10.2. 通知系统安全分类

您可以在 overlay banner 中设置包含预定义消息的通知。对于需要在登录前读取系统安全分类的部署,这非常有用。

根据您的配置,通知可以在登录屏幕中、登录后、锁定屏幕或稍后没有用户活动显示。当出现通知时,您始终可以忽略通知。

流程

  1. 安装 gnome-shell-extension-heads-up-display 软件包:

    # yum install gnome-shell-extension-heads-up-display
  2. 在以下位置之一创建 99-hud-message 文件:

    • 要在登录屏幕中配置通知,请创建 /etc/dconf/db/gdm.d/99-hud-message
    • 要在用户会话中配置通知,请创建 /etc/dconf/db/local.d/99-hud-message
  3. 在创建的文件中输入以下配置:

    [org/gnome/shell]
    enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com']
    
    [org/gnome/shell/extensions/heads-up-display]
    message-heading="Security classification title"
    message-body="Security classification description"
    # The following options control when the notification appears:
    show-when-locked=true
    show-when-unlocking=true
    show-when-unlocked=true

    将以下值替换为描述系统安全分类的文本:

    安全分类标题
    标识安全分类的简短标题。
    安全分类描述
    提供额外详情的较长消息,如引用各种指南。
    警告

    此配置会覆盖那些启用了扩展(如 启用系统安全分类横幅)的类似的配置文件。

    要启用多个扩展,在 enabled-extensions 列表中指定它们。例如:

    enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com', 'classification-banner@gnome-shell-extensions.gcampax.github.com']
  4. 更新 dconf 数据库:

    # dconf update
  5. 重启系统。

故障排除

  • 如果没有为现有用户显示通知,请以用户身份登录,并使用 Tweaks 应用程序启用 Heads-up display message 扩展。

第 11 章 启用中文、日语或韩语文本输入

如果您使用中文、日语或韩语字符编写,您可以将 RHEL 配置为使用您的语言输入文本。

11.1. 输入法

某些脚本(如中文、日语或韩语)需要键盘输入来通过输入法引擎(IME)以输入原生文本。

输入法是文本输入和所选脚本之间的一组转换规则。IME 是执行由输入法指定的输入转换的软件。

要在这些脚本中输入文本,您必须设置 IME。如果您以本地语言安装系统,并在 GNOME Initial Setup 屏幕中选择了您的语言,则语言的输入法会被默认启用。

11.2. 可用的输入法引擎

以下输入法引擎(IME)可以从 RHEL 中列出的软件包中获得:

表 11.1. 可用的输入法引擎

语言脚本IME 名称软件包

中文

简体中文

Intelligent Pinyin

ibus-libpinyin

中文

繁体中文

New Zhuyin

ibus-libzhuyin

日语

Kanji, Hiragana, Katakana

kana Kanji

ibus-kkc

韩语

Hangul

Hangul

ibus-hangul

其他

各种各样的

M17N

ibus-m17n

11.3. 安装输入法引擎

此流程安装可用于输入中文、日语和韩语文本的输入法引擎(IME)。

流程

  • 安装所有可用的输入法软件包:

    # yum install @input-methods

11.4. 在 GNOME 中切换输入法

这个流程为您的脚本(如中文、日语或韩语脚本)设置输入法。

先决条件

  • 输入法软件包已安装。

流程

  1. 进入 系统菜单,该菜单可从右上角访问,然后单击 Settings

    System menu

  2. 选择 Region & Language 部分。
  3. Input Sources 列表中,检查当前启用的输入法。

    Input Sources
  4. 如果没有您要的输入法:

    1. 单击 Input Sources 列表下的 + 按钮。

      添加输入源
    2. 选择您的语言.

      语言菜单
      注意

      如果您无法在菜单中找到您的语言,请单击菜单末尾的三个点图标(More…)。

    3. 选择要使用的输入法。一个齿轮图标标记所有输入法,以便将其与简单的键盘布局区分开来。

      输入法菜单
    4. 单击 Add 来确认您的选择。
  5. 使用以下方法之一切换活跃输入法:

    • 单击顶部面板右侧的输入法指示器,并选择您的输入法。

      输入法指示器
    • 使用 Super+Space 键盘快捷方式在启用的输入法之间进行切换。

验证

  1. 打开文本编辑器。
  2. 用您的语言键入文本。
  3. 验证文本是否可以在您的原生脚本中显示。

11.5. 其它资源

第 12 章 在 GNOME 中使用特殊字符

在 GNOME 中,您可以使用组合键从不同的语言和符号集中输入特殊字符,包括键盘上没有的特殊字符。您可以使用不同语言和符号集输入和查看特殊字符,从而可以轻松地在 GNOME 中使用各种字符集。

要输入这些特殊字符,您可以将键盘上一个现有的键定义为组合键。启用后,组合键允许您通过以特定顺序按多个键来输入特殊字符和符号。

12.1. 使用 Tweaks 应用程序为单个用户启用 Compose 键

要通过 Tweaks 应用程序为单个用户启用 Compose 密钥,请按照以下步骤操作:

先决条件

  • Tweaks 应用程序已安装在您的系统上。

    # yum install gnome-tweaks

流程

  1. 打开 Tweaks 应用程序。
  2. 在侧边栏中选择 Keyboard & amp; Mouse。
  3. 启用 Compose Key
  4. 从列出的键中选择哪个键会触发 Compose 功能。

    启用 compose 键

12.2. 为另一个用户启用组合键

您可以使用 gsettings 工具为另一用户启用组合键。

先决条件

  • 管理访问权限.

流程

  1. 允许所有客户端连接到 X 服务器:

    # xhost +
  2. 运行以下命令来设置组合键:

    # su - <username> -c "gsettings set org.gnome.desktop.input-sources xkb-options \"['compose:<compose_key>']\""

    <username> 替换为您要启用组合键的用户的用户名。将 <compose_key> 替换为您要用作组合键的键。您可以使用 ralt 选项将右 Alt 键指定为组合键。

    要查看您可以在键盘上设置组合键的其他组合键选项,请使用:

    $ grep compose /usr/share/X11/xkb/rules/evdev.lst
  3. 重置访问控制:

    # xhost -

验证

  • 要检查其他用户的组合键设置,请使用:

    # su - <username> -c "gsettings get org.gnome.desktop.input-sources xkb-options"

    <username> 替换为您要为其检查组合键设置的用户的用户名。

12.3. 为所有用户启用 Compose 键

要为所有用户启用 Compose 键,请按照以下步骤操作。

流程

  1. root 用户身份打开 /etc/dconf/db/local.d/00-input-sources 文件。
  2. 在文件中输入以下内容:

    [org/gnome/desktop/input-sources]
    # Enable the Compose key
    xkb-options=['compose:selected-key']

    selected-key 替换为触发 Compose 的键。例如,使用 ralt 设置正确的 Alt 键。

  3. 要覆盖用户的 Compose 设置并阻止用户更改它们,请创建 /etc/dconf/db/local.d/locks/input-sources 文件并输入以下内容:

    # Lock the list of enabled XKB options
    /org/gnome/desktop/input-sources/xkb-options
  4. 更新系统数据库以使更改生效:

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

其它资源

  • 有关其他密钥的名称,请参见 xkeyboard-config(7) man page。

12.4. 特殊字符的组合键序列

表展示了在 GNOME 中用于输入带有变音符或重音的特殊字符的组合键序列。每行显示一个组合键序列及其相应的结果

表 12.1. 特殊字符的组合键序列

组合键序列结果

compose+'+letter

锐音字母((é, á, ñ)

compose+'+letter

重音字母(è, ù, ò)

compose+"+letter

元音或变音字母(ë, ö, ü)

compose+-+letter

长音符字母(ā, ē, ō)

compose+/+letter

笔画或变音符字母(ø, ł, ǿ)

compose+=+letter

双锐音符字母(ő, ű, ȁ)

compose+.+letter

上面带点的字母(ȧ, ċ, ḋ)

compose+,+letter

变音符号字母 (ç, ş, ņ)

compose+^+letter

圆润口音字母 (â, ê, î)

compose+~+letter

波浪形重音字母(ã, ñ, õ)

第 13 章 输入 emoji 字符

您可以根据应用的类型,使用 GNOME 中的几种不同方法键入 emoji 字符。

13.1. 在 GTK 应用程序中输入 emoji 字符

这个过程会在使用 GTK 图形工具包的应用程序中插入 emoji 字符,例如在原生 GNOME 应用程序中。

先决条件

  • 确保应用程序基于 GTK 工具包构建。

流程

  1. 打开 GTK 应用程序。
  2. 确保文本字段处于活动状态。
  3. Ctrl+

    此时会打开 emoji 选择菜单。

  4. 浏览 emoji 字符或键入标识您要插入的 emoji 字符的关键字,如 smile

    有关与 emoji 字符关联的关键字的完整列表,请查看 Emoji List 页面中 的其他关键字列

  5. 单击所选字符,或使用光标键导航到该字符,然后按 Enter 键

验证

  • 检查预期的 emoji 字符现在出现在您的光标处。

13.2. 在任何应用程序中键入 emoji 字符

这个过程会在任意应用程序中插入 emoji 字符,无论应用程序使用的图形工具包是什么。

流程

  1. 打开应用程序。
  2. 确保文本字段处于活动状态。
  3. Ctrl+Shift+e

    下划线字母 e 显示 在您的光标处。

  4. 键入用于标识您要插入的 emoji 字符的关键字,如 smile

    有关与 emoji 字符关联的关键字的完整列表,请查看 Emoji List 页面中 的其他关键字列

  5. 重复按 空格 键浏览与您的关键字匹配的 emoji 字符。
  6. Enter 确认所选的 emoji 字符。

验证

  • 检查预期的 emoji 字符现在出现在您的光标处。

第 14 章 管理 GNOME 中的存储卷

这部分描述了如何在具有虚拟文件系统的 GNOME 中管理存储卷。GNOME 虚拟文件系统(GVFS)是由构建 GNOME 桌面的库所提供的虚拟文件系统接口的扩展。

14.1. GVFS 系统

GVFS 提供完整的虚拟文件系统基础架构,并处理 GNOME 桌面中的存储。它根据统一资源标识符(URI)标准使用地址进行全面识别,与 web 浏览器中的 URL 地址类似。这些地址采用 模式://用户@server/path 的形式是确定服务类型的重要信息。

GVFS 有助于挂载资源。这些挂载在多个应用之间共享。资源在运行的桌面会话中全局跟踪,这意味着即使您退出触发挂载的应用程序,挂载仍可用于任何其他应用程序。多个应用可以同时访问挂载,除非挂载被后端限制了。某些协议设计上仅允许一个通道。

GVFS 可挂载 /run/media/ 目录中的可移动介质。

14.2. GVFS URI 字符串的格式

您必须组成一个 URI 字符串才能使用后端服务。这个字符串是在 GVFS 中使用的基本标识符,它包含唯一标识所需的全部必要信息,如服务类型、后端 ID、绝对路径或用户名(如果需要的话)。您可以在 File 地址栏中看到此信息,GTK+ 可打开或保存文件对话框。

以下示例是 URI 字符串的一个基本形式,它指向在 ftp.myserver.net 域上运行的文件传输协议(FTP)服务器的根目录(/):

例 14.1. 指向 root FTP 目录的 URI 字符串

ftp://ftp.myserver.net/

例 14.2. 指向 FTP 上文本文件的 URI 字符串

ssh://joe@ftp.myserver.net/home/joe/todo.txt

14.3. 在 GNOME 中挂载存储卷

您可以在 Files 应用程序中手动挂载本地存储卷或网络共享。

流程

  1. 打开 Files 应用程序。
  2. 单击侧栏中的 Other Locations

    窗口列出了所有连接的存储卷以及本地区域网络上公开的所有网络共享。

    如果能在此列表中看到卷或网络共享,请点击项来挂载它。

    如果要连接到不同的网络共享,请使用以下步骤。

  3. Connect to Server 字段中输入网络共享的 GVFS URI 字符串。
  4. 连接
  5. 如果对话框要求登录凭证,请在相关字段中输入您的名字和密码。
  6. 挂载过程完成后,您可以浏览卷或网络共享上的文件。

14.4. 卸载 GNOME 中的存储卷

您可以在 Files 应用程序中卸载存储卷、网络共享或其他资源。

流程

  1. 打开 Files 应用程序。
  2. 在侧边栏中,点所选挂载旁边的 Unmount (MOTD)图标。
  3. 等到挂载从侧边栏中消失,或有关安全删除的通知显示。

14.5. 访问文件系统中的 GVFS 挂载

了解有关 FUSE 的更多信息,这是 GVFS 虚拟文件系统的主守护进程。

使用 GIO 库构建的应用程序可以访问 GVFS 挂载。另外,GVFS 提供了一个 FUSE 守护进程,它公开活跃的 GVFS 挂载。任何应用程序都可以使用标准的 POSIX API 访问活跃的 GVFS 挂载,就像挂载是常规文件系统一样。

在某些应用中,额外的库依赖项和新的虚拟文件系统(VFS)子系统细节可能不合适或过于复杂。因此,为了提高兼容性,GVFS 在用户空间(FUSE)守护进程中提供了一个文件系统,它通过对标准可移植操作系统接口(POSIX)访问的挂载来公开活动的挂载。此守护进程会以透明的方式转换传入的请求,来为应用程序模拟本地文件系统。

重要

您可能会遇到应用程序和 GVFS 后端的某些组合问题。

FUSE 守护进程自动使用主 gvfs 守护进程启动,并作为回退在 /run/user/UID/gvfs/~/.gvfs/ 目录中挂载卷。

手动浏览可显示每个 GVFS 挂载的各个目录。当您使用非原生应用程序从 GVFS 位置打开文档时,系统会将转换的路径作为参数传递。请注意,原生 GIO 应用程序会自动将此路径转换为原生 URI。

14.6. 可用的 GIO 命令

GIO 提供一些对脚本或测试可能有用的命令。

以下是一组 POSIX 命令的对应命令,如下所示:

命令描述

gio cat

显示文件的内容.

gio mkdir

创建新目录。

gio rename

重命名文件。

gio mount

提供对 gio 挂载功能的各个方面的访问。

gio set

设置文件上的文件属性。

gio copy

制作文件的副本。

gio list

列出目录内容。

gio move

将文件从一个地方移到另一个地方。

gio remove

删除文件。

gio trash

将文件或目录发送到 垃圾桶。根据文件所在的位置,这可能是不同的文件夹,并非所有文件系统都支持这个概念。在文件存在于用户主目录中的常见情形,回收文件夹为 $XDG_DATA_HOME/Trash

gio info

显示给定位置的信息。

gio save

从标准输入读取数据,并将数据保存到给定位置。

gio tree

以类似于树的格式,递归列出指定位置的内容。如果未指定位置,则默认为当前目录。

以下额外的命令提供更多对 GIO 细节的控制:

命令描述

gio monitor

监控文件或目录的更改,如创建、删除、内容和属性的更改,以及影响监控位置的挂载和卸载操作。

gio mime

如果未指定处理程序,则列出 mimetype 的注册的和推荐的应用程序,否则,它被设置为 mimetype 的默认处理程序。

gio open

使用默认的应用程序来打开文件,该应用程序被注册来处理此类文件。

注意

为方便用户,bash 完成作为软件包的一部分提供。

所有这些命令都是原生 GIO 客户端,不需要运行备用的 FUSE 守护进程。它们的目的不是代替 POSIX 命令,实际上,支持的切换范围极小。在它们的基本形式中,这些命令使用 URI 字符串作为参数,而不是本地路径。

其它资源

  • The gio(1) 手册页。

14.7. GIO 命令示例

以下部分提供了一些 GIO 命令用法的示例。

例 14.3. 列出本地 /tmp 目录中的所有文件

$ gio list file:///tmp

例 14.4. 从远程系统列出文本文件的内容

$ gio cat ssh://joe@ftp.myserver.net/home/joe/todo.txt

例 14.5. 将之前的文本文件复制到本地 /tmp 目录中

$ gio copy ssh://joe@ftp.myserver.net/home/joe/todo.txt /tmp/

其它资源

  • The gio 手册页。

14.8. GVFS 元数据概述

GVFS 元数据存储是为一组键值对来实现的,这些键值对将信息绑定到特定的文件。因此,用户或应用程序有一个工具可用来保存为运行时信息设计的小型数据,如图标位置、最近播放的位置、文档中的位置、标志、注释等。

每当您移动文件或目录时,GVFS 会相应地移动元数据,这样元数据与对应的文件保持连接。GVFS 私有地存储所有元数据,因此元数据仅在机器上可用。但是,GVFS 也会跟踪挂载和可移动介质。

注意

GVFS 可挂载 /run/media/ 目录中的可移动介质。

要查看和处理元数据,您可以使用:

  • gio info 命令,
  • gio set 命令,或者
  • 与属性一起使用的任何其它原生 GIO 方法。

其它资源

  • The gio 手册页。

14.9. 设置自定义的 GIO 元数据属性

此流程描述了如何设置自定义的元数据属性。

请注意,特定 gio 信息 调用和数据持久性在移动或重命名后差别。请注意 gio info 命令输出。

流程

  1. 创建一个空文件:

    $ touch /tmp/myfile
  2. 查看此文件的元数据:

    $ gio info -a 'metadata::*' /tmp/myfile
    uri: file:///tmp/myfile
    attributes:
  3. 将字符串设置为此文件:

    $ gio set -t string /tmp/myfile 'metadata::mynote' 'Please remember to delete this file!'
  4. 查看元数据:

    $ gio info -a 'metadata::*' /tmp/myfile
    uri: file:///tmp/myfile
    attributes:
      metadata::mynote: Please remember to delete this file!
  5. 将此文件移到新位置:

    $ gio move /tmp/myfile /tmp/newfile
  6. 查看元数据:

    $ gio info -a 'metadata::*' /tmp/newfile
    uri: file:///tmp/newfile
    attributes:
      metadata::mynote: Please remember to delete this file!

当您使用 GIO API 移动文件时,元数据将保持不变。

其它资源

  • The gio 手册页。

14.10. GVFS 挂载的密码管理

了解有关 GVFS 挂载身份验证的更多信息。

典型的 GVFS 挂载在激活时进行身份验证,除非资源允许匿名身份验证,或者根本不需要任何身份验证。

在标准的 GTK+ 对话框中,您可以选择是否存储密码。

当您选择持久性存储时,密码将存储在用户密钥环中。GNOME Keyring 是机密存储的中心位置。密码已加密,并在桌面会话启动时使用登录时提供的密码自动解锁。若要使用其他密码对其进行保护,您可以在第一次使用时设置密码。

Passwords and Keys 应用程序帮助管理存储的密码和 GNOME Keyring。它允许删除单个记录或更改密码。

14.11. GVFS 后端

GVFS 中的后端提供对特定资源类型的访问。这部分提供了可用 GVFS 后端及其规格的列表。

注意

某些后端被单独打包,默认情况下不安装。要安装其他后端,请使用 yum 软件包管理器。

表 14.1. 可用的后端

后端描述

afc

与 Media Transfer Protocol(MTP)类似,会公开您的 Apple iDevice 上通过 USB 连接的文件。

afp

使用 Apple Filing Protocol(AFP)客户端访问 macOS 和原始 Mac 操作系统的文件服务。

archive

以只读方式处理各种存档文件(ZIP、TAR)。

admin

提供对本地文件系统的管理员访问权限。

burn

刻录应用程序用作新 CD、DVD 或者 BD 中介质内容的临时存储的虚拟后端。

cdda

通过单独的 Waveform 音频文件格式(WAV)文件公开音频 CD。

computer

虚拟后端整合活跃挂载和物理卷。行为类似于路标。之前 Files 使用的用于其 Computer 视图。

davdavs

WebDAV 客户端,包括安全变体.只有在挂载期间才能进行身份验证。后端不支持以后按文件夹重新进行身份验证。

dns-sd

DNS 服务发现: Avahi 客户端,在网络浏览期间使用,将持久 URI 组成给发现的服务。

ftp

功能齐全的文件传输协议(FTP)客户端。默认支持被动传输。此外,通过 ftps (显式模式)和 ftpis (隐含模式)模式处理安全模式。

gphoto2

图片传输协议(PTP)客户端访问通过 USB 或 FireWire 连接的相机。

google

提供对 Google Drive 的访问。Google Drive 帐户需要在 Online Accounts 设置中配置。

http

处理所有 HTTP 请求。适用于在客户端应用中轻松从 Web 下载文件。

locatest

代理 file:// URI 的简单测试后端。后端支持错误注入。

mtp

用于访问介质播放器和智能手机内存的媒体传输协议(MTP)后端。

network

允许您浏览窗口网络,并显示通过 Avahi 发现的共享。

recent

文件选择器对话框中使用的后端,用于列出 GNOME 应用最近使用的文件。

sftp

功能齐全的 SSH 文件传输协议(SFTP)客户端。

smb

访问 Samba 和 Windows 共享。

trash

允许恢复已删除文件的遍历后端。

第 15 章 GNOME 中的卷管理故障排除

以下是 GNOME 中卷管理的一些常见错误,以及解决它们的方法。

15.1. 从非 GIO 客户端访问 GVFS 位置的故障排除

如果您在从应用程序访问 GVFS 位置时遇到问题,这可能意味着应用程序不是原生的 GIO 客户端。本地 GIO 客户端通常是所有使用 GNOME 库的 GNOME 应用程序(glibgio)。gvfs-fuse 服务作为非 GIO 客户端的备用提供。

先决条件

  • gvfs-fuse 软件包安装。

    $ yum install gvfs-fuse

流程

  1. 确保 gvfs-fuse 正在运行。

    $ ps ax | grep gvfsd-fuse

    如果 gvfs-fuse 未运行,请注销并重新登录。红帽不推荐手动启动 gvfs-fuse

  2. 找到 /run/user/UID/gvfs/ 路径的系统用户 ID(UID)。

    gvfsd-fuse 守护进程需要能够公开其服务的路径。当 /run/user/UID/gvfs/ 路径不可用时,gvfsd-fuse 将使用 ~/.gvfs 路径。

    $ id -u
  3. 如果 gvfsd-fuse 仍没有运行,请启动 gvfsd-fuse 守护进程:

    $ /usr/libexec/gvfsd-fuse -f /run/user/_UID_/gvfs

    现在,FUSE 挂载可用,您可以手动浏览应用程序中的路径。

  4. /run/user/UID/gvfs/~/.gvfs 位置中查找 GVFS 挂载。

15.2. 对不可见连接的 USB 磁盘的故障排除

在某些情况下,当您连接闪存驱动器时,GNOME 桌面可能无法显示它。如果您的闪存驱动器在 Files 中不可见,但您可以在 Disks 应用程序中看到它,您可以尝试在 Disks 中设置 Show in user interface 选项。

流程

  1. 打开 Disks 应用程序。
  2. 在侧边栏中选择磁盘。
  3. Volumes 下,点 Additional partition options (mvapich)Edit Mount Options…​
  4. 单击 Show in user interface
  5. 单击确定以确认
  6. 如果闪存盘仍不可见,您可以尝试物理移除盘,然后重新尝试连接它。

15.3. 对文件中列出的未知或不需要的分区进行故障排除

有时,当您插入磁盘时,您可能会看到未知或不需要的分区。例如,当您插入闪存磁盘时,它会被自动挂载到 Files 边栏中。有些设备有一个特殊的分区,它带有备份或帮助文件,您可能不会在该设备中每次插件时查看该文件。

流程

  1. 打开 Disks 应用程序。
  2. 在侧边栏中选择磁盘。
  3. Volumes 下,点 Additional partition options (mvapich)Edit Mount Options…​
  4. 取消选中 Show in user interface
  5. 单击确定以确认

15.4. 与远端 GVFS 文件系统的连接不可用的故障处理

在很多情况下,客户端会被意外断开与虚拟文件系统或远程磁盘挂载的连接,并且不会自动重新连接。

在这种情况下,您可能会看到错误消息。几个原因会触发这样的情况:

  • 连接中断。例如,您的笔记本电脑与 Wi-Fi 断开连接。
  • 用户在一段时间内不活跃,被服务器断开连接(空闲超时)。
  • 计算机从睡眠模式恢复。

流程

  1. 卸载文件系统.
  2. 再次挂载它。
  3. 如果连接被频繁禁用,请检查 GNOME SettingsNetwork 面板中的设置。

15.5. 对 GNOME 中忙碌的磁盘的故障排除

如果您收到有关磁盘非常忙碌的通知,请确定正在访问该磁盘的程序。然后,您可以结束正在运行的程序。您还可以使用 系统监控器 应用程序强制终止程序。

先决条件

  • 已安装 iotop 工具:

    # yum install iotop

流程

  1. 检查打开文件的列表。

    • 运行 lsof 命令以获取打开文件的列表。
    • 如果 lsof 不可用,请运行 ps ax 命令。
    • 您可以使用 系统监控器 在 GUI 中显示正在运行的进程。
  2. 确定程序后,使用以下方法之一终止它们:

    • 在命令行上执行 kill 命令。
    • 系统监控器 中,使用程序进程名称右键单击行,然后从上下文菜单中单击 EndKill

其它资源

  • kill 手册页。

第 16 章 在 GNOME 中管理书签

在 GNOME 中,您可以编辑管理文件的应用和对话框中显示的书签。

16.1. GNOME 中的书签

书签整合到 GTK+ ,并且在 GNOME 桌面中。每个代表标准 GTK+ OpenSave 对话框(GtkFileChooser)的应用程序都会在对话框的左侧面板中列出书签。此外,Files 及其克隆也会在侧边栏中显示书签。

除了书签外,GtkFileChooser 在侧边栏中列出了所有其他可用的 GVFS 卷和挂载。

在首次激活书签期间, GVFS 子系统将查找现有的挂载,如果挂载尚不存在,会尝试挂载该位置。这样,您甚至可以在 OpenSave 对话框中进行身份验证。

书签位于 ~/.config/gtk-3.0/bookmarks 文件中。在以下示例中,书签的位置为 ~/Music、~/~/Pictures~/Videos~/Downloads~/bin,因此 ~/.config/gtk-3.0/bookmarks 文件的内容类似如下:

file:///home/username/Music
file:///home/username/Pictures
file:///home/username/Videos
file:///home/username/Downloads
file:///home/username/bin
注意

使用您登录的用户名替换 username。

您可以使用此文件根据您的要求编辑书签。

16.2. 在文件中添加书签

您可以通过为其建立书签来保存对位置的引用。

流程

  1. 选择您要为其建立书签的文件夹或文件。
  2. 执行以下操作之一:

    • Ctrl+D
    • 将文件或文件夹拖拽到边栏中。

16.3. 为所有用户添加书签

作为系统管理员,您可以一次为多个用户设置书签,以便所有用户可以轻松地访问文件共享。

流程

  1. 在每个现有用户的主目录中,编辑 ~用户/.config/gtk-3.0/bookmarks 文件。
  2. 在 文件中,添加标识书签的 Uniform Resource Identifiers (URI)行。

    例如,以下行将书签添加到 /usr/share/doc/ 目录以及 GNOME FTP 网络共享中:

    file:///usr/share/doc/
    ftp://ftp.gnome.org/
  3. 可选:为系统中每个新创建的用户添加书签:

    1. 创建 /etc/skel/.config/gtk-3.0/bookmarks 文件。
    2. 在文件中输入书签 URI 行。

第 17 章 自定义默认喜欢的应用程序

您可以将常用的应用程序自定义为您喜欢的应用程序。您可以在 Activities overview 中的 GNOME Shell dash 上看到这些喜欢的应用程序。您可以使用 dconf 为单个用户或所有用户设置喜欢的应用程序。

17.1. 为单个用户设置不同的喜欢的应用程序

您可以为单个用户设置默认喜欢的应用程序。

流程

  1. 单击屏幕左上角的 Activities 来打开Activities概览。
  2. 使用以下任一方法将应用程序添加到您喜欢的列表中:

    • 点击网格按钮找到您想要的应用程序,右键单击应用程序图标,然后选择 Add to Favorites
    • 点击图标并拖到 dash 中。
  3. 查看 favorite 列表中存在的所有应用程序:

    $ dconf read /org/gnome/shell/favorite-apps
注意

如果您想锁定以上设置以防止用户更改它们,请参阅 第 19 章 锁定所选的任务

17.2. 为所有用户设置相同的喜欢的应用程序

您可以使用 dconf keyfiles 修改系统数据库文件,来为所有用户设置相同的喜欢。下列步骤编辑 dconf 配置文件,然后创建一个keyfile,来为本地配置数据库中的所有用户设置默认喜欢的应用程序。

流程

  1. 创建密钥文件 /etc/dconf/db/local.d/00-favorite-apps,来提供本地数据库的信息。/etc/dconf/db/local.d/00-favorite-apps 的内容:

    # Snippet sets gedit, terminal and nautilus as default favorites for all users
    [org/gnome/shell]
    favorite-apps = ['gedit.desktop', 'gnome-terminal.desktop', 'nautilus.desktop']
  2. 要防止用户覆盖这些设置,请使用以下内容创建文件 /etc/dconf/db/local.d/locks/favorite-apps

    # Lock default favorite applications
    /org/gnome/shell/favorite-apps
  3. 运行 dconf update 命令,来将您的更改合并到系统数据库中。
  4. 退出并重新登录,以使系统范围的更改生效。

第 18 章 在桌面环境中对用户进行身份验证

您可以执行以下操作:

  • 在 GNOME 中配置企业登录选项,
  • 启用智能卡身份验证,以及
  • 启用指纹身份验证。

18.1. 使用企业凭证来在 GNOME 中进行身份验证

您可以使用您的企业域凭证来访问您的系统。本节介绍了如何在 GNOME 中使用企业凭证登录,在 GNOME 欢迎屏幕中配置企业凭证,并在 GNOME 中添加使用企业凭证验证了的用户。

18.1.1. 在 GNOME 中使用企业凭证登录

如果您的网络有可用的活动目录或身份管理域,并且您有域帐户,则可以使用您的域凭证来登录 GNOME。

先决条件

流程

  • 登录时,输入域用户名,后跟 @ 符号,然后是您的域名。

    例如,如果您的域名是 example.com,用户名是 User,请输入:

    User@example.com
    注意

    如果已经为域帐户配置了机器,则您应看到描述登录格式的帮助提示。

18.1.2. 在 GNOME 欢迎屏幕中配置企业凭证

使用属于 GNOME Initial Setup 程序的欢迎屏幕,执行以下步骤来为企业凭证配置工作站。

初始设置仅在您创建新用户,并第一次登录到该帐户时才运行。

流程

  1. 在登录欢迎屏幕中,选择 Use Enterprise Login
  2. Domain 字段中输入您的域名。
  3. 输入您的域账户名和密码。
  4. 点击 Next
  5. 根据域配置,弹出窗口会提示输入域管理员的凭证。

18.1.3. 在 GNOME 中添加使用企业凭证验证的用户

这个流程帮助您通过 GNOME Settings 应用程序来创建新用户。对用户使用企业凭证进行了身份验证。

先决条件

流程

  1. 单击屏幕右上角的图标,来打开 Settings 窗口。
  2. 从项目列表中,选择 Details > Users
  3. 单击 Unlock,输入管理员的密码。
  4. 点击 Add user…​
  5. 单击 Enterprise Login
  6. 填写您企业帐户的 DomainUsernamePassword 字段。
  7. 点击 Add
  8. 根据域配置,弹出窗口会提示输入域管理员的凭证。

18.1.4. 对 GNOME 中企业登录的故障排除

您可以使用 realm 工具及其各种子命令来对企业登录配置进行故障排除。

流程

  • 要查看机器是否为企业登录进行了配置,请运行以下命令:

    $ realm list
注意

网络管理员可以使用 kickstart realm join 命令配置并将工作站预加入到相关域,或者通过脚本以自动的方式运行 realm join

其它资源

  • realm 手册页。

18.2. 启用智能卡身份验证

您可以使用智能卡来使工作站进行身份验证。为此,您必须配置 GDM 来允许提示智能卡,并配置操作系统以使用智能卡来登录。

您可以使用两种方法配置 GDM ,来允许使用 GUI 或使用命令行提示进行智能卡身份验证。

18.2.1. 使用 GUI 在 GDM 中配置智能卡身份验证

您可以使用 dconf 编辑器 GUI 启用智能卡身份验证。dconf 编辑器应用程序帮助更新 dconf 数据库上与配置相关的值。

先决条件

  • 安装 dconf-editor 软件包:

    # yum install dconf-editor

流程

  1. 打开 dconf-Editor 应用程序,并导航到 /org/gnome/login-screen
  2. 打开 enable-password-authentication 选项。
  3. 打开 enable-smartcard-authentication 选项。

其它资源

  • dconf-editor 手册页。
  • dconf 手册页。

18.2.2. 使用命令行在 GDM 中配置智能卡身份验证

您可以使用 dconf 命令行工具启用 GDM 登录屏幕来识别智能卡身份验证。

流程

  1. 在 /etc/dconf/db/gdm.d/login-screen 中为 GDM 数据库创建一个 keyfile ,其中包含以下内容:

    [org/gnome/login-screen]
    enable-password-authentication='false'
    enable-smartcard-authentication='true'
  2. 更新系统 dconf 数据库:

    # dconf update

其它资源

  • dconf 手册页。

18.2.3. 在系统中启用智能卡身份验证方法

对于智能卡身份验证,您可以使用 system-config-authentication 工具来配置系统,以允许您使用智能卡。因此,您可以使用 GDM 作为图形环境的有效身份验证方法。工具由 authconfig-gtk 软件包提供。

先决条件

  • 安装 authconfig-gtk 软件包
  • 为智能卡身份验证配置 GDM

其它资源

18.3. 指纹身份验证

您可以使用 system-config-authentication 工具启用指纹身份验证,来允许用户使用它们注册的指纹登录。工具由 authconfig-gtk 软件包提供。

其它资源

第 19 章 锁定所选的任务

本节描述了如何为用户锁定以下任务:

  • 打印
  • 将文件保存在磁盘上
  • 重新分区
  • 用户退出和用户切换

19.1. 锁定打印

您可以禁止向用户显示打印对话框。如果您为用户提供临时访问权限,或者您不希望用户打印到网络打印机上,这将非常有用。

重要

该功能仅适用于支持此功能的应用程序。并非所有 GNOME 和第三方应用都启用了此功能。这些更改对不支持此功能的应用程序没有影响。

要防止应用程序打印,请锁定 org.gnome.desktop.lockdown.disable-printing 键:

流程

  1. /etc/dconf/profile/user 中创建用户配置文件,除非它已存在:

    user-db:user
    system-db:local
  2. etc/dconf/db/local.d/00-lockdown 文件中为机器范围的设置创建一个本地数据库:

    [org/gnome/desktop/lockdown]
    
    # Prevent applications from printing
    disable-printing=true
  3. 覆盖用户设置,并防止用户在 /etc/dconf/db/local.d/locks/lockdown 文件中更改它:

    # List the keys used to configure lockdown
    /org/gnome/desktop/lockdown/disable-printing
  4. 更新系统数据库:

    # dconf update

在遵循这些步骤后,支持此锁定键(如 EvolutionEvinceGedit )的应用程序将禁用打印。

19.2. 锁定保存在磁盘上的文件

您可以禁用 SaveSave As 对话框。如果您为用户提供临时访问权限,或者您不希望用户将文件保存到计算机上,这将非常有用。

重要

该功能仅适用于支持此功能的应用程序。并非所有 GNOME 和第三方应用都启用了此功能。这些更改对不支持此功能的应用程序不会有影响。

要防止应用程序保存文件,请锁定 org.gnome.desktop.lockdown.disable-save-to-disk 键:

流程

  1. /etc/dconf/profile/user 中创建用户配置文件,除非它已存在:

    user-db:user
    system-db:local
  2. /etc/dconf/db/local.d/00-lockdown 文件中为机器范围的设置创建一个本地数据库:

    [org/gnome/desktop/lockdown]
    
    # Prevent the user from saving files on disk
    disable-save-to-disk=true
  3. 覆盖用户设置,并防止用户在 /etc/dconf/db/local.d/locks/lockdown 文件中更改它:

    # Lock this key to disable saving files on disk
    /org/gnome/desktop/lockdown/disable-save-to-disk
  4. 更新系统数据库:

    # dconf update

在遵循这些步骤后,支持此锁定键的应用程序(如 VideosImage ViewerEvolutionDocument ViewerGNOME Shell)将禁用其 Save As 对话框。

19.3. 锁定重新分区

polkit 可让您为单个操作设置权限。对于磁盘管理服务工具 udisks2,配置位于 /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy。此文件包含一组操作和默认值,它们可被系统管理员覆盖。

重要

存储在 /etc 中的 polkit 配置会覆盖 /usr/share/ 中软件包所提供的配置。

流程

  1. 创建一个与 /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy 中内容相同的文件:

    cp /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy /etc/share/polkit-1/actions/org.freedesktop.udisks2.policy

    不要更改 /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy 文件,您的更改会被下一次软件包更新所覆盖。

  2. 删除您不需要的操作,并将以下行添加到 /etc/polkit-1/actions/org.freedesktop.udisks2.policy 文件中:

    <action id="org.freedesktop.udisks2.modify-device">
      <message>Authentication is required to modify the disks settings</message>
         <defaults>
            <allow_any>no</allow_any>
            <allow_inactive>no</allow_inactive>
            <allow_active>yes</allow_active>
          </defaults>
     </action>

    如果要确保只有 root 用户才能执行此操作,请用 auth_admin 替换 no

  3. 保存更改。

当用户尝试更改磁盘设置时,会返回以下信息:

Authentication is required to modify the disks settings.

19.4. 锁定用户退出和用户切换

要防止用户退出,请使用以下流程:

流程

  1. 创建 /etc/dconf/profile/user 配置文件,其包含以下行:

    user-db:user
    system-db:local

    其中 local 是 dconf 数据库的名称

  2. 如果不存在,请创建 /etc/dconf/db/local.d/ 目录。
  3. 创建 /etc/dconf/db/local.d/00-logout 键文件 ,以提供本地数据库的信息:

    [org/gnome/desktop/lockdown]
    # Prevent the user from user switching
    disable-log-out=true
  4. 覆盖用户设置,并防止用户在 /etc/dconf/db/local.d/locks/lockdown 文件中更改它:

    # Lock this key to disable user logout
    /org/gnome/desktop/lockdown/disable-log-out
  5. 更新系统数据库:

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

用户可以通过切换到其他用户来避免退出锁定。为防止这种情况,也要锁定用户切换。

要锁定用户切换,请使用以下流程:

流程

  1. 创建 /etc/dconf/profile/user 配置文件,其包含以下行:

    user-db:user
    system-db:local

    其中 local 是 dconf 数据库的名称

  2. 如果不存在,请创建 /etc/dconf/db/local.d/ 目录。
  3. 创建 /etc/dconf/db/local.d/00-user-switching 键文件,以提供本地数据库的信息:

    # Prevent the user from user switching
    [org/gnome/desktop/lockdown]
    disable-user-switching=true
    
    [org/gnome/desktop/screensaver]
    user-switch-enabled=false
  4. 覆盖用户设置,并防止用户在 /etc/dconf/db/local.d/locks/lockdown 文件中更改它:

    # Lock this key to disable user switching
    /org/gnome/desktop/lockdown/disable-user-switching
    /org/gnome/desktop/screensaver/user-switch-enabled
  5. 更新系统数据库:

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

第 20 章 将会话限制为单个应用程序

您可以在单应用模式下启动 GNOME 会话,也称为 kiosk 模式。在此会话中,GNOME 只会显示您选择的应用程序的完整屏幕窗口。

20.1. 单应用模式

单应用模式是一种修改后的 GNOME 会话,它将 Mutter 窗口管理器重新配置为交互式 kiosk。该会话会锁定某些行为,从而使标准桌面更具限制。用户只能与管理员所选择的单个应用进行交互。

您可以为几个用例设置单应用程序模式,例如:

  • 在communication、entertainment 或 education 字段中
  • 作为自助服务机器
  • 作为事件管理器
  • 作为注册点

gnome-session-kiosk-session 软件包在 RHEL 8 中提供单应用模式配置和会话。

20.2. 启用单应用模式

这个流程安装并启用单应用模式,其将 GNOME 会话限制为单个应用程序。

流程

  1. 安装 gnome-session-kiosk-session 软件包:

    # yum install gnome-session-kiosk-session
  2. 以将打开单应用会话的用户身份,创建 /home/user/.local/bin/redhat-kiosk 文件:

    [user]$ mkdir -p ~/.local/bin
    
    [user]$ touch ~/.local/bin/redhat-kiosk
  3. 编辑 /home/user/.local/bin/redhat-kiosk 文件,并输入您要在单应用模式下启动的可执行的应用程序的名称。

    例如,要在单应用模式下启动 Firefox 浏览器,请输入以下内容:

    #!/bin/sh
    
    while true; do
        firefox --kiosk https://example.org
    done

    while truee 循环可确保因各种原因而终止的应用程序重启。

  4. 使文件可执行:

    [user]$ chmod +x ~/.local/bin/redhat-kiosk
  5. 如果您以不同于单应用用户(如 root 用户身份)创建了该文件或其包含的目录,请确保该文件具有正确的权限:

    # chown -R user:group ~user/.local
  6. 在 GNOME 登录屏幕中,从 gear 按钮菜单中选择 Kiosk 会话,并以单应用程序用户身份登录。

第 21 章 管理用户会话

21.1. GDM 是什么

GNOME 显示管理器(GDM)是一个在后台运行的图形登录程序,其运行和管理用于本地和远程登录的 X.Org 显示服务器。

GDM 是 XDM(X 显示管理器)的替代品。但是 GDM 并不是从 XDM 衍生而来,其不包含任何原始的 XDM 代码。此外,GDM 中不支持图形配置工具,因此要更改 GDM 设置,需要编辑 /etc/gdm/custom.conf 配置文件来。

21.2. 重启 GDM

当您更改系统配置时,如设置登录屏幕横幅消息、登录屏幕徽标或登录屏幕背景时,请重新启动 GDM 以使更改生效。

警告

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

流程

  • 要重启 GDM 服务,请运行以下命令:

    # systemctl restart gdm.service

流程

  • 要显示 GDM 配置的结果,请运行以下命令:

    $ DCONF_PROFILE=gdm gsettings list-recursively org.gnome.login-screen

21.3. 为所有用户添加自动启动应用程序

您可以将应用程序设置为在任何用户登录 GNOME 环境时自动启动。

流程

  1. /etc/xdg/autostart/ 目录中创建 .desktop 文件,如 /etc/xdg/autostart/nautilus.desktop。在文件中输入以下内容:

    [Desktop Entry]
    Type=Application
    Name=Files
    Exec=/usr/bin/nautilus -n
    OnlyShowIn=GNOME;
    X-GNOME-Autostart-enabled=true
    • 使用应用程序的名称替换 Files
    • 使用启动应用程序的命令替换 /usr/bin/nautilus -n。使用完整的文件路径。
  2. 可选,还可将应用程序配置为仅在启用了所选的 GSettings 键时才启动。然后,如果键的值为 true,GNOME 会自动运行应用程序。如果键值在运行的会话中更改了,GNOME 将启动或停止应用程序,以匹配新值。

    .desktop 文件中添加以下行:

    AutostartCondition=GSettings org.gnome.desktop.background show-desktop-icons
    • org.gnome.desktop.background show-desktop-icons 替换为自动启动所依赖的 GSettings 模式和键。

其它资源

  • 您还可以为特定用户配置自动启动应用程序。使用 gnome-tweaks 软件包提供的 Tweaks 应用程序。

21.4. 配置自动登录

作为管理员,您可以从 GNOME Settings 中的 Users 面板启用自动登录,也可以在 GDM 自定义配置文件中手动设置自动登录,如下所示:

运行以下流程为用户 john 设置自动登录。

流程

  • 编辑 /etc/gdm/custom.conf 文件,并确保文件中的 [daemon] 部分指定以下内容:

    [daemon]
    AutomaticLoginEnable=True
    AutomaticLogin=john

    john 替换为您要自动登录的用户。

21.5. 配置自动退出

闲置一段时间的用户会话可以自动终止。您可以通过设置相应的 GSettings 键,根据机器是否通过电池运行还是通过主电源运行来设置不同的行为,然后锁定它。

警告

如果空闲会话自动结束了,用户可能会丢失未保存的数据。

要为电源供电的机器设置自动退出:

流程

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

    [org/gnome/settings-daemon/plugins/power]
    # Set the timeout to 900 seconds when on mains power
    sleep-inactive-ac-timeout=900
    # Set action after timeout to be logout when on mains power
    sleep-inactive-ac-type='logout'
  2. 覆盖用户设置,并防止用户在 /etc/dconf/db/local.d/locks/autologout 文件中更改它:

    # Lock automatic logout settings
    /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-timeout
    /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-type
  3. 更新系统数据库:

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

下面的 GSettings 键值得关注的:

  • org.gnome.settings-daemon.plugins.power.sleep-inactive-ac-timeout

    如果计算机是通过 AC 电源运行的,则它在休眠前需要处于非活动状态的秒数。

  • org.gnome.settings-daemon.plugins.power.sleep-inactive-ac-type

    如果计算机通过 AC 电源运行,则超时时会发生什么。

  • org.gnome.settings-daemon.plugins.power.sleep-inactive-battery-timeout

    如果计算机通过电源运行,它在休眠前需要处于非活动状态的秒数。

  • org.gnome.settings-daemon.plugins.power.sleep-inactive-battery-type

    如果计算机通过电池运行,超时时会发生什么。

如果要列出键的可用值,请使用以下流程:

流程

  • 对所需的键运行 gsettings range 命令。例如:
$ gsettings range org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type
enum
'blank'
'suspend'
'shutdown'
'hibernate'
'interactive'
'nothing'
'logout'

21.6. 为所有用户设置默认桌面会话

您可以配置一个默认的桌面会话,该会话已预先选择尚未登录的所有用户。

如果用户使用与默认会话不同的会话登录,则其选择会在下次登录时保留。

流程

  1. 复制配置文件模板:

    # cp /usr/share/accountsservice/user-templates/standard \
         /etc/accountsservice/user-templates/standard
  2. 编辑新的 /etc/accountsservice/user-templates/standard 文件。在 Session=gnome 行中,将 gnome 替换为您要设置为默认值的会话。
  3. 可选 : 要为特定用户在默认会话中配置例外,请按照以下步骤操作:

    1. 将模板文件复制到 /var/lib/AccountsService/users/user-name 中:

      # cp /usr/share/accountsservice/user-templates/standard \
           /var/lib/AccountsService/users/user-name
    2. 在新文件中,将 ${USER}${ID} 等变量替换为用户值。
    3. 编辑 Session 值。

21.7. 设置屏幕亮度和空闲时间

通过创建一个本地数据库,您可以:

  • 配置亮度级别的下降
  • 设置亮度级别
  • 设置空闲时间

配置亮度级别的下降

当设备闲置一段时间后,要设置亮度级别的下降:

流程

  1. /etc/dconf/db/local.d/00-power 文件中为机器范围的设置创建一个本地数据库,其中包括以下行:

    [org/gnome/settings-daemon/plugins/power]
    idle-dim=true
  2. 更新系统数据库:

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

设置亮度级别

要设置亮度级别:

流程

  1. /etc/dconf/db/local.d/00-power 文件中为机器范围的设置创建一个本地数据库,如下例所示:

    [org/gnome/settings-daemon/plugins/power]
    idle-brightness=30

    30 替换为您要使用的整数值。

  2. 更新系统数据库:

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

设置空闲时间

要设置闲置时间,在此之后屏幕将被关闭,并显示默认的屏保:

流程

  1. /etc/dconf/db/local.d/00-session 中为机器范围的设置创建一个本地数据库,如下例所示:

    [org/gnome/desktop/session]
    idle-delay=uint32 900

    900 替换为您要使用的整数值。

    您必须包含 uint32 以及整数值,如下所示。

  2. 更新系统数据库:

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

21.8. 用户闲置时锁定屏幕

要启用屏保,并在用户闲置时自动锁定屏幕,请按照以下流程操作:

流程

  1. etc/dconf/db/local.d/00-screensaver 文件中为系统范围的设置创建一个本地数据库:

    [org/gnome/desktop/session]
    # Set the lock time out to 180 seconds before the session is considered idle
    idle-delay=uint32 180
    [org/gnome/desktop/screensaver]
    # Set this to true to lock the screen when the screensaver activates
    lock-enabled=true
    # Set the lock timeout to 180 seconds after the screensaver has been activated
    lock-delay=uint32 180

    您必须包含 uint32 以及整数键值,如下所示。

  2. 覆盖用户设置,并防止用户在 /etc/dconf/db/local.d/locks/screensaver 文件中更改它:

    # Lock desktop screensaver settings
    /org/gnome/desktop/session/idle-delay
    /org/gnome/desktop/screensaver/lock-enabled
    /org/gnome/desktop/screensaver/lock-delay
  3. 更新系统数据库:

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

21.9. 屏幕录制

GNOME Shell 带有一个内置的屏幕录制器。录制器允许用户录制会话期间的桌面或应用程序活动,并以 webm 格式将录像作为高分辨率视频文件分发。

要制作屏幕录制:

流程

  1. 要开始录制,请按 Ctrl+Alt+Shift+R 快捷键。

    当录制器捕获屏幕活动时,它会在屏幕右上角显示一个红色圆圈。

  2. 要停止录制,请按 Ctrl+Alt+Shift+R 快捷键。

    屏幕右上角的红色圆圈会消失。

  3. 导航到 ~/Videos 目录,您可以在其中找到记录的视频,其文件名以 Screencast 开头,并包括录制的日期和时间。
注意

内置的录制器始终捕获整个屏幕,包括多显示器设置中的所有显示器。

第 22 章 配置屏幕轮转

22.1. 为单个用户配置屏幕轮转

此流程为当前用户设置页面轮转。

流程

  1. 进入 system menu,该菜单可从屏幕右上角访问,然后单击 Settings 图标。

    System menu

  2. SettingsDevices 部分中,选择 显示
  3. 使用 Orientation 字段配置 轮转
  4. Apply 确认您的选择。
  5. 如果您对新的设置预览满意,请单击 Keep 更改

这个设置会在下一次登录后保留。

其它资源

22.2. 为所有用户配置屏幕轮转

此流程为系统上所有用户设置默认屏幕旋转,并适合同质化显示配置的大规模部署。

流程

  1. 在为单个用户配置 屏幕轮转的过程中,为单个用户准备一个用户的首选 设置。
  2. 复制 ~/.config/monitors.xml 配置文件的 转换 部分,它将配置屏幕轮转。端口跟踪情况示例:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <transform>
      <rotation>left</rotation>
      <flipped>no</flipped>
    </transform>
  3. 将内容粘贴到存储系统范围配置的 /etc/xdg/monitors.xml 文件中。
  4. 保存更改。

新设置下次登录系统时,所有用户都会起作用。

第 23 章 为视障用户提供无障碍服务

作为系统管理员,您可以配置桌面环境来支持具有视觉受损的用户。

要启用可访问性,请执行以下步骤。

23.1. 提供可访问性功能的组件

在 RHEL 8 桌面上,Orca 屏幕阅读器确保对视觉障碍用户的访问。Orca 包含在默认 RHEL 安装中。

Orca 从屏幕读取信息,并使用以下组件与您进行沟通:

语音分配器
Orca 使用 Speech Dispatcher 与语音合成器进行通信。Speech Dispatcher 支持各种语音合成后端,确保来自其他应用程序的消息不会中断来自 Orca 的消息,并提供其他功能。
speech synthesizer
提供 speech 输出。默认的语音合成器是 eSpeak-NG
Braille 显示
提供 tactile 输出。BRLTTY 服务启用此功能。

其它资源

23.2. 启用通用访问菜单

您可以在顶部面板中启用 Universal Access Menu 图标,它提供具有多个可访问性选项的菜单。

流程

  1. 打开 Settings 应用程序。
  2. 选择 Universal Access
  3. 启用 Always Show Universal Access Menu 项。

    在 Settings 中启用通用访问菜单

    always show univ acces menu new

验证

  • 检查是否在顶栏中都显示了 Universal Access Menu 图标,即使此菜单中的所有选项都已关闭。

    universal access menu

23.3. 启用屏幕阅读器

您可以在桌面环境中启用 Orca 屏幕阅读器。然后,屏幕阅读器读取屏幕上显示的文本,以提高可访问性。

流程

  • 使用以下任一方法启用屏幕阅读器:

    • Super+Alt+S 键盘快捷键。
    • 如果顶部面板显示 Universal Access 菜单,请在菜单中选择 Screen Reader

验证

  1. 打开包含文本内容的应用程序。
  2. 检查屏幕阅读器是否读取了应用程序中的文本。

23.4. 启用盲文显示设备

盲文显示器是一个使用 brltty 服务为视障用户提供触觉输出的设备。

为了让 Braille 显示正常工作,请执行以下步骤。

23.4.1. 支持的盲文显示设备类型

RHEL 8 上支持以下盲文显示设备。

表 23.1. 盲文显示设备类型和相应的语法

盲文设备类型类型的语法备注

串行设备

serial:path

相对路径位于 /dev

USB 设备

[serial-number]

此处的方括号([])指示可选性。

蓝牙设备

bluetooth:address

 

23.4.2. 启用 brltty 服务

要启用 Braille 显示,请启用 brltty 服务以在引导时自动启动。默认情况下,brltty 被禁用。

先决条件

  • 确保安装了 brltty 软件包:

    # yum install brltty
  • 另外,您安装了 brltty 的语音合成支持:

    # yum install brltty-espeak-ng

流程

  • 启用 brltty 服务以在引导时启动:

    # systemctl enable --now brltty

验证步骤

  1. 重启系统。
  2. 检查 brltty 服务是否正在运行:

    # systemctl status brltty
    ● brltty.service - Braille display driver for Linux/Unix
       Loaded: loaded (/usr/lib/systemd/system/brltty.service; enabled; vendor pres>
       Active: active (running) since Tue 2019-09-10 14:13:02 CEST; 39s ago
      Process: 905 ExecStart=/usr/bin/brltty (code=exited, status=0/SUCCESS)
     Main PID: 914 (brltty)
        Tasks: 3 (limit: 11360)
       Memory: 4.6M
       CGroup: /system.slice/brltty.service
               └─914 /usr/bin/brltty

23.4.3. 授权盲文显示设备的用户

要使用盲文显示设备,您必须设置有权使用盲文显示设备的用户。

流程

  1. /etc/brltty.conf 文件中,确保 keyfile 被设置为 /etc/brlapi.key

    api-parameters Auth=keyfile:/etc/brlapi.key

    这是默认值。您的机构可能已覆盖它。

  2. 通过将所选用户添加到 brlapi 组来对他们授权:

    # usermod --append -G brlapi user-name

23.4.4. 为盲文显示设备设置驱动程序

brltty 服务会自动为您的盲文显示设备选择驱动程序。如果自动检测失败或者用时过长,您可以手动设置驱动程序。

先决条件

  • 自动驱动程序检测已失败或用时过长。

流程

  1. 打开 /etc/brltty.conf 配置文件。
  2. 找到 braille-driver 指令,它指定了盲文显示设备的驱动程序。
  3. braille-driver 指令中指定所需驱动程序的识别码。

    /etc/brltty.conf 中提供的列表中选择所需驱动程序的识别码。例如,要使用 XWindow 驱动程序:

    # XWindow
    braille-driver	xw

    要设置多个驱动程序,请使用逗号列出它们。然后,自动检测从列出的驱动程序中选择。

23.4.5. 连接盲文显示设备

brltty 服务自动连接到您的盲文显示设备。如果自动检测失败,您可以手动设置连接方法。

先决条件

  • 盲文显示设备物理连接到您的系统。
  • 自动连接已失败。

流程

  1. 如果设备由串行到 USB 适配器连接,请在设备插件上的内核信息中找到实际设备名称:

    # journalctl --dmesg | fgrep ttyUSB
  2. 打开 /etc/brltty.conf 配置文件。
  3. 查找 braille-device 指令。
  4. braille-device 指令中,指定连接。

    您还可以设置多个设备,用逗号分开,每个设备将被依次探测。

    例如:

    例 23.1. 第一个串行设备的设置

    braille-device	serial:ttyS0

    例 23.2. 与盲文驱动程序匹配的第一个 USB 设备的设置

    braille-device	usb:

    例 23.3. 按序列号排列的特定 USB 设备的设置

    braille-device	usb:nnnnn

    例 23.4. 串行到 USB 适配器的设置

    使用您之前在内核信息中找到的设备名称:

    braille-device	serial:ttyUSB0
    注意

    braille-device 设置为 usb: 不适用于串行到 USB 适配器。

    例 23.5. 按地址排列的特定蓝牙设备的设置

    braille-device	bluetooth:xx:xx:xx:xx:xx:xx

23.4.6. 设置文本表

brltty 服务会根据您的系统语言自动选择一个文本表。如果您的系统语言与您要读取的文档语言不匹配,您可以手动设置文本表。

流程

  1. 编辑 /etc/brltty.conf 文件。
  2. 确定您选择的文本表的代码。

    您可以在 /etc/brltty/Text/ 目录中找到所有可用的文本表。代码是没有其文件后缀的文本表的文件名。

  3. text-table 指令中指定所选文本表的代码。

    例如,要使用美国英语的文本表:

    text-table	en_US	 # English (United States)

23.4.7. 设置缩写表

您可以使用盲文显示设备,选择使用哪个表对缩写进行编码。特定缩写表的相对路径存储在 /etc/brltty/Contraction/ 目录中。

警告

如果没有指定表,brltty 服务不使用缩写表。

流程

  • /etc/brltty.conf 文件中的列表中选择一个缩写表。

    例如,要使用美国英语二级缩写表:

    contraction-table	en-us-g2	 # English (US, grade 2)

第 24 章 平板电脑

要管理连接到您的系统的 Wacom 平板电脑,请使用以下工具:

  • gnome-settings-daemon 服务
  • GNOME 环境中的 Wacom Tablet 设置面板

    平板电脑的 Wacom Tablet 设置面板

    Wacon tablet settings

    握笔的 Wacom Tablet 设置面板

    Wacom tablet grip pen

这些工具以及 libinput 堆栈都使用 libwacom 平板电脑客户端库,它存储了有关 Wacom 平板电脑的数据。

如果要在 libwacom 库中添加对新平板电脑的支持,您必须确保此新平板电脑的定义文件存在。

24.1. 准备平板电脑定义文件

libwacom 平板电脑客户端库需要一个您要添加的平板电脑的定义文件。

要确保平板电脑定义文件存在,请按照以下流程操作。

先决条件

  • 列出 libwacom 可识别的所有本地设备:

    $ libwacom-list-local-devices

    确保您的设备在输出中被识别。

    如果您的设备没有列出,则 libwacom 数据库中没有该设备。但是,如果您使用 X.Org 显示服务器,设备仍然可以作为 /proc/bus/input/devices 下内核中的事件设备,在 xinput 列表上的 X11 会话中可见。

流程

  1. 安装提供平板电脑定义文件的软件包:

    # yum install libwacom-data

    包会将平板电脑定义文件安装在 /usr/share/libwacom/ 目录中。

  2. 检查定义文件是否在 /usr/share/libwacom/ 目录中存在。

    要正确使用屏幕映射,必须在 libwacom 数据库和 udev 规则文件中包含对您的平板电脑的支持。

    重要

    libwacom 不支持设备的一个常见指示是它在 GNOME 会话中正常工作,但设备没有正确映射到屏幕。

  3. 如果您设备的定义文件不在 /usr/share/libwacom/ 中,则有以下选项:

    • 所需的定义文件可能已在 linuxwacom/libwacom 上游存储库中。您可以尝试在其中查找定义文件。如果您在列表中找到了您的平板电脑型号,请将文件复制到本地计算机中。
    • 您可以创建新的平板电脑定义文件。使用以下 data/wacom.example 文件,并根据您设备的特征编辑特定的行。

      例 24.1. 平板电脑的型号文件描述示例

      [Device]
      
      # The product is the product name announced by the kernel
      Product=Intuos 4 WL 6x9
      
      # Vendor name of this tablet
      Vendor=Wacom
      
      # DeviceMatch includes the bus (usb, serial), the vendor ID and the actual
      # product ID
      DeviceMatch=usb:056a:00bc
      
      # Class of the tablet. Valid classes include Intuos3, Intuos4, Graphire, Bamboo, Cintiq
      Class=Intuos4
      
      # Exact model of the tablet, not including the size.
      Model=Intuos 4 Wireless
      
      # Width in inches, as advertised by the manufacturer
      Width=9
      
      # Height in inches, as advertised by the manufacturer
      Height=6
      
      # Optional features that this tablet supports
      # Some features are dependent on the actual tool used, e.g. not all styli
      # have an eraser and some styli have additional custom axes (e.g. the
      # airbrush pen). These features describe those available on the tablet.
      #
      # Features not set in a file default to false/0
      
      [Features]
      # This tablet supports styli (and erasers, if present on the actual stylus)
      Stylus=true
      
      # This tablet supports touch.
      Touch=false
      
      # This tablet has a touch ring (Intuos4 and Cintiq 24HD)
      Ring=true
      # This tablet has a second touch ring (Cintiq 24HD)
      Ring2=false
      
      # This tablet has a vertical/horizontal scroll strip
      VStrip=false
      HStrip=false
      
      # Number of buttons on the tablet
      Buttons=9
      
      # This tablet is built-in (most serial tablets, Cintiqs)
      BuiltIn=false

24.2. 添加对新平板电脑的支持

要将对新平板电脑的支持添加到 libwacom 平板电脑信息客户端库中,请按照以下流程操作。

先决条件

流程

  1. 添加并安装带有 .tablet 后缀的定义文件:

    # cp the-new-file.tablet /usr/share/libwacom/

    安装后,平板电脑是 libwacom 数据库的一部分。然后可通过 libwacom-list-local-devices 获得平板电脑。

  2. 使用以下内容创建一个新的 /etc/udev/rules/99-libwacom-override.rules 文件,以便您的设置不会被覆盖:

    ACTION!="add|change", GOTO="libwacom_end"
    KERNEL!="event[0-9]*", GOTO="libwacom_end"
    
    [new tablet match entries go here]
    
    LABEL="libwacom_end"
  3. 重启您的系统。

24.3. Wacom 平板电脑配置存储在哪里

Wacom 平板电脑的配置存储在 /org/gnome/settings-daemon/peripherals/wacom/machine-id-device-id 键中的 GSettings 中,其中 machine-id 是 D-Bus 计算机的 ID,device-id 是平板设备的 ID。

平板电脑的配置模式是 org.gnome.settings-daemon.peripherals.wacom

Stylus 配置存储在 /org/gnome/settings-daemon/peripherals/wacom/device-id/tool-id 键中,其中 tool-id 是用于专业范围的 stylus 的标识符。对于不支持 tool-id 的消费者范围,改为使用通用标识符。

stylus 的配置模式是 org.gnome.settings-daemon.peripherals.wacom.stylus。擦除器的配置模式是 org.gnome.settings-daemon.peripherals.wacom.eraser

24.4. 列出可用的 Wacom 平板电脑配置路径

要获取特定计算机上使用的平板电脑配置路径的完整列表,请使用 gsd-list-wacom 工具,该工具由 gnome-settings-daemon 软件包提供。

先决条件

  • 确保系统上已安装 gnome-settings-daemon 软件包。

    # yum install gnome-settings-daemon

流程

  • 要获得机器上使用的平板电脑配置路径的完整列表,请运行以下命令:

    $ /usr/libexec/gsd-list-wacom
重要

在配置路径中使用 machine-iddevice-idtool-id 允许按机器共享具有独立平板电脑配置的主目录。但是,在机器之间共享主目录时,Wacom 设置仅适用于一台机器。

这是因为您的 Wacom 平板电脑的 machine-id 包含在 /org/gnome/settings-daemon/peripherals/wacom/machine-id-device-id GSettings 键的配置路径中,该路径存储您的平板电脑设置。

第 25 章 使用 Flatpak 安装应用程序

您可以使用 Flatpak 软件包管理器安装某些应用程序。以下章节描述了如何在命令行中和图形界面中搜索、安装、启动和更新 Flatpak 应用程序。

重要

红帽仅作为技术预览功能提供 Flatpak 应用程序。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview

Flatpak 软件包管理器本身被完全支持。

25.1. Flatpak 技术

Flatpak 为应用程序构建、部署、分发和安装提供了一个沙箱环境。

使用 Flatpak 启动的应用程序对主机系统具有最低的访问权限,这可以保护系统安装不受第三方应用程序的影响。无论主机系统上安装的库的版本是什么,Flatpak 都提供了应用程序的稳定性。

Flatpak 应用程序是从名为 remotes 的存储库分发的。红帽提供了一个带有 RHEL 应用程序的 remote 。此外,也提供了第三方 remote 。红帽不支持来自第三方 remote 的应用程序。

25.2. 设置 Flatpak

这个流程安装 Flatpak 软件包管理器。

流程

  • 安装 flatpak 软件包:

    # yum install flatpak

25.3. 启用 Red Hat Flatpak remote

此流程将系统上的 Red Hat Container Catalog 配置为Flatpak remote。

先决条件

  • 您在红帽客户门户网站上有一个帐户。

    注意

    对于用户没有客户门户网站帐户的大规模部署,红帽建议使用注册表服务帐户。详情请查看 注册表服务帐户

流程

  1. 启用 rhel Flatpak remote:

    $ flatpak remote-add \
              --if-not-exists \
              rhel \
              https://flatpaks.redhat.io/rhel.flatpakrepo
  2. 登录到 Red Hat Container Catalog:

    $ podman login registry.redhat.io
    
    Username: your-user-name
    Password: your-password

    为您的红帽客户门户网站帐户或注册表服务帐户令牌提供凭证。

    默认情况下,Podman 只保存凭据,直到您退出。

  3. 可选:永久保存凭证。使用以下选项之一:

    • 保存当前用户的凭证:

      $ cp $XDG_RUNTIME_DIR/containers/auth.json \
           $HOME/.config/flatpak/oci-auth.json
    • 在系统范围内保存凭证:

      # cp $XDG_RUNTIME_DIR/containers/auth.json \
           /etc/flatpak/oci-auth.json

      为了获得最佳实践,红帽建议您在系统范围内安装凭证时,使用注册表帐户令牌登录到 Red Hat Container Catalog。

验证

  • 列出启用的 Flatpak remote:

    $ flatpak remotes
    
    Name    Options
    rhel    system,oci,no-gpg-verify

25.4. 搜索 Flatpak 应用程序

此流程在命令行上,已启用了 Flatpak remote 中搜索应用程序。搜索使用应用名称和描述。

先决条件

  • Flatpak 已安装。
  • 红帽 Flatpak 存储库已启用。

流程

  • 根据名称搜索应用程序:

    $ flatpak search application-name

    例如,要搜索 LibreOffice 应用程序,请使用:

    $ flatpak search LibreOffice

    搜索结果包括应用程序的 ID:

    Application ID               Version  Branch  Remotes  Description
    
    org.libreoffice.LibreOffice           stable  rhel     The LibreOffice productivity suite

25.5. 安装 Flatpak 应用程序

此流程在命令行上,从启用的 Flatpak remote 中安装所选的应用程序。

先决条件

  • Flatpak 已安装。
  • 红帽 Flatpak remote 已启用。

流程

  • rhel remote 安装应用程序:

    $ flatpak install rhel application-id

    application-id 替换为应用程序的 ID。例如:

    $ flatpak install rhel org.libreoffice.LibreOffice

25.6. 启动 Flatpak 应用程序

此流程从命令行启动已安装的 Flatpak 应用程序。

先决条件

  • Flatpak 已安装。
  • 所选的 Flatpak 应用程序已安装。

流程

  • 启动应用程序:

    $ flatpak run application-id

    application-id 替换为应用程序的 ID。例如:

    $ flatpak run org.libreoffice.LibreOffice

25.7. 更新 Flatpak 应用程序

此流程将一个或多个安装的 Flatpak 应用程序更新为相应 Flatpak remote 的最新版本。

先决条件

  • Flatpak 已安装。
  • Flatpak remote 已启用。

流程

  • 更新一个或多个 Flatpak 应用程序:

    • 要更新特定的 Flatpak 应用程序,请指定应用程序 ID:

      $ flatpak update application-id
    • 要更新所有 Flatpak 应用程序,请指定应用程序 ID:

      $ flatpak update

25.8. 在图形界面中安装 Flatpak 应用程序

此流程使用 Software 应用程序搜索 Flatpak 应用程序。

先决条件

  • Flatpak 已安装。
  • 红帽 Flatpak remote 已启用。

流程

  1. 打开 Software 应用程序。
  2. 确保 Explore 选项卡处于活动状态。
  3. 单击窗口左上角的搜索按钮。
  4. 在输入框中,键入您要安装的应用程序的名称,如 LibreOffice
  5. 在搜索结果中选择正确的应用程序。

    如果应用程序被列出多次,请选择版本,其中 Details 部分中的 Source 字段报告了 flatpaks.redhat.io

  6. 单击 Install 按钮。
  7. 如果 Software 要求您登录,请输入您的客户门户网站凭证或注册表服务帐户令牌。
  8. 等待安装过程完成。
  9. 可选:点击 Launch 按钮来启动应用程序。

25.9. 在图形界面中更新 Flatpak 应用程序

此流程使用 Software 应用程序更新一个或多个安装的 Flatpak 应用程序。

先决条件

  • Flatpak 已安装。
  • Flatpak remote 已启用。

流程

  1. 打开 Software 应用程序。
  2. 选择 Updates 选项卡。
  3. Application Updates 部分中,您可以找到对 Flatpak 应用程序的所有可用更新。
  4. 更新一个或多个应用程序:

    • 要应用所有可用的更新,请单击 Update All 按钮。
    • 要仅更新特定的应用程序,请单击应用程序项旁边的 Update 按钮。
  5. 可选:启用自动应用程序更新。

    1. 单击窗口右上角的菜单按钮。
    2. 选择 Update Preferences
    3. 启用 Automatic Updates

      现在,flatpak 应用程序可以自动更新了。

法律通告

Copyright © 2024 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.