桌面迁移和管理指南
RHEL 7 中的 GNOME 3 桌面迁移规划、部署、配置和管理
摘要
第 1 章 GNOME 3 桌面介绍 复制链接链接已复制到粘贴板!
1.1. GNOME 3 是什么? 复制链接链接已复制到粘贴板!
图 1.1. GNOME 3 桌面(GNOME 经典)
- GNOME Shell
- GNOME Shell 是一个现代的、直观的图形用户界面。它提供了高质量的用户体验,包括视觉效果和硬件加速支持。
- GNOME 经典
- GNOME 经典集新旧版本于一身;它保留了 GNOME 2 熟悉外观和感受,但增加了 GNOME Shell 的强大新特性和 3-D 功能。GNOME 经典是 Red Hat Enterprise Linux 7 中默认的 GNOME 会话和 GNOME Shell 模式。
- GSettings
- GSettings 是一个配置存储系统,替换了旧的 GNOME 版本中的
GConf。有关从GConf转换到 GSettings 的更多信息,请参阅 第 3 章 GSettings 和 dconf。要了解更多有关使用 GSettings 配置桌面的信息,请参阅 第 9 章 使用 GSettings 和 dconf 配置桌面。 - GVFS
GVFS提供完整的虚拟文件系统基础架构,一般处理 GNOME 桌面中的存储。通过GVFS,GNOME 3 与在线文档存储服务、日历和联系列表良好集成,以便您的所有数据都可以从同一位置访问。阅读 第 15 章 虚拟文件系统和磁盘管理 中的GVFS的更多信息。- GTK+
GTK+是用于创建图形用户界面的多平台工具包,提供了一个高度丰富的功能丰富的 API。由于GTK+,GNOME 3 能够更改应用程序的外观或提供平滑图形的外观。此外,GTK+包含很多功能,如面向对象的编程支持(GObject)、国际字符集和文本布局的广泛支持(Pango)或一组可访问性接口(ATK)。
1.2. 什么是 GNOME Shell? 复制链接链接已复制到粘贴板!
- 顶部栏。
- 屏幕顶部的水平栏提供了对 GNOME Shell 的一些基本功能的访问,如
活动概览、时钟和日历、系统状态图标以及屏幕左上角的系统菜单。 - 系统菜单。
- 系统菜单 位于右上角。
您可以更新一些设置,查找有关 Wi-Fi 连接的信息,切换用户、退出登录,并从这个菜单关闭计算机。 - 活动概览。
活动概览 提供了窗口和应用程序视图,允许用户运行应用程序和窗口,并在它们之间进行切换。顶部的搜索条目允许搜索桌面上可用的各种项目,包括应用程序、文档、文件和配置工具。左侧的竖栏称为短划线,它包含一个喜欢和运行的应用程序的列表。工作区列表显示在右侧,允许用户在多个工作区之间切换,或者将应用程序和窗口从一个工作区移到另一个工作区。- 消息栏。
消息栏是接近屏幕底部的水平栏,显示用户按下 Super+M。它提供对待处理的通知的访问。- 特定于 GNOME 经典的组件。
- GNOME 经典 是 Red Hat Enterprise Linux 7 中默认的 GNOME Shell 模式。它改变了 GNOME Shell 行为的某些方面,以及 GNOME Shell 外观。它包括带有窗口列表的底部栏,以及顶栏中的 和 菜单。有关 GNOME 经典的详情,请参考 第 1.3 节 “GNOME 经典是什么?”。
1.2.1. 硬件加速和软件渲染 复制链接链接已复制到粘贴板!
Clutter 提供的硬件加速支持,这是一个基于 OpenGL 的图形库。
pipe 驱动程序 提供。
pipe 驱动程序,您可以运行 glxinfo 命令:
glxinfo | grep renderer
$ glxinfo | grep renderer
OpenGL renderer string: Gallium 0.4 on llvmpipe (LVVM 3.3, 128 bits)
1.3. GNOME 经典是什么? 复制链接链接已复制到粘贴板!
- 和 菜单。
- 菜单显示在屏幕的左上角。它允许用户访问按类别组织的应用程序。用户也可以从该菜单中打开
Activities Overview。菜单显示在 顶栏 上的 菜单旁边。它允许用户快速访问重要文件夹,如 或 。 - 任务栏。
- 任务栏显示在屏幕底部,具有以下特性:
- 一个窗口列表,
- 通知图标显示在窗口列表的旁边,
- 当前工作区的简短标识,可用工作区的总数显示在通知图标的旁边。
- 四个可用的工作区:
- 在 GNOME 经典中,用户可使用的工作空间数默认设置为 4。
- 最小化和最大化按钮。
- GNOME 经典中的窗口标题栏具有最小化和最大化按钮的功能,使用户能够快速最小化到窗口列表中,或者将它们最大化以占据桌面上的所有空间。
- 传统的 Super+Tab 窗口切换器。
- 在 GNOME 经典中,Super+Tab 窗口切换器中的窗口不会按应用程序分组。
- 系统菜单。
- 系统菜单 位于右上角。
您可以更新一些设置,查找有关 Wi-Fi 连接的信息,切换用户、退出登录,并从这个菜单关闭计算机。
图 1.2. 带有计算器应用程序的 GNOME 经典和应用程序菜单的附件子菜单
1.3.1. GNOME 经典扩展 复制链接链接已复制到粘贴板!
- AlternateTab (
alternate-tab@gnome-shell-extensions.gcampax.github.com), - Applications Menu (
apps-menu@gnome-shell-extensions.gcampax.github.com), - 启动新实例(
launch-new-instance@gnome-shell-extensions.gcampax.github.com) - 位置状态指示器
(1) - 窗口列表(
window-list@gnome-shell-extensions.gcampax.github.com)。
1.3.2. 从 GNOME 经典切换到 GNOME ,并切换回来 复制链接链接已复制到粘贴板!
gnome-shell --mode=user -r &
$ gnome-shell --mode=user -r &
gnome-shell --mode=classic -r &
$ gnome-shell --mode=classic -r &
1.3.3. 禁用 GNOME 经典作为默认会话 复制链接链接已复制到粘贴板!
/var/lib/AccountsService/users/username 文件中修改用户的帐户服务。有关如何进行此操作的详情,请查看 第 14.3.2 节 “配置用户默认会话”。
获取更多信息
Activities Overview,输入 help,然后按 Enter 键。
1.4. 有关可访问性的说明 复制链接链接已复制到粘贴板!
"活动概览" 并键入 help 即可轻松访问。在 GNOME 帮助 菜单中选择 Universal access。
部分 I. 迁移规划 复制链接链接已复制到粘贴板!
- Red Hat Enterprise Linux 7 系统管理员指南,用于
GRUB 2引导装载程序、软件包管理、systemd或打印机配置等组件。 - Red Hat Enterprise Linux 7 迁移规划指南 概述了 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 之间在行为和兼容性方面的主要变化。迁移规划指南还介绍了红帽提供的工具,以帮助升级到 Red Hat Enterprise Linux 7。
- 有关安装 Red Hat Enterprise Linux 7 和使用 Anaconda 安装程序的详细信息,Red Hat Enterprise Linux 7 安装指南。
第 2 章 logind 复制链接链接已复制到粘贴板!
logind (或者更具体地说是 systemd-logind)是管理用户登录的系统服务。此服务负责以下操作:
- 记录用户和会话、它们的进程及空闲状态,
- 为用户进程创建控制组,
- 为用户提供基于 PolicyKit 的访问,如系统关闭或休眠等操作。
- 为应用程序实现一个关闭/休眠阻止逻辑,
- 处理电源/休眠硬件键,
- 用户的多席位管理、会话切换管理和设备访问管理。
- 对虚拟终端(控制台)激活和用户运行时目录管理自动生成文本登录(gettys)。
logind 服务与 systemd 深度集成(Red Hat Enterprise Linux 7 中的新初始化系统),并替换了 Red Hat Enterprise Linux 6 中的 upstart 初始化系统。这一变化带来了许多新的特性和功能。以下是对其中一些最重要的总结:
- ConsoleKit
ConsoleKit框架在 Red Hat Enterprise Linux 7 中已弃用。现在,systemd提供了等效的功能。ConsoleKit和logind都是用于跟踪当前运行的用户会话的服务。注意ConsoleKit能够在系统中的活动会话更改时运行任意 shell 脚本(使用虚拟终端切换)。不再提供此功能。- /var/log/ConsoleKit/history 文件
- 在以前的版本中,
ConsoleKit将日志文件发送到/var/log/ConsoleKit/history,当前logind不支持。该文件已被传统的wtmp和utmp文件替代,这些文件现在跟踪系统中的所有登录和注销。/var/log/ConsoleKit/history提供与wtmp文件类似的信息,但采用不同的格式。由于功能重叠,logind仅采用wtmp文件的角色。 - seat.d 脚本
- 由于
ConsoleKit不再在使用中,因此seat.d脚本不再补充ConsoleKit框架,且已被systemd-logind替代。 - ck-list-sessions 命令
ConsoleKit提供了 ck-list-sessions 命令,该命令返回了有关最新用户的扩展信息,不仅返回常规用户,还有使用GDM的 GUI 访问。现在,可以通过运行loginctl命令达到类似的结果:loginctl list-sessions
$ loginctl list-sessionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 多席位支持
logind与GDM一起提供 多席位 功能,用户可以与其机器附加另一个 monitor、鼠标或键盘。这样做会出现另一个登录屏幕,用户可以登录,就像他们在使用另一台机器一样。要列出系统上可用的席位,请运行以下命令:loginctl list-seats
$ loginctl list-seatsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要显示系统上特定座位的状态,请运行以下命令:loginctl seat-status seat
$ loginctl seat-status seatCopy to Clipboard Copied! Toggle word wrap Toggle overflow 其中 seat 是席位的名称,如seat0。要给特定的座位分配特定的硬件,请运行以下命令:loginctl attach seat device
# loginctl attach seat deviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 其中 seat 是席位的名称,如seat1,device 是使用 /sys 设备路径指定的设备名称,如。/sys/devices/pci0000:00/0000:00:02.0/drm/card0要更改分配,请将硬件分配给不同的席位,或使用 loginctl flush-devices 命令。
获取更多信息
logind 的手册页提供了有关 logind 使用和功能的更多信息。它还涵盖了 systemd-logind 提供的 API (logind D-Bus API 文档)。
logind.conf 手册页讨论了登录管理器配置文件。
systemd 登录管理器的手册页包括了更多有关多席位功能的信息。
第 3 章 GSettings 和 dconf 复制链接链接已复制到粘贴板!
GConf (用于存储用户首选项)转变为 GSettings 高级别配置系统和 dconf 后端的组合。
- GConf
- 如前文所述,G
Conf配置系统已被两个系统替代:GSettingsAPI,以及dconf后端充当低级配置系统和以单一紧凑的二进制格式收集系统硬件和软件配置详情的程序。
gsettings命令行工具和dconf工具都用于查看和更改用户设置。gsettings工具直接在终端中执行,而dconf工具使用dconf-editorGUI 编辑配置数据库。有关dconf-editor和gsettings工具的更多信息,请参阅 第 9 章 使用 GSettings 和 dconf 配置桌面。 - gconftool
gconftool-2工具已被gsettings和dconf替代。同样,gconf-editor已被dconf-editor替代。- 覆盖
- Red Hat Enterprise Linux 7 中引入了 keyfiles 概念: dconf 工具允许系统管理员通过直接安装 defaults overrides 来覆盖默认设置。例如,通过使用放置在 keyfile 目录的 keyfile 中的 dconf 覆盖来执行所有用户的默认背景,如
/etc/dconf/db/local.d/。要了解更多有关默认值和覆盖的信息,请参阅 第 9.5 节 “配置自定义默认值”。 - 锁定设置
dconf系统现在允许锁定单个设置或整个设置子路径,以防止用户自定义。有关如何锁定设置的详情,请参考 第 9.5.1 节 “锁定特定设置”。- NFS 和 dconf
获取更多信息
第 4 章 PolicyKit 复制链接链接已复制到粘贴板!
PolicyKit 工具是一个框架,它提供了一个由特权程序(也称为 机制)使用的授权 API,为非特权程序(也称为 主题)提供服务。以下是有关 PolicyKit 或其系统名称 polkit 的更改的详情。
4.1. 策略配置 复制链接链接已复制到粘贴板!
pkla 和 If conf,它使用键/值对来定义额外的本地授权。
polkit 规则存储在 /etc/polkit-1/rules.d/ 目录中,第三方软件包存储在 /usr/share/polkit-1/rules.d/ 中。
.conf 和 .pkla 配置文件已被保留,并与 .rules 文件一起存在。polkit 已为 Red Hat Enterprise Linux 7 升级,并考虑了兼容性问题。
polkitd 现在从 /etc/polkit-1/rules.d 和 /usr/share/polkit-1/rules.d 目录中以字典顺序读取 .rules 文件。如果两个文件的名称相同,则 /etc 中的文件会在 /usr 中的文件之前进行处理。另外,现有规则由 /etc/polkit-1/rules.d/49-polkit-pkla-compat.rules 文件应用。因此,它们可以被 /usr 或 /etc 中的 .rules 文件覆盖,其名称以字典顺序排列在 49-polkit-pkla-compat 之前的名称。确保您的旧规则不被覆盖的最简单方法是在所有其它 .rules 文件的名称的开头使用大于 49 的数字。
/etc/polkit-1/rules.d/10-enable-mount.rules 文件中:
例 4.1. 允许在系统设备上挂载文件系统
如需更多信息,请参阅:
- polkit(8)- 有关 JavaScript 规则和优先级规则的手册页。
- pkla-admin-identities(8)和 pkla-check-authorization(8)- 分别是
.conf和.pkla文件格式文档的手册页。
4.2. 默认策略 复制链接链接已复制到粘贴板!
/etc/polkit-1/rules.d/50-default.rules 中定义。
sudo 用户被允许使用其他用户的安全权限运行程序,但 Administrator 是 wheel 组的成员,为用户提供额外的特殊系统权限来执行受限命令。
4.3. 检查脚本的权限 复制链接链接已复制到粘贴板!
pkcheck 工具(用来检查进程是否获得操作授权)现在支持 --process 选项指定的参数的新格式。通过避免出现竞争条件,运行 pkcheck 更安全。新格式类似如下: pkcheck --process pid,start-time,uid
$ pkcheck --process pid,start-time,uid
pid 或 pid,start-time 格式用于 --process 选项。调用 pkcheck 的所有脚本都需要使用新格式 pid,start-time,uid 来避免竞争条件。
4.4. 扩展 polkit 配置 复制链接链接已复制到粘贴板!
.rules 文件来实现类似级别的灵活性。
PolkitBackendActionLookup 实现(用来将数据提供给身份验证对话框的接口)也已从 Red Hat Enterprise Linux 7 中的 polkit 中删除。
polkit 的更多信息,请参阅 polkit(8)手册页。
第 5 章 GDM 复制链接链接已复制到粘贴板!
GDM 是 GNOME 显示管理器,它提供图形登录环境。从 GNOME 2 转换到 GNOME 3 后,只有通过 systemd 配置 GDM,因为它不再支持其他 init 系统。
- gdm 软件包
- gdm 软件包已替换了 xorg-x11-xdm,后者为 X Window 系统提供了传统的显示登录管理器。如前所述,gdm 软件包提供了图形登录屏幕,在启动、注销和用户切换后不久显示。
- GDM 和 logind
GDM现在使用logind来定义和跟踪用户。如需更多信息,请参阅 第 2 章 logind。系统管理员也可以在 GDM 自定义配置文件中手动设置自动登录:/etc/gdm/custom.conf。- custom.conf
- GDM 配置现在在
/etc/gdm/custom.conf中找到。但是,为了向后兼容,如果找到/etc/gdm/gdm.conf,它将被使用而不是custom.conf。升级时,红帽建议删除旧的gdm.conf文件,并将任何自定义配置迁移到custom.conf。
获取更多信息
GDM 的详情,请参考 第 14.1 节 “GDM 是什么?”。
第 6 章 GNOME Shell 扩展 复制链接链接已复制到粘贴板!
6.1. 替换时钟小程序 复制链接链接已复制到粘贴板!
图 6.1. 打开时钟
获取更多信息
第 7 章 gnome-session 复制链接链接已复制到粘贴板!
gnome-session 程序。它像以前一样启动 GNOME 桌面;尽管如此,它的一些组件也已发生了变化。
- gnome-session-properties
- gnome-session-properties 应用程序仍然是 gnome-session 软件包的一部分。但是,其功能已限制为管理单个用户的启动程序,并在退出登录时保存当前运行的应用程序。后一种功能已在 Red Hat Enterprise Linux 6 中保留下来。
- 命名的会话
- 按钮可以在特定时间保存会话并对其进行命名。保存的会话会在登录时恢复。当您在 gnome-session-properties 中点 时,保存的应用程序列表也会在登录时显示。有了这个更新,也可以创建多个布局并重命名它们,或者为一个用户帐户选择多个用户会话。
获取更多信息
第 8 章 国际化 复制链接链接已复制到粘贴板!
8.1. 输入法 复制链接链接已复制到粘贴板!
8.1.1. 配置和切换输入法 复制链接链接已复制到粘贴板!
Activities Overview,输入 help,然后按 Enter 键。
8.1.2. IBus 的预测输入法 复制链接链接已复制到粘贴板!
ibus-typing-booster 是 IBus 平台的预测输入法。它根据部分输入预测完整的词,允许更快速、更准确的文本输入。用户可以从建议的列表中选择所需的词。ibus-typing-booster 也可以使用 Hunspell 字典来为语言提供建议。
8.1.3. GNOME 桌面中的 iBus 替换了 im-chooser 复制链接链接已复制到粘贴板!
im-chooser 已被弃用。
8.2. 更改的文件位置 复制链接链接已复制到粘贴板!
.xinputrc文件已从用户的主目录移到~/.config/imsettings/目录。.imsettings.log文件已从用户的主目录中移出,现在可以在~/.cache/imsettings/log中找到。~/.fonts.conf文件已弃用。我们鼓励用户将文件移到~/.config/fontconfig/目录。~/.fonts.conf.d目录已被弃用。建议用户将目录移到~/.config/fontconfig/目录。/etc/fonts/conf.avail/目录中所有禁用的fontconfig配置文件都已移到/usr/share/fontconfig/conf.avail/目录中。如果您有任何指向旧位置的本地符号链接,请记住更新它们。
部分 II. 配置和管理 复制链接链接已复制到粘贴板!
第 9 章 使用 GSettings 和 dconf 配置桌面 复制链接链接已复制到粘贴板!
9.1. 术语解释:GSettings、gsettings 和 dconf 复制链接链接已复制到粘贴板!
- dconf
dconf是一个基于密钥的配置系统,用于管理用户设置。它是 Red Hat Enterprise Linux 7 中使用的GSettings的后端。dconf管理一系列不同的设置,包括GDM、应用程序和代理设置。- dconf
dconf命令行工具用于从和写入dconf数据库的单个值或整个目录。- GSettings
- GSettings 是应用程序设置的高级 API,即
dconf的前端。 - gsettings
gsettings命令行工具用于查看和更改用户设置。
9.2. 用户和系统设置 复制链接链接已复制到粘贴板!
dconf 允许系统管理员和用户对配置进行多个级别的控制。
- 管理员可以定义适用于所有用户的默认设置。
- 用户可以使用自己的设置来覆盖默认值。
- 另外,管理员也可以锁定设置,以防止用户覆盖它们。如需更多信息,请参阅 第 9.5.1 节 “锁定特定设置”。
9.3. 浏览桌面应用程序的 GSettings 值 复制链接链接已复制到粘贴板!
GSettings 值:
- dconf-editor GUI 工具。
- gsettings 命令行工具。
yum install dconf-editor
# yum install dconf-editor
dconf 值。它还包括命令和设置的 Bash 补全。GSettings 可用于 shell 脚本中自动配置。
图 9.1. dconf-editor 显示 org.gnome.destop.background GSettings 键
获取更多信息
9.4. 什么是 dconf 配置文件? 复制链接链接已复制到粘贴板!
dconf 系统收集的系统硬件和软件配置数据库的列表。dconf 配置文件允许您比较相同的系统来排除硬件或软件问题。
dconf 系统将其配置文件存储在文本文件中。$DCONF_PROFILE 环境变量可以指定 /etc/dconf/profile/ 目录中文件的相对路径,或者指定绝对路径,比如在用户的主目录中。
dconf 配置文件中设置的键对将覆盖默认设置,除非您已设置的值有问题。
9.4.1. 选择一个 dconf 配置文件 复制链接链接已复制到粘贴板!
dconf 会查询是否设置了变量 $DCONF_PROFILE 环境变量。如果设置,dconf 会尝试打开指定的配置文件,如果此步骤失败,则中止。
dconf 就会尝试打开名为 用户 的配置文件。只要此步骤仍然失败,dconf 会回退到内部硬有线配置。
dconf 数据库。第一行表示用于写入更改的数据库,而其余行则显示只读数据库。以下是存储在 /etc/dconf/profile/user 中的示例配置文件:
user-db:user system-db:local system-db:site
user-db:user
system-db:local
system-db:site
~/.config/dconf 中找到,local 和 site 是系统数据库,位于 /etc/dconf/db/ 中。
dconf 配置文件是在登录时确定的,因此用户必须退出并登录,才能将新的 dconf 用户配置文件应用到其会话。
9.5. 配置自定义默认值 复制链接链接已复制到粘贴板!
dconf 配置文件中的键提供默认设置,可以设置机器范围内的默认设置。这些默认值可以被用户覆盖。
用户配置文件 必须存在,键的值必须添加到 dconf 数据库中。
例 9.1. 设置默认背景
- 如果不存在,请在
/etc/dconf/profile/:user中创建用户配置文件user-db:user system-db:local
user-db:user system-db:localCopy to Clipboard Copied! Toggle word wrap Toggle overflow 其中 local 是dconf数据库的名称。 - 在
/etc/dconf/db/local.d/01-background中为本地数据库创建一个 keyfile,其中包含以下默认设置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 keyfile 的默认设置中,使用以下 GSettings 键:Expand 表 9.1. org.gnome.desktop.background 模式 GSettings 键 键名称 可能的值 描述 picture-options "none", "wallpaper", "centered", "scaled", "stretched", "zoom", "spanned" 决定由 wallpaper_filename 设置的图像如何渲染。 picture-uri 带路径的文件名 用于后台镜像的 URI。请注意,后端只支持本地(file://)URI。 primary-color 默认值:000000 绘制渐变或纯色时,左或上的颜色。 second-color 默认值:FFFFF 绘制渐变时右或底部的颜色,不用于纯色。 - 根据您的偏好编辑 keyfile。如需更多信息,请参阅 第 9.3 节 “浏览桌面应用程序的 GSettings 值”。
- 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
dconf 数据库读取和写入单个值或整个目录。如需更多信息,请参阅 dconf(1)手册页。
9.5.1. 锁定特定设置 复制链接链接已复制到粘贴板!
dconf 中的锁定模式是防止用户更改特定设置的有用工具。
GSettings 键,您需要在 keyfile 目录中创建一个 locks 子目录(例如,/etc/dconf/db/local.d/locks/)。此目录中的文件包含一个要锁定的键的列表,您可以向该目录添加任意数量的文件。
例 9.2. 锁定默认的壁纸
- 按照 第 10.5.1 节 “自定义默认桌面背景” 中的步骤设置默认的壁纸。
- 创建一个名为
/etc/dconf/db/local.d/locks/的新目录。 - 在
/etc/dconf/db/local.d/locks/00-default-wallpaper中创建一个新文件,其中包含以下内容,每行列出一个键:Prevent users from changing values for the following keys:
# 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-colorCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
9.6. GSettings 键属性 复制链接链接已复制到粘贴板!
dconf 数据库中设置 GSettings 键一次。如果您在 dconf 数据库中的不同位置将相同的键设置为不同的值,则只有一个值将生效。换句话说,一个键会覆盖另一个键的设置。
dconf 系统数据库中,每个键只能有一个值。某些键的值是数组类型。对于这个值类型,可以将该值指定为用逗号分开的多个元素的列表。数组值的一个示例如下:
key=['option1', 'option2']
key=['option1', 'option2']
例 9.3. org.gnome.desktop.input-sources.xkb-options GSettings 键
org.gnome.desktop.input-sources.xkb-options GSettings 键的工作方式如下。它只能被设置一次,如果您希望值中有两个元素,则需要在同一个配置文件中指定它们。由于这个值是一个数组类型,因此它可以有多个元素:
[org/gnome/desktop/input-sources] # Enable Ctrl-Alt-Backspace for all users # Set the Right Alt key as the Compose key and enable it xkb-options=['terminate:ctrl_alt_bksp', 'compose:ralt']
[org/gnome/desktop/input-sources]
# Enable Ctrl-Alt-Backspace for all users
# Set the Right Alt key as the Compose key and enable it
xkb-options=['terminate:ctrl_alt_bksp', 'compose:ralt']
9.7. 通过 NFS 存储用户设置 复制链接链接已复制到粘贴板!
若要在 使用网络文件系统 (NFS)主目录时 dconf 正常工作,必须使用 dconf keyfile 后端。
dconf keyfile 后端 时,在系统中必须安装 glib2-fam 软件包。否则,在远程计算机上有关配置更改的通知将无法正常工作。
过程 9.1. 设置 dconf Keyfile 后端
- 验证系统上是否安装了 glib2-fam 软件包。
- 系统必须订阅
Optional频道。要了解系统如何订阅Optional频道,请阅读以下资源: 如何使用红帽订阅管理(RHSM)访问 Optional 和 Supplementary 频道以及 -devel 软件包? - 运行以下命令安装 glib2-fam 软件包:
yum install glib2-fam
# yum install glib2-famCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 在每个客户端上创建或编辑
/etc/dconf/profile/user文件。 - 在此文件的最开始,添加以下行:
service-db:keyfile/user
service-db:keyfile/userCopy to Clipboard Copied! Toggle word wrap Toggle overflow
dconf keyfile 后端 仅在用户下次登录时生效。它将轮询 keyfile 来确定是否已进行了更新,因此设置可能不会立即更新。
第 10 章 默认外观 复制链接链接已复制到粘贴板!
GRUB、Plymouth)、登录屏幕、字体、键盘布局、屏幕屏蔽和桌面背景。
10.1. 创建 Anaconda 品牌 复制链接链接已复制到粘贴板!
10.2. 引导加载程序屏幕 复制链接链接已复制到粘贴板!
GRUB 2。您可以更改 GRUB 2 外观的几个部分。以下小节展示了如何更改发行版名称、菜单颜色和后台图像。
10.2.1. 发行版名称 复制链接链接已复制到粘贴板!
GRUB 2 显示一个包含发行版名称的标题。您可以通过自定义 /etc/default/grub 文件中的 GRUB_DISTRIBUTOR 变量来更改标题。
过程 10.1. 设置发行版名称
- 以 root 用户身份,打开
/etc/default/grub文件。 - 使用
GRUB_DISTRIBUTOR变量指定您自己的发行版名称。以下是/etc/default/grub文件的摘录。使用GRUB_DISTRIBUTOR变量更新第二行:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以 root 身份运行以下命令,以确保更改生效:
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意每次进行更改后,您需要更新/etc/default/grub目录。
/etc/grub.d/40_custom 纯文本文件或在 /etc/grub.d/ 目录中添加另一个文件来更改 GRUB 2 屏幕中显示的颜色或字体。您可以从以下指令中选择:
- set color_normal=foreground/background
- set color_highlight=foreground/background
- set menu_color_normal=foreground/background
- set menu_color_highlight=foreground/background
10.2.2. GRUB 2 背景 复制链接链接已复制到粘贴板!
GRUB 背景。不过,可以向引导装载程序屏幕添加一张图像。
GRUB 2 配置背景图像之前,必须为 gfxterm 图形终端安装 GRUB 2 Unicode 字体。默认情况下不提供任何字体,因此先决条件是将现有的 TTF 或 OTF 文件转换为 GRUB 2 使用的 PF2 格式:
unicode.pf2,以便使用 grub2-mkconfig 编写的默认配置。
例 10.1. 将 TTF 文件转换为 PF2 格式
LiberationSerif-Bold.ttf 到 .pf2 格式的转换。新的 .pf2 格式文件名为 unicode2,因此不会与 /grub2/fonts/ 目录中现有的 unicode.pf2 混淆。
grub2-mkfont --output=/boot/grub2/fonts/unicode2.pf2 --size=24 /usr/share/fonts/liberation/LiberationSerif-Bold.ttf
grub2-mkfont --output=/boot/grub2/fonts/unicode2.pf2 --size=24 /usr/share/fonts/liberation/LiberationSerif-Bold.ttf
GRUB 2 配置背景图像。镜像文件可以位于 boot/ 目录之外。
过程 10.2. 向引导加载程序屏幕添加图像
- 以 root 用户身份打开
/etc/default/grub文件。 - 编辑文件中的以下配置变量:
GRUB_TERMINAL=gfxterm GRUB_BACKGROUND=path_to_the_image.png
GRUB_TERMINAL=gfxterm GRUB_BACKGROUND=path_to_the_image.pngCopy to Clipboard Copied! Toggle word wrap Toggle overflow 支持的格式有 PNG、JPG、JPEG 和 TGA。 - 使用背景图像创建新的配置文件:
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 重启您的系统。
10.3. Plymouth 复制链接链接已复制到粘贴板!
plymouth 是 Red Hat Enterprise Linux 7 的图形引导系统和日志记录器,它使用基于内核的模式设置(KMS)和直接渲染管理器(DRM)。Plymouth 还在引导过程中处理用户交互。
10.3.1. 创建主题品牌 复制链接链接已复制到粘贴板!
Plymouth 的每个主题都由一个主题数据文件和一个编译的 splash 插件模块 组成。数据文件有一个 .plymouth 扩展,并安装在 /usr/share/plymouth/themes/ 目录中。
[Plymouth Theme] 部分中指定。这个组的有效键为 Name、Description 和 ModuleName。虽然前两个键是自我解释器,但第三个指定了 Plymouth splash 插件模块的名称。不同的插件在引导时提供不同的动画,以及各种主题的底层实现:
例 10.2. .plymouth 文件样本
[Plymouth Theme] Name=Charge Description=A theme that features the shadowy hull of my logo charge up and finally burst into full form. ModuleName=two-step
[Plymouth Theme]
Name=Charge
Description=A theme that features the shadowy hull of my logo charge up and finally burst into full form.
ModuleName=two-step
过程 10.3. 更改 Plymouth 主题
- 搜索现有的
Plymouth主题,并选择最首选的一个。运行以下命令:yum search plymouth-theme
# yum search plymouth-themeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 或运行 plymouth-set-default-theme --list 命令来查看已安装的主题。您还可以在安装所有 plymouth 软件包时安装所有的主题。但是,您也会安装一些不必要的软件包。yum install plymouth\*
# yum install plymouth\*Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用 plymouth-set-default-theme theme_name 命令将新主题设置为默认。
例 10.3. 将 "spinfinity" 设为默认主题
您已经选择了 spinfinity 主题,因此您运行:plymouth-set-default-theme spinfinity
# plymouth-set-default-theme spinfinityCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 编辑后重建
initrd守护进程,否则您的主题不会在引导屏幕中显示。通过运行以下命令来做到这一点:dracut -f
# dracut -fCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.3.2. 创建一个新的 Plymouth 主题 复制链接链接已复制到粘贴板!
过程 10.4. 从现有的主题创建您自己的主题
- 复制
plymouth/目录的整个内容。例如,作为模板目录,使用 Red Hat Enterprise Linux 7 的默认主题,/usr/share/plymouth/themes/charge/charge/charge.plymouth,它使用两步 splash 插件(两步 是两个阶段引导过程的常用引导负载功能,它以百计到引导时间完成):Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用新名称在
/usr/share/plymouth/themes/newtheme/ 目录中保存charge.plymouth文件,格式为:newtheme.plymouth
newtheme.plymouthCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 根据您的偏好更新
/usr/share/plymouth/themes/newtheme / newtheme .plymouth文件中的设置,更改颜色、对齐或转换。 - 运行以下命令,将 newtheme 设为默认:
plymouth-set-default-theme newtheme
# plymouth-set-default-theme newthemeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行以下命令,在更改主题后重建
initrd守护进程:dracut -f
# dracut -fCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.3.2.1. 使用品牌徽标 复制链接链接已复制到粘贴板!
过程 10.5. 将您的徽标添加到主题中
- 创建名为
logo.png的图像文件,以及您的徽标。 - 通过更新 ImageDir 键以指向您在第 1 步中创建的
logo.plymouth 文件:.png镜像文件,以编辑 /usr/share/plymouth/themes/newthemeImageDir=/usr/share/plymouth/themes/newtheme
ImageDir=/usr/share/plymouth/themes/newthemeCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Plymouth 的详情,请查看 plymouth(8)手册页。
10.4. 自定义登录屏幕 复制链接链接已复制到粘贴板!
10.4.1. 添加一个问候语徽标 复制链接链接已复制到粘贴板!
org.gnome.login-screen.logo GSettings 键控制。由于 GDM 使用自己的 dconf 配置文件,因此您可以通过更改该配置文件中的设置来添加问候语徽标。
dconf 的详情,请参考 第 9 章 使用 GSettings 和 dconf 配置桌面。
- 所有主要格式都支持:ANI, BPM, GIF, ICNS, ICO, JPEG, JPEG 2000, PCX, PNM, PBM, PGM, PPM, GTIFF, RAS, TGA, TIFF, XBM, WBMP, XPM,以及 SVG。
- 图片的大小可以按比例扩展到 48 像素高。例如,如果您将徽标设为 1920x1080,则它将变为原始图的 85x48 缩略图。
过程 10.6. 向登录屏幕添加徽标
- 创建或编辑
/etc/dconf/profile/中的 gdm 配置文件,其中包含以下行:gdmuser-db:user system-db:gdm file-db:/usr/share/gdm/greeter-dconf-defaults
user-db:user system-db:gdm file-db:/usr/share/gdm/greeter-dconf-defaultsCopy to Clipboard Copied! Toggle word wrap Toggle overflow GDM是dconf数据库的名称。 - 在
/etc/dconf/db/gdm.d/01-logo中为机器范围的设置创建一个gdm数据库:[org/gnome/login-screen] logo='/usr/share/pixmaps/logo/greeter-logo.png'
[org/gnome/login-screen] logo='/usr/share/pixmaps/logo/greeter-logo.png'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 /usr/share/pixmaps/logo/greeter-logo.png 替换为您要用作问候语徽标的图像文件的路径。 - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.2. 显示文本横幅 复制链接链接已复制到粘贴板!
org.gnome.login-screen.banner-message-enable- 启用显示横幅消息。
org.gnome.login-screen.banner-message-text- 在登录窗口中显示文本横幅消息。
GDM 使用自己的 dconf 配置文件,因此您可以通过更改该配置文件中的设置来配置文本横幅。
过程 10.7. 在登录屏幕上显示文本横幅
- 创建或编辑
/etc/dconf/profile/中的 gdm 配置文件,其中包含以下行:gdmuser-db:user system-db:gdm file-db:/usr/share/gdm/greeter-dconf-defaults
user-db:user system-db:gdm file-db:/usr/share/gdm/greeter-dconf-defaultsCopy to Clipboard Copied! Toggle word wrap Toggle overflow GDM是dconf数据库的名称。 - 在
/etc/dconf/db/gdm.d/01-banner-message中为机器范围的设置创建一个gdm数据库:[org/gnome/login-screen] banner-message-enable=true banner-message-text='Type the banner message here'
[org/gnome/login-screen] banner-message-enable=true banner-message-text='Type the banner message here'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意横幅消息没有字符限制。GNOME Shell 会自动检测较长的文本,并进入两列模式。但是,横幅消息文本无法从外部文件读取。 - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.4.2.1. 如果横幅消息没有更新会怎样? 复制链接链接已复制到粘贴板!
GDM。如需更多信息,请参阅 第 14.1.1 节 “重启 GDM”。
10.4.3. 显示多键盘布局 复制链接链接已复制到粘贴板!
过程 10.8. 更改系统键盘布局设置
- 在
/usr/share/X11/xkb/rules/base.lst文件的名为! layout部分找到所需语言布局的代码。 - 使用 localectl 工具更改系统键盘布局设置,如下所示:
localectl set-x11-keymap layout
$ localectl set-x11-keymap layoutCopy to Clipboard Copied! Toggle word wrap Toggle overflow 您可以用逗号分开的列表指定多个布局。例如,要将es设为默认布局,并将us设置为次要布局,请运行以下命令:localectl set-x11-keymap es,us
$ localectl set-x11-keymap es,usCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 退出登录,看看是否可在登录屏幕的顶栏中找到已定义的布局。
10.4.4. 禁用登录屏幕用户列表 复制链接链接已复制到粘贴板!
org.gnome.login-screen.disable-user-list GSettings 键来禁用登录屏幕上显示的用户列表。
过程 10.9. 设置 org.gnome.login-screen.disable-user-list 键
- 创建或编辑
/etc/dconf/profile/中的 gdm 配置文件,其中包含以下行:gdmuser-db:user system-db:gdm file-db:/usr/share/gdm/greeter-dconf-defaults
user-db:user system-db:gdm file-db:/usr/share/gdm/greeter-dconf-defaultsCopy to Clipboard Copied! Toggle word wrap Toggle overflow GDM是dconf数据库的名称。 - 在
/etc/dconf/db/gdm.d/00-login-screen中为机器范围的设置创建一个gdm数据库:[org/gnome/login-screen] # Do not show the user list disable-user-list=true
[org/gnome/login-screen] # Do not show the user list disable-user-list=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 通过更新
dconf工具更新系统数据库:dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.5. 自定义桌面背景 复制链接链接已复制到粘贴板!
dconf 工具,您可以配置默认背景、添加额外的背景或添加多个背景。
10.5.1. 自定义默认桌面背景 复制链接链接已复制到粘贴板!
org.gnome.desktop.background 模式中设置相关的 GSettings 键来配置默认的桌面背景及其外观。
过程 10.10. 设置默认背景
- 在
/etc/dconf/db/local.d/00-background中为机器范围的设置创建一个local数据库:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 覆盖用户的设置,以防止用户在
/etc/dconf/db/local.d/locks/background中更改它:List the keys used to configure the desktop 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-colorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如需更多信息,请参阅 第 9.5.1 节 “锁定特定设置”。 - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
10.5.2. 添加额外的背景 复制链接链接已复制到粘贴板!
- 使用 org.gnome.desktop.background 模式 创建一个指定额外背景的外观的 filename.xml 文件(对文件名没有要求)。以下是最常用的模式的列表:
Expand 表 10.1. org.gnome.desktop.background 模式 GSettings 键 键名称 可能的值 描述 picture-options "none", "wallpaper", "centered", "scaled", "stretched", "zoom", "spanned" 决定由 wallpaper_filename 设置的图像如何渲染。 color-shading-type "horizontal", "vertical" 和 "solid" 如何渐变背景颜色。 primary-color 默认值:#023c88 绘制渐变或纯色时,左或上的颜色。 second-color 默认值:#5789ca 绘制渐变时右或底部的颜色,不用于纯色。 - 将 文件名.xml 文件存储在
/usr/share/gnome-background-properties/目录中。
例 10.4. 额外的背景文件
<wallpaper> 元素,来添加更多的背景。
<wallpaper> 元素的 .xml 文件,添加了两个不同的背景:
例 10.5. 有两个壁纸元素的额外的背景文件
10.5.3. 设置屏幕屏蔽 复制链接链接已复制到粘贴板!
org.gnome.desktop.screensaver.picture-uri GSettings 键控制。由于 GDM 使用自己的 dconf 配置文件,因此您可以通过更改该配置文件中的设置来设置默认背景。
dconf 的详情,请参考 第 9 章 使用 GSettings 和 dconf 配置桌面。
过程 10.11. 向屏幕屏蔽中添加徽标
- 在
/etc/dconf/db/gdm.d/01-screensaver中为机器范围的设置创建一个gdm数据库:[org/gnome/desktop/screensaver] picture-uri='file:///opt/corp/background.jpg'
[org/gnome/desktop/screensaver] picture-uri='file:///opt/corp/background.jpg'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将 /opt/corp/background.jpg 替换为您要用作屏幕屏蔽的图像文件的路径。支持的格式有 PNG、JPG、JPEG 和 TGA。如果需要,可以扩展图像,以适合屏幕。 - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,您必须退出登录。
10.5.3.1. 如果屏幕屏蔽没有更新会咋样? 复制链接链接已复制到粘贴板!
GDM。如需更多信息,请参阅 第 14.1.1 节 “重启 GDM”。
10.6. 配置字体 复制链接链接已复制到粘贴板!
fontconfig 工具进行字体管理和自定义。fontconfig 简化了字体管理,并提供显示功能,如反别名。本节描述了以下字体管理任务:
- 添加新字体(为一个用户及为所有用户)
- 指定用来替换缺失字体的字体
- 配置字体别名
- 按语言定义字体首选项
- 自定义字体属性
fontconfig 会搜索 /etc/fonts/fonts.conf 配置文件中默认列出的目录。
fontconfig 已知的所有字体,您可以使用 fc-list 命令:
fc-list : file
$ fc-list : file
fontconfig 及其配置的详情,请查看 fonts-conf(5)手册页。
10.6.1. 为所有用户添加额外的字体 复制链接链接已复制到粘贴板!
fontconfig 进行字体处理的应用程序中的用户。
过程 10.12. 安装额外的字体
- 以
root用户身份,创建/usr/local/share/fonts/目录,并将字体复制到其中。为每个要安装的字体集创建一个子目录,因为某些字体有多个用于粗体、斜体等的文件。 - 运行以下命令,确保字体缓存已更新:
fc-cache /usr/local/share/fonts/
# fc-cache /usr/local/share/fonts/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
fontconfig 将检测新的字体,并使其可用。与用户会话不同,在允许您使用新字体之前,一些应用程序可能需要重新启动。
10.6.2. 使用替代目录为所有用户添加额外的字体 复制链接链接已复制到粘贴板!
/etc/fonts/fonts.conf 文件中,您也可以将字体安装到另一个系统目录中,而不是 /usr/local/share/fonts/。
/etc/fonts/fonts.conf 文件中,则需要在 /etc/fonts/local.conf 中创建自己的机器范围的配置文件。
/etc/fonts/fonts.conf 文件,因为它会在 fontconfig 库被更新时被替换。
过程 10.13. 安装额外的字体
- 以
root用户身份,创建自己的机器范围的/etc/fonts/local.conf配置文件,包括带有字体的目录。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 确保目录的权限设置为
755。chmod -R 755 /PATH/TO/YOUR/DIRECTORY_NAME
# chmod -R 755 /PATH/TO/YOUR/DIRECTORY_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用 fc-cache 命令更新字体缓存时,指定目录名称。
fc-cache DIRECTORY_NAME
# fc-cache DIRECTORY_NAMECopy to Clipboard Copied! Toggle word wrap Toggle overflow
10.6.3. 为单个用户添加额外的字体 复制链接链接已复制到粘贴板!
fontconfig 进行字体处理。
过程 10.14. 安装额外的字体
- 将字体复制到
~/.local/share/fonts/目录以安装它。 - 运行以下命令,确保字体缓存已更新:
fc-cache ~/.local/share/fonts
$ fc-cache ~/.local/share/fontsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
fontconfig 将检测新的字体,并使其可用。您可能需要重启正在运行的应用程序来查看更改是否有效。用户会话不需要重启。
10.6.4. 替换字体 复制链接链接已复制到粘贴板!
fontconfig 会读取 /etc/fonts/fonts.conf 配置文件,以确定用于替换请求的字体的最相似的可用字体。如果单个字符在请求的字体中不存在,则它们也可以被替换。
图 10.1. 使用字体调整工具替换字体
yum install fonts-tweak-tool
# yum install fonts-tweak-tool
过程 10.15. 替换字体
- 按 Super 键进入
活动概览,输入Fonts Tweak Tool,然后按 Enter 键启动 字体调整工具。 - 点 Font Substitutions 选项卡。
- 点击左窗格左下角的 按钮,选择或输入您要替换的字体的名称,然后点击 。
- 点击右侧窗格左下角的 按钮,选择要用于替换第一个字体的字体名称,然后点击 。
- 点 。
10.6.5. 配置字体别名 复制链接链接已复制到粘贴板!
- Sans Serif,
- Serif,
- Monospace,
- Cursive 和
- Fantasy。
yum install fonts-tweak-tool
# yum install fonts-tweak-tool
图 10.2. 使用字体调整工具配置字体别名
过程 10.16. 配置字体别名
- 按 Super 键进入
活动概览,输入Fonts Tweak Tool,然后按 Enter 键启动 字体调整工具。 - 点 Font Aliases 选项卡。
- 点击左窗格左下角的 按钮,选择或键入您要为其配置字体别名的区域名称,然后点击 。要配置默认的字体别名,而无论使用的区域是什么,请从区域列表中选择 Default。
- 在右侧窗格中,找到您要覆盖系统默认值的字体别名,然后从下拉菜单中选择自定义字体。
- 点 。
10.6.6. 多语言顺序 复制链接链接已复制到粘贴板!
yum install fonts-tweak-tool
# yum install fonts-tweak-tool
过程 10.17. 配置多语言
- 按 Super 键进入
活动概览,输入Fonts Tweak Tool,然后按 Enter 键启动 字体调整工具。 - 点 Language Ordering 选项卡。
- 单击窗口左下角的 按钮,选择或输入您要配置为主语言的语言名称,然后单击 。
- 要添加其他语言,请单击窗口左下角的 按钮,选择要配置为次要语言的语言名称,然后单击 。重复此步骤来添加更多的语言。
- 点 。
Xft 应用程序)可能无法正确显示用户语言的所有字符。这是因为在这些应用程序中或在这些应用程序使用的渲染库中缺少对回退字体的支持。
10.6.7. 配置字体属性 复制链接链接已复制到粘贴板!
yum install fonts-tweak-tool
# yum install fonts-tweak-tool
过程 10.18. 更改字体属性
- 按 Super 键进入
活动概览,输入Fonts Tweak Tool,然后按 Enter 键启动 字体调整工具。 - 点 Fonts Properties 选项卡。
- 点击窗口左下角的 按钮,选择或输入您要更改属性的字体名称,然后点击 。重复此步骤来添加更多字体。
- 根据需要更改字体属性。
- 点 。
- 如果可用,请使用嵌入的位图字体。
- 这对于喜欢位图字体而不是轮廓字体的用户很有用。要使用嵌入的位图字体,请添加合适的字体,然后点击 Use embedded bitmap font if any。
- 使用 JIS X 2013:2004 符号。
- 要使用 JIS X 2013:2004 标准中的日语,而不是来自 JIS X 2013:2000 或更早的版本,请添加支持 JIS X 2013:2004 的字体,然后单击 Features 列表中的 。
第 11 章 GNOME Shell 扩展 复制链接链接已复制到粘贴板!
dconf,设置以下两个 GSettings 键:
org.gnome.shell.enabled-extensionsorg.gnome.shell.development-tools
11.1. GNOME Shell 扩展是什么? 复制链接链接已复制到粘贴板!
~/.local/share/gnome-shell/extensions/uuid、/usr/share/gnome-shell/extensions/uuid 中按用户安装扩展。
- 您的 uuid 不得包含 Unicode 字符。
- 您的 uuid 不得包含 gnome.org 结尾,它不能看起来与 GNOME 项目有关联。
- 您的 uuid 必须仅包含字母数字字符、句点(.)、at 符号(@)和下划线(_)。
过程 11.1. 查看已安装的扩展
- 按 Alt+F2。
- 输入
lg,然后按 Enter 键打开 Looking Glass。 - 在 Looking Glass 的顶部栏中,单击 以打开已安装的扩展列表。
图 11.1. 使用 Looking Glas 查看已安装的扩展
11.2. 启用机器范围的扩展 复制链接链接已复制到粘贴板!
/usr/share/gnome-shell/extensions 目录中安装它们。
org.gnome.shell.enabled-extensions 键。但是,目前无法为已经登录的用户启用额外的扩展。这不适用于已安装并启用了他们自己的 GNOME 扩展的现有用户。
过程 11.2. 启用机器范围的扩展
- 在
/etc/dconf/db/local.d/00-extensions中为机器范围的设置创建一个local数据库文件:[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']
[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']Copy to Clipboard Copied! Toggle word wrap Toggle overflow enabled-extensions键使用扩展的 uuid(myextension1@myname.example.com 和 myextension2@myname.example.com) 指定启用的扩展。 - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
11.3. 锁定启用的扩展 复制链接链接已复制到粘贴板!
org.gnome.shell.enabled-extensions 和 org.gnome.shell.development-tools 键来防止用户启用或禁用扩展。
org.gnome.shell.development-tools 键可确保用户无法使用 GNOME Shell 的集成调试器和检查器工具(Looking Glass)来禁用任何强制扩展。
过程 11.3. 锁定启用的扩展
- 在
/etc/dconf/db/local.d/00-extensions中为机器范围的设置创建一个local数据库文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow enabled-extensions键使用扩展的 uuid(myextension1@myname.example.com 和 myextension2@myname.example.com) 指定启用的扩展。development-tools键被设置为 false,以禁用对 Looking Glass 的访问。 - 覆盖用户的设置,并阻止用户在
/etc/dconf/db/local.d/locks/extensions中更改它:Lock the list of mandatory extensions and access to Looking Glass
# Lock the list of mandatory extensions and access to Looking Glass /org/gnome/shell/enabled-extensions /org/gnome/shell/development-toolsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
org.gnome.shell.enabled-extensions 和 org.gnome.shell.development-tools 键后,在 ~/.local/share/gnome-shell/extensions 或 /usr/share/gnome-shell/extensions 中安装的任何扩展都不会被 GNOME Shell 加载,从而防止用户使用它们。org.gnome.shell.enabled-extensions
11.4. 设置强制扩展 复制链接链接已复制到粘贴板!
/usr/share/gnome-shell/extensions 目录中安装扩展,然后锁定 org.gnome.shell.enabled-extensions 和 org.gnome.shell.development-tools 键。
org.gnome.shell.development-tools 键可确保用户无法使用 GNOME Shell 的集成调试器和检查器工具(Looking Glass)来禁用任何强制扩展。
过程 11.4. 设置强制扩展
- 在
/etc/dconf/db/local.d/00-extensions-mandatory中为机器范围的设置创建一个local数据库文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow enabled-extensions键使用扩展的 uuid(myextension1@myname.example.com 和 myextension2@myname.example.com) 指定启用的扩展。development-tools键被设置为 false,以禁用对 Looking Glass 的访问。 - 覆盖用户的设置,并阻止用户在
/etc/dconf/db/local.d/locks/extensions-mandatory中更改它:Lock the list of mandatory extensions and access to Looking Glass
# Lock the list of mandatory extensions and access to Looking Glass /org/gnome/shell/enabled-extensions /org/gnome/shell/development-toolsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
第 12 章 集成应用程序 复制链接链接已复制到粘贴板!
- 为应用程序添加或修改菜单项,或通过创建或修改子菜单来自定义 菜单结构。有关菜单自定义的更多信息,请参阅 第 12.1 节 “定制菜单”。
- 自定义
活动概览中 GNOME Shell dash 上看到的默认喜欢的应用程序。有关如何进行此操作的更多信息,请参阅 第 12.2 节 “自定义默认喜欢的应用程序”。 - 为应用程序添加或修改 MIME 类型,并将应用程序与特定的 MIME 类型关联。有关配置 MIME 类型的更多信息,请参阅 第 12.3 节 “配置文件关联”。
12.2. 自定义默认喜欢的应用程序 复制链接链接已复制到粘贴板!
活动概览 中的 GNOME Shell dash 上看到的应用程序。您可以使用 dconf 为单个用户设置喜欢的应用程序,或者为所有用户设置相同的喜欢的应用程序。
12.2.1. 为单个用户设置不同的喜欢的应用程序 复制链接链接已复制到粘贴板!
~/.config/dconf/user 中的用户数据库文件,为单个用户设置默认喜欢的应用程序。以下示例使用 dconf 将 gedit、Terminal 和 Nautilus 设置为用户的默认喜欢。示例代码允许用户稍后修改列表(如果他们想要这样做的话)。
例 12.3. /etc/dconf/profile 的内容:
This line allows the user to change the default favorites later
# This line allows the user to change the default favorites later
user-db:user
例 12.4. ~/.config/dconf/user 的内容:
Set gedit, terminal and nautilus as default favorites
# Set gedit, terminal and nautilus as default favorites
[org/gnome/shell]
favorite-apps = ['gedit.desktop', 'gnome-terminal.desktop', 'nautilus.desktop']
12.2.2. 为所有用户设置同样的喜欢的应用程序 复制链接链接已复制到粘贴板!
dconf keyfiles 修改系统数据库文件。以下示例编辑 dconf 配置文件,然后创建一个 keyfile 来为机构的第一个 floor 中的所有员工设置默认喜欢的应用程序。
例 12.5. /etc/dconf/profile 的内容:
user-db:user # This line defines a system database called first_floor system-db:first_floor
user-db:user
# This line defines a system database called first_floor
system-db:first_floor
用户数据库文件 的设置将优先于 first_floor 数据库文件中的设置,但 first_floor 数据库文件中引入的锁定将优先于 用户 中存在的设置。有关锁的详情,请参考 第 9.5.1 节 “锁定特定设置”。
例 12.6. /etc/dconf/db/first_floor.d/00_floor1_settings 的内容:
This sample sets gedit, terminal and nautilus as default favorites for all users in the first floor
# This sample sets gedit, terminal and nautilus as default favorites
# for all users in the first floor
[org/gnome/shell]
favorite-apps = ['gedit.desktop', 'gnome-terminal.desktop', 'nautilus.desktop']
12.3. 配置文件关联 复制链接链接已复制到粘贴板!
12.3.1. 什么是 MIME 类型? 复制链接链接已复制到粘贴板!
- 确定默认情况下,哪个应用应打开特定的文件格式。
- 注册那些也可以打开特定文件格式的其他应用程序。
- 提供描述文件类型的字符串,例如,在 Files 应用程序的文件属性对话框中。
- 提供代表特定文件格式的图标,例如,在 Files 应用程序的文件属性对话框中。
media-type/subtype-identifier
media-type/subtype-identifier
例 12.7. MIME 类型格式
image/jpeg 是 MIME 类型的示例,其中 image 是介质类型,jpeg 是子类型标识符。
- 机器范围和特定于用户的位置来保存所有 MIME 类型规范文件。
- 如何注册 MIME 类型,以便桌面环境知道可使用哪个应用程序来打开特定的文件格式。
- 用户如何更改哪些应用程序应打开哪些文件格式。
12.3.1.1. 什么是 MIME 数据库? 复制链接链接已复制到粘贴板!
/usr/share/mime/packages/ 目录,其中存储了指定已知 MIME 类型信息的 MIME 类型相关文件。此类文件的一个示例是 /usr/share/mime/packages/freedesktop.org.xml,指定系统上默认可用的标准 MIME 类型的信息。该文件由 shared-mime-info 软件包提供。
获取更多信息
12.3.2. 为所有用户添加自定义 MIME 类型 复制链接链接已复制到粘贴板!
/usr/share/mime/packages/ 目录中创建一个新的 MIME 类型规格文件,并在 /usr/share/applications/ 目录中创建一个 .desktop 文件。
过程 12.3. 为所有用户添加自定义 application/x-newtype MIME 类型
- 创建
/usr/share/mime/packages/application-x-newtype.xml文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上面的示例application-x-newtype.xml文件定义了一个新的 MIME 类型application/x-newtype,并将扩展名.xyz的文件名分配给该 MIME 类型。 - 创建一个新的
.desktop文件,例如myapplication1.desktop,并将其放在/usr/share/applications/目录中:[Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1 field_code
[Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1 field_codeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上面的示例myapplication1.desktop文件将application/x-newtypeMIME 类型与名为 My Application 1 的应用程序相关联,后者由命令 myapplication1 运行。根据myapplication1的启动方式,从 Desktop Entry Specification 中选择一个对应的字段代码。例如,对于能够打开多个文件的应用程序,请使用:Exec=myapplication1 %F
Exec=myapplication1 %FCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以 root 用户身份,更新 MIME 数据库以使更改生效:
update-mime-database /usr/share/mime
# update-mime-database /usr/share/mimeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以 root 用户身份更新应用程序数据库:
update-desktop-database /usr/share/applications
# update-desktop-database /usr/share/applicationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 要验证您是否已成功将 If
xyz 文件与application/x-newtypeMIME 类型关联,请首先创建一个空文件,如test.xyz:touch test.xyz
$ touch test.xyzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 然后运行 gvfs-info 命令:gvfs-info test.xyz | grep "standard::content-type"
$ gvfs-info test.xyz | grep "standard::content-type" standard::content-type: application/x-newtypeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 要验证
myapplication1.desktop是否已正确设置为application/x-newtypeMIME 类型的默认注册的应用程序,请运行 gvfs-mime --query 命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.3.3. 为单个用户添加自定义 MIME 类型 复制链接链接已复制到粘贴板!
~/.local/share/mime/packages/ 目录中创建一个新的 MIME 类型规格文件,并在 ~/.local/share/applications/ 目录中创建一个 .desktop 文件。
过程 12.4. 为单个用户添加一个自定义 application/x-newtype MIME 类型
- 创建
~/.local/share/mime/packages/application-x-newtype.xml文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 上面的示例application-x-newtype.xml文件定义了一个新的 MIME 类型application/x-newtype,并将扩展名.xyz的文件名分配给该 MIME 类型。 - 创建一个新的
.desktop文件,例如myapplication1.desktop,并将其放在~/.local/share/applications/目录中:[Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1 field_code
[Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1 field_codeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 上面的示例myapplication1.desktop文件将application/x-newtypeMIME 类型与名为 My Application 1 的应用程序相关联,后者由命令 myapplication1 运行。根据myapplication1的启动方式,从 Desktop Entry Specification 中选择一个对应的字段代码。例如,对于能够打开多个文件的应用程序,请使用:Exec=myapplication1 %F
Exec=myapplication1 %FCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新 MIME 数据库以使您的更改生效:
update-mime-database ~/.local/share/mime
$ update-mime-database ~/.local/share/mimeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新应用程序数据库:
update-desktop-database ~/.local/share/applications
$ update-desktop-database ~/.local/share/applicationsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 要验证您是否已成功将 If
xyz 文件与application/x-newtypeMIME 类型关联,请首先创建一个空文件,如test.xyz:touch test.xyz
$ touch test.xyzCopy to Clipboard Copied! Toggle word wrap Toggle overflow 然后运行 gvfs-info 命令:gvfs-info test.xyz | grep "standard::content-type"
$ gvfs-info test.xyz | grep "standard::content-type" standard::content-type: application/x-newtypeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 要验证
myapplication1.desktop是否已正确设置为application/x-newtypeMIME 类型的默认注册的应用程序,请运行 gvfs-mime --query 命令:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.3.4. 覆盖所有用户的默认注册的应用程序 复制链接链接已复制到粘贴板!
/usr/share/applications/mimeapps.list 和 /usr/share/applications/[desktop environment name]-mimeapps.list 文件是软件包安装的默认值,它指定默认注册哪个应用程序来打开特定的 MIME 类型。
/etc/xdg/mimeapps.list 或 /etc/xdg/[desktop environment name]-mimeapps.list 文件,其中包含他们为其覆盖默认注册的应用程序的 MIME 类型列表。
/usr/share/applications//etc/xdg/
mimeapps.list[desktop environment name]-mimeapps.list
defaults.list 文件,而不是 mimeapps.list 文件。
过程 12.5. 覆盖所有用户的默认注册的应用程序
- 查阅
/usr/share/applications/mimeapps.list文件,以确定您要更改默认注册的应用程序的 MIME 类型。例如,以下mimeapps.list文件示例指定了text/html和application/xhtml+xmlMIME 类型的默认注册的应用程序:[Default Applications] text/html=firefox.desktop application/xhtml+xml=firefox.desktop
[Default Applications] text/html=firefox.desktop application/xhtml+xml=firefox.desktopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 默认应用程序(Firefox)通过指定对应的 .desktop 文件(firefox)来定义。其他应用程序的.desktop.desktop文件的默认位置为/usr/share/applications/。 - 创建
/etc/xdg/mimeapps.list文件。在文件中,指定 MIME 类型及其相应的默认注册的应用程序:[Default Applications] text/html=myapplication1.desktop application/xhtml+xml=myapplication2.desktop
[Default Applications] text/html=myapplication1.desktop application/xhtml+xml=myapplication2.desktopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这会将text/htmlMIME 类型的默认注册的应用程序设为myapplication1.desktop,将application/xhtml+xmlMIME 类型的默认注册的应用程序设为myapplication2.desktop。要使这些设置正常工作,请确保myapplication1.desktop和myapplication2.desktop文件都放在/usr/share/applications/目录中。 - 您可以使用 gvfs-mime query 命令来验证默认注册的应用程序是否已正确设置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.3.5. 覆盖单个用户的默认注册的应用程序 复制链接链接已复制到粘贴板!
/usr/share/applications/mimeapps.list 和 /usr/share/applications/[desktop environment name]-mimeapps.list 文件是软件包安装的默认值,它指定默认注册哪个应用程序来打开特定的 MIME 类型。
~/.local/share/applications/mimeapps.list 或 ~/.local/share/applications/[desktop environment id]-mimeapps.list 文件,其中包含您要为其覆盖默认注册的应用程序的 MIME 类型列表。
/usr/share/applications//etc/xdg/~/.local/share/application/
mimeapps.list[desktop environment name]-mimeapps.list
defaults.list 文件,而不是 mimeapps.list 文件。
过程 12.6. 覆盖单个用户的默认注册的应用程序
- 查阅
/usr/share/applications/mimeapps.list文件,以确定您要更改默认注册的应用程序的 MIME 类型。例如,以下mimeapps.list文件示例指定了text/html和application/xhtml+xmlMIME 类型的默认注册的应用程序:[Default Applications] text/html=firefox.desktop application/xhtml+xml=firefox.desktop
[Default Applications] text/html=firefox.desktop application/xhtml+xml=firefox.desktopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 默认应用程序(Firefox)通过指定对应的 .desktop 文件(firefox)来定义。其他应用程序的.desktop.desktop文件的系统默认位置为/usr/share/applications/。单个用户的.desktop文件可以保存在~/.local/share/applications/中。 - 创建
~/.local/share/applications/mimeapps.list文件。在文件中,指定 MIME 类型及其相应的默认注册的应用程序:[Default Applications] text/html=myapplication1.desktop application/xhtml+xml=myapplication2.desktop
[Default Applications] text/html=myapplication1.desktop application/xhtml+xml=myapplication2.desktopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 这会将text/htmlMIME 类型的默认注册的应用程序设为myapplication1.desktop,将application/xhtml+xmlMIME 类型的默认注册的应用程序设为myapplication2.desktop。要使这些设置正常工作,请确保myapplication1.desktop和myapplication2.desktop文件都放在/usr/share/applications/目录中。 - 您可以使用 gvfs-mime --query 命令来验证默认注册的应用程序是否已正确设置:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第 13 章 自定义 GNOME 桌面功能 复制链接链接已复制到粘贴板!
dconf 工具。用户退出登录并再次登录时会体验到不同。
13.1. 允许和禁止在线帐户 复制链接链接已复制到粘贴板!
- 启用所有在线帐户;
- 有选择地启用几个在线帐户;
- 禁用所有在线帐户。
过程 13.1. 配置在线帐户
- 如果系统上没有 gnome-online-accounts 软件包,请以 root 身份运行以下命令安装它:
yum install gnome-online-accounts
# yum install gnome-online-accountsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在
/etc/dconf/db/local.d/goa中为本地数据库创建一个 keyfile,其中包含以下配置:- 仅有选择地启用几个提供商:
[org/gnome/online-accounts] whitelisted-providers= ['google', 'facebook']
[org/gnome/online-accounts] whitelisted-providers= ['google', 'facebook']Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 禁用所有提供商:
[org/gnome/online-accounts] whitelisted-providers= ['']
[org/gnome/online-accounts] whitelisted-providers= ['']Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 允许所有可用的提供商:
[org/gnome/online-accounts] whitelisted-providers= ['all']
[org/gnome/online-accounts] whitelisted-providers= ['all']Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 锁定设置,以防止用户覆盖它们。
- 如果不存在,请创建一个名为
/etc/dconf/db/local.d/locks/的新目录。 - 在
/etc/dconf/db/local.d/locks/goa中创建一个新文件,其内容如下:Prevent users from changing values for the following key:
# Prevent users from changing values for the following key: /org/gnome/online-accountsCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 更新系统数据库以使更改生效:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
13.2. 启用 Ctrl+Alt+Backspace 快捷键 复制链接链接已复制到粘贴板!
- 程序导致 X 服务器停止工作。
- 您需要从登录的会话快速切换。
- 您已启动了失败的程序。
- 由于各种原因,您无法在当前会话中操作。
- 您的屏幕冻结了。
org.gnome.desktop.input-sources.xkb-options GSettings 键。(有关 GSettings 键的更多信息,请参阅 第 9.6 节 “GSettings 键属性”。)
过程 13.2. 启用 Ctrl-Alt-Backspace 快捷键
- 在
/etc/dconf/db/local.d/00-input-sources中为机器范围的设置创建一个local数据库:[org/gnome/desktop/input-sources] # Enable Ctrl-Alt-Backspace for all users xkb-options=['terminate:ctrl_alt_bksp']
[org/gnome/desktop/input-sources] # Enable Ctrl-Alt-Backspace for all users xkb-options=['terminate:ctrl_alt_bksp']Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 覆盖用户设置,并防止用户在
/etc/dconf/db/local.d/locks/input-sources中更改它:Lock the list of enabled XKB options
# Lock the list of enabled XKB options /org/gnome/desktop/input-sources/xkb-optionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统数据库以使更改生效:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
13.3. 启用组合键 复制链接链接已复制到粘贴板!
Compose 键 是一个功能,可让您输入键盘上找不到的特殊符号或字符。在 GNOME 桌面中,您可以将键盘上的一个现有键定义为 Compose 键。Compose 键 与其他键(称为 Compose 键序列)结合使用,以输入您经常输入的特殊字符。
例 13.1. 使用组合键
Compose 键,则键入 AE (大写),您将会得到"unmarshal"。如果输入小写字符,则得到 "æ"。
Compose 键 并将键盘上的特定键配置为 Compose 键,请设置 org.gnome.desktop.input-sources.xkb-options GSettings 键。这样,设置将会对系统上的所有用户默认启用。(有关 GSettings 键的更多信息,请参阅 第 9.6 节 “GSettings 键属性”。)
过程 13.3. 将右 Alt 键设为组合键
- 在
/etc/dconf/db/local.d/00-input-sources中为机器范围的设置创建一个local数据库:[org/gnome/desktop/input-sources] # Set the Right Alt key as the Compose key and enable it xkb-options=['compose:ralt']
[org/gnome/desktop/input-sources] # Set the Right Alt key as the Compose key and enable it xkb-options=['compose:ralt']Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果要设置与 Right Alt 不同的键,请将 ralt 替换为 xkeyboard-config(7) man page 中指定的该键的名称,section Compose 键位置。 - 覆盖用户设置,并防止用户在
/etc/dconf/db/local.d/locks/input-sources中更改它:Lock the list of enabled XKB options
# Lock the list of enabled XKB options /org/gnome/desktop/input-sources/xkb-optionsCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统数据库以使更改生效:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
Compose 键。只需按下并释放 Compose 键,然后键入组合键以获得特定的符号。
13.4. 禁用命令行访问 复制链接链接已复制到粘贴板!
- 设置
org.gnome.desktop.lockdown.disable-command-lineGSettings 键,这将阻止用户访问终端或指定要执行的命令行( Alt+F2 命令提示符)。 - 通过修改 X 服务器配置,禁用通过 Ctrl+Alt+功能键 快捷键切换到虚拟终端(VT)。
- 从 菜单和 GNOME Shell 中的
Activities Overview中删除 Terminal 和任何其他提供访问终端的应用程序。这可以通过删除这些应用程序的菜单项来完成。有关如何删除菜单项的详情,请参考 第 12.1.2 节 “删除所有用户的菜单项”。
- 在
/etc/dconf/db/local.d/00-lockdown中为机器范围的设置创建一个local数据库:[org/gnome/desktop/lockdown] # Disable command-line access disable-command-line=true
[org/gnome/desktop/lockdown] # Disable command-line access disable-command-line=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 覆盖用户设置,并防止用户在
/etc/dconf/db/local.d/locks/lockdown中更改它:Lock the disabled command-line access
# Lock the disabled command-line access /org/gnome/desktop/lockdownCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
13.4.2. 禁止虚拟终端切换 复制链接链接已复制到粘贴板!
/etc/X11/xorg.conf.d/ 目录中的 X 配置文件中的 Serverflags 部分添加 DontVTSwitch 选项来禁用对所有虚拟终端的访问。
过程 13.4. 禁止访问虚拟终端
- 创建或编辑
/etc/X11/xorg.conf.d/目录中的 X 配置文件:注意按照惯例,这些特定于主机的配置文件名称以两个数字和一个连字符开头,并且总是以 .conf 为扩展名。因此,以下文件名可以是/etc/X11/xorg.conf.d/10-xorg.conf。Section "Serverflags" Option "DontVTSwitch" "yes" EndSection
Section "Serverflags" Option "DontVTSwitch" "yes" EndSectionCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 重启 X 服务器以使更改生效。
13.5. 锁定打印 复制链接链接已复制到粘贴板!
org.gnome.desktop.lockdown.disable-printing 键来防止应用程序打印。按照以下流程操作。
过程 13.5. 锁定 org.gnome.desktop.lockdown.disable-printing 键
- 如果不存在,请创建用户配置文件(
/etc/dconf/profile/user):user-db:user system-db:local
user-db:user system-db:localCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在
etc/dconf/db/local.d/00-lockdown中为机器范围的设置创建一个local数据库:[org/gnome/desktop/lockdown] # Prevent applications from printing disable-printing=true
[org/gnome/desktop/lockdown] # Prevent applications from printing disable-printing=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 覆盖用户设置,并防止用户在
/etc/dconf/db/local.d/locks/lockdown中更改它:List the keys used to configure lockdown
# List the keys used to configure lockdown /org/gnome/desktop/lockdown/disable-printingCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行以下命令来更新系统数据库
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.6. 锁定保存在磁盘上的文件 复制链接链接已复制到粘贴板!
org.gnome.desktop.lockdown.disable-save-to-disk 键来防止应用程序保存文件。按照以下流程操作:
过程 13.6. 锁定 org.gnome.desktop.lockdown.disable-save-to-disk 键
- 在
/etc/dconf/profile/user中创建user配置文件,除非它已存在:user-db:user system-db:local
user-db:user system-db:localCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在
/etc/dconf/db/local.d/00-lockdown文件中为机器范围的设置创建一个local数据库。[org/gnome/desktop/lockdown] # Prevent the user from saving files on disk disable-save-to-disk=true
[org/gnome/desktop/lockdown] # Prevent the user from saving files on disk disable-save-to-disk=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 覆盖用户设置,并防止用户在
/etc/dconf/db/local.d/locks/lockdown中更改它:Lock this key to disable saving files on disk
# Lock this key to disable saving files on disk /org/gnome/desktop/lockdown/disable-save-to-diskCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 运行以下命令来更新系统数据库
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
13.7. 锁定重新分区 复制链接链接已复制到粘贴板!
polkit 可让您为单个操作设置权限。对于 udisks2,磁盘管理服务工具,配置位于 /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy。此文件包含一组操作和默认值,它们可被系统管理员覆盖。
/etc 中的 polkit 配置会覆盖 /usr/share/ 中软件包所提供的配置。
过程 13.7. 要禁止用户更改磁盘设置
- 创建一个与
/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
cp /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy /etc/share/polkit-1/actions/org.freedesktop.udisks2.policyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 不要更改/usr/share/polkit-1/actions/org.freedesktop.udisks2.policy文件,您的更改会被下一次软件包更新覆盖。 - 删除您不需要的操作,并将以下行添加到
/etc/polkit-1/actions/org.freedesktop.udisks2.policy文件中:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果只想确保只有 root 用户才可以执行操作,则需要把no替换为auth_admin。 - 保存更改。
Authentication is required to modify the disks settings
Authentication is required to modify the disks settings
13.8. 锁定用户退出登录和用户切换 复制链接链接已复制到粘贴板!
- 创建
/etc/dconf/profile/user配置文件,其中包含以下行:user-db:user system-db:local
user-db:user system-db:localCopy to Clipboard Copied! Toggle word wrap Toggle overflow local是dconf数据库的名称。 - 如果目录
/etc/dconf/db/local.d/不存在,请创建该目录。 - 创建密钥文件
/etc/dconf/db/local.d/00-logout,为本地数据库提供信息:[org/gnome/desktop/lockdown] # Prevent the user from user switching disable-log-out=true
[org/gnome/desktop/lockdown] # Prevent the user from user switching disable-log-out=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 覆盖用户设置,并防止用户在
/etc/dconf/db/local.d/locks/lockdown中更改它:Lock this key to disable user logout
# Lock this key to disable user logout /org/gnome/desktop/lockdown/disable-log-outCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
过程 13.8. 防止用户切换到不同的用户帐户
- 创建
/etc/dconf/profile/user配置文件,其中包含以下行:user-db:user system-db:local
user-db:user system-db:localCopy to Clipboard Copied! Toggle word wrap Toggle overflow local是dconf数据库的名称。 - 如果目录
/etc/dconf/db/local.d/不存在,请创建该目录。 - 创建密钥文件
/etc/dconf/db/local.d/00-user-switching,为本地数据库提供信息:[org/gnome/desktop/lockdown] # Prevent the user from user switching disable-user-switching=true
[org/gnome/desktop/lockdown] # Prevent the user from user switching disable-user-switching=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 覆盖用户设置,并防止用户在
/etc/dconf/db/local.d/locks/lockdown中更改它:Lock this key to disable user switching
# Lock this key to disable user switching /org/gnome/desktop/lockdown/disable-user-switchingCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
13.9. 单应用程序模式 复制链接链接已复制到粘贴板!
过程 13.9. 设置单应用程序模式
- 使用以下内容创建以下文件:
/usr/bin/redhat-kioskCopy to Clipboard Copied! Toggle word wrap Toggle overflow 重要/usr/bin/redhat-kiosk文件必须是可执行的。将 gedit ~/.local/bin/redhat-kiosk 代码替换为您要在 kiosk 会话中执行的命令。这个示例启动了一个为 kiosk 部署而设计的全屏应用程序,名为 http://mine-kios-web-app :Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/applications/com.redhat.Kiosk.Script.desktop[Desktop Entry] Name=Kiosk Type=Application Exec=redhat-kiosk
[Desktop Entry] Name=Kiosk Type=Application Exec=redhat-kioskCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/applications/com.redhat.Kiosk.WindowManager.desktopCopy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/gnome-session/sessions/redhat-kiosk.session[GNOME Session] Name=Kiosk RequiredComponents=com.redhat.Kiosk.WindowManager;com.redhat.Kiosk.Script;
[GNOME Session] Name=Kiosk RequiredComponents=com.redhat.Kiosk.WindowManager;com.redhat.Kiosk.Script;Copy to Clipboard Copied! Toggle word wrap Toggle overflow /usr/share/xsessions/com.redhat.Kiosk.desktopCopy to Clipboard Copied! Toggle word wrap Toggle overflow
- 重启
GDM服务:systemctl restart gdm.service
systemctl restart gdm.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 为 kiosk 会话创建一个单独的用户,并选择
Kiosk作为 kiosk 会话的用户的会话类型。图 13.1. 选择 kiosk 会话
Kiosk 会话,用户将启动一个专为 kiosk 部署而设计的全屏应用程序,。
13.10. 防止计算机在合上盖子时挂起 复制链接链接已复制到粘贴板!
过程 13.10. 配置盖子开关
- 打开
/etc/systemd/logind.conf文件进行编辑。 - 在文件中找到
HandleLidSwitch=suspend行。如果开头是用#字符引用的,请去掉引用。如果文件中不存在该行,请添加它。 - 将默认
suspend参数替换为lock用于锁定屏幕;ignore对于什么事情都不发生;poweroff以关闭计算机。
例如:[Login] HandleLidSwitch=lock
[Login] HandleLidSwitch=lockCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存更改并关闭编辑器。
- 运行以下命令,以便您的更改保留到下一次系统重启:
systemctl restart systemd-logind.service
# systemctl restart systemd-logind.serviceCopy to Clipboard Copied! Toggle word wrap Toggle overflow 警告请记住,重启服务会强制中断任何已登录的桌面用户当前运行的 GNOME 会话。这会导致用户丢失未保存的数据。
/etc/systemd/logind.conf 文件的详情,请查看 logind.conf (5) 手册页。
13.11. 在图形目标模式下按下 Power 按钮时,会更改行为 复制链接链接已复制到粘贴板!
过程 13.11. 在按下 按钮后,使用 dconf 将系统配置为关闭
- 在
/etc/dconf/db/local.d/01-power文件中为系统范围的设置创建一个local数据库:[org/gnome/settings-daemon/plugins/power] power-button-action='interactive'
[org/gnome/settings-daemon/plugins/power] power-button-action='interactive'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 覆盖用户的设置,并阻止用户在
/etc/dconf/db/local.d/locks/01-power文件中更改它:/org/gnome/settings-daemon/plugins/power/power-button-action
/org/gnome/settings-daemon/plugins/power/power-button-actionCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效之前,退出并重新登录。
特定按钮的选项
nothing- 什么都不做
suspend- 挂起系统
hibernate- 休眠系统
interactive- 显示一个弹出查询,询问用户要做什么使用交互模式时,在按下 power 按钮后,系统会在 60 秒后自动关闭。但是,您可以从弹出查询中选择不同的行为,如下图所示。
第 14 章 会话管理 复制链接链接已复制到粘贴板!
14.1. GDM 是什么? 复制链接链接已复制到粘贴板!
GNOME 显示管理器 (GDM)是一个在后台运行的图形登录程序,它运行和管理本地和远程登录的 X 服务器。
GDM 是 XDM (X 显示管理器)的替代品。但是 GDM 并不是来自 XDM,不包含任何原始的 XDM 代码。另外,在 GDM 中不支持图形配置工具,因此需要编辑 /etc/gdm/custom.conf 配置文件来更改 GDM 设置。
14.1.1. 重启 GDM 复制链接链接已复制到粘贴板!
GDM 以使更改生效。
GDM 服务,请运行以下命令:
systemctl restart gdm.service
# systemctl restart gdm.service
14.1.2. 显示 GDM 配置的结果 复制链接链接已复制到粘贴板!
GDM 配置的结果,请运行以下命令:
DCONF_PROFILE=gdm gsettings list-recursively org.gnome.login-screen
$ DCONF_PROFILE=gdm gsettings list-recursively org.gnome.login-screen
14.2. 身份验证 复制链接链接已复制到粘贴板!
14.2.1. 使用企业凭证登录到 GNOME 复制链接链接已复制到粘贴板!
@ 符号,然后是您的域名。例如,如果您的域名是 example.com,用户名是 User,则输入:
User@example.com
User@example.com
14.2.1.1. 在欢迎屏幕中选择使用企业凭证 复制链接链接已复制到粘贴板!
过程 14.1. 配置企业凭证
- 在登录欢迎屏幕中,选择 。
- 如果还没有预先填充,请在 Domain 字段中输入您的域名。
- 在相关字段中输入您的域帐户用户和密码。
- 点 。
14.2.1.2. 更改为使用企业凭据登录到 GNOME 复制链接链接已复制到粘贴板!
过程 14.2. 配置企业凭证
- 点顶部栏中的名称,然后从菜单中选择 Settings。
- 从项目列表中,选择 Users。
- 点 Unlock 按钮,并输入计算机管理员的密码。
- 单击窗口左下角的 按钮。
- 选择 Enterprise Login 窗格。
- 输入您的 Enterprise 帐户的域、用户和密码,然后单击 Add。
14.2.1.3. 故障排查和高级设置 复制链接链接已复制到粘贴板!
realm list
$ realm list
获取更多信息
14.2.2. 启用智能卡验证 复制链接链接已复制到粘贴板!
- 配置 GDM 以允许提示智能卡
- 配置操作系统以允许使用智能卡登录
1.配置 GDM 以允许提示智能卡
过程 14.3. 使用 dconf 编辑器 GUI 启用智能卡验证
- 取消选中 org.gnome.login-screen enable-password-authentication dcof 键的框。
- 选中 org.gnome.login-screen enable-smartcard-authentication dcof 键的框。
过程 14.4. 使用 dconf-tool 启用智能卡验证
- 在
/etc/dconf/db/gdm.d目录中创建一个 keyfile。 - 将以下内容添加到此 keyfile 中:
[org/gnome/login-screen] enable-password-authentication='false' enable-smartcard-authentication='true'
[org/gnome/login-screen] enable-password-authentication='false' enable-smartcard-authentication='true'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统 dconf 数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow
2. 配置操作系统以允许使用智能卡登录
14.2.3. 启用指纹身份验证 复制链接链接已复制到粘贴板!
14.3. 用户会话 复制链接链接已复制到粘贴板!
14.3.1. 用户会话中典型的进程是什么? 复制链接链接已复制到粘贴板!
- dbus-daemon
- dbus-daemon 提供了一个消息总线守护进程,程序可以使用它来交换消息。dbus-daemon 使用 D-Bus 库实现,它在两个应用程序之间提供一对一通信。有关进一步的信息,请参阅 dbus-daemon(1) man page。
- gnome-keyring-daemon
- 不同程序和 Web 站点的用户名和密码等凭证使用
gnome-keyring-daemon安全地存储。此信息被写入到名为 keyring 文件的加密文件中,保存在用户的主目录下。有关进一步的信息,请参阅 gnome-keyring-daemon(1) man page。 - gnome-session
- gnome-session 程序负责使用显示管理器(如 GDM )运行 GNOME 桌面环境。用户的默认会话是系统管理员在系统安装时设置的。gnome-session 通常加载系统上成功运行的最后一个会话。有关进一步的信息,请参阅 gnome-session(1) man page。
- gnome-settings-daemon
gnome-settings-daemon处理 GNOME 会话的设置,以及会话内运行的所有程序。有关进一步的信息,请参阅 gnome-settings-daemon(1) man page。- gnome-shell
gnome-shell为 GNOME 提供核心用户界面功能,如启动程序、浏览目录、查看文件等。有关进一步的信息,请参阅 gnome-shell(1)手册页。- pulseaudio
- pulseaudio 是 Red Hat Enterprise Linux 的一个声音服务器,可让程序使用 Pulseaudio 守护进程输出音频。有关进一步的信息,请参阅 pulseaudio(1) man page。
dconf-serviceibusat-spi2-dbus-launcherat-spi2-registrydgnome-shell-calendar-servergoa-daemongsd-printer- 各种 Evolution 工厂进程
- 各种
GVFS进程
14.3.2. 配置用户默认会话 复制链接链接已复制到粘贴板!
/var/lib/AccountsService/users/ 目录中。
.dmrc 文件用于创建默认会话。不再使用这个 .dmrc 文件。
过程 14.5. 为用户指定默认会话
- 确保您通过运行以下命令安装了 gnome-session-xsession 软件包:
yum install gnome-session-xsession
# yum install gnome-session-xsessionCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 导航到
/usr/share/xsessions目录,您可以在其中找到每个可用会话的.desktop文件。查阅.desktop文件的内容以确定您要使用的会话。 - 要为用户指定默认会话,请在
/var/lib/AccountsService/users/username 文件中更新用户的帐户服务:[User] Language= XSession=gnome
[User] Language= XSession=gnomeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 在这个示例中,使用/usr/share/xsessions/gnome.desktop文件将 GNOME 设置为默认会话。请注意,Red Hat Enterprise Linux 7 中的系统默认是 GNOME 经典(/usr/share/xsessions/gnome-classic.desktop文件)。
14.3.3. 创建自定义会话 复制链接链接已复制到粘贴板!
- 在
/etc/X11/sessions/new-session中创建一个 .desktop 文件。确保文件指定了以下条目:.desktopCopy to Clipboard Copied! Toggle word wrap Toggle overflow Exec条目指定要执行的命令(可能带有参数)。您可以使用 gnome-session --session=new-session 命令运行自定义会话。有关您可以在 gnome-session 中使用的参数的更多信息,请参阅 gnome-session (1)手册页。 - 在
/usr/share/gnome-session/sessions/new-session.session中创建一个自定义会话文件,您可以在其中指定会话的名称和所需组件:[GNOME Session] Name=Custom Session RequiredComponents=gnome-shell-classic;gnome-settings-daemon;
[GNOME Session] Name=Custom Session RequiredComponents=gnome-shell-classic;gnome-settings-daemon;Copy to Clipboard Copied! Toggle word wrap Toggle overflow 请注意,您在RequiredComponents中指定的任何项目都需要在/usr/share/applications/中具有对应的.desktop文件。
GDM 登录屏幕的会话列表中将提供新会话。
14.3.4. 查看用户会话日志 复制链接链接已复制到粘贴板!
systemd 日志。因为 Red Hat Enterprise Linux 7 是一个基于 systemd的系统,所以用户会话日志数据以二进制格式直接存储在 systemd 日志中。
~/.xsession-errors 文件中,该文件已不再使用。
过程 14.6. 查看用户会话日志
- 运行以下命令,确定您的用户 ID (
uid):id --user
$ id --user 1000Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 查看上面确定的用户 ID 的日志:
journalctl _UID=1000
$ journalctl _UID=1000Copy to Clipboard Copied! Toggle word wrap Toggle overflow
获取更多信息
systemd 日志使用情况的更多信息。
systemd 日志的详情,请查看 Red Hat Enterprise Linux 7 系统级身份验证指南。
14.3.5. 为所有用户添加自动启动应用程序 复制链接链接已复制到粘贴板!
/etc/xdg/autostart/ 目录中为该应用程序创建一个 .desktop 文件。
过程 14.7. 为所有用户添加自动启动(启动)应用程序
- 在
/etc/xdg/autostart/目录中创建一个.desktop文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用应用程序的名称替换 Files。
- 使用您要用来运行应用程序的命令替换 nautilus -n。
- 您可以使用
AutostartCondition键来检查 GSettings 键的值。如果键的值为 true,则会话管理器会自动运行应用程序。如果键值在运行的会话中发生了更改,会话管理器将启动或停止应用程序,具体取决于键之前的值是多少。
14.3.6. 配置自动登录 复制链接链接已复制到粘贴板!
GDM 自定义配置文件中手动设置自动登录,如下所示:
例 14.1. 为用户 john 配置自动登录
/etc/gdm/custom.conf 文件,并确保文件中的 [daemon] 部分指定了以下内容:
[daemon] AutomaticLoginEnable=True AutomaticLogin=john
[daemon]
AutomaticLoginEnable=True
AutomaticLogin=john
14.3.7. 配置自动退出登录 复制链接链接已复制到粘贴板!
过程 14.8. 为由电源供电的机器设置自动退出登录
- 在
/etc/dconf/db/local.d/00-autologout中为机器范围的设置创建一个local数据库:[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'
[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'Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 覆盖用户的设置,并阻止用户在
/etc/dconf/db/local.d/locks/autologout中更改它:Lock automatic logout settings
# Lock automatic logout settings /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-timeout /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
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如果计算机通过电池运行,超时时会发生什么。
14.3.8. 设置屏幕亮度和空闲时间 复制链接链接已复制到粘贴板!
例 14.2. 设置亮度级的下降
/etc/dconf/db/local.d/00-power 中为机器范围的设置创建一个 local 数据库,如下例所示:
[org/gnome/settings-daemon/plugins/power] idle-dim=true
[org/gnome/settings-daemon/plugins/power]
idle-dim=true
例 14.3. 设置亮度级
/etc/dconf/db/local.d/00-power 中为机器范围的设置创建一个 local 数据库,如下例所示,并将 30 替换为您要使用的整数值:
[org/gnome/settings-daemon/plugins/power] idle-brightness=30
[org/gnome/settings-daemon/plugins/power]
idle-brightness=30
例 14.4. 设置空闲时间
/etc/dconf/db/local.d/00-session 中为机器范围的设置创建一个 local 数据库,如下例所示,并将 900 替换为您要使用的整数值:
[org/gnome/desktop/session] idle-delay=uint32 900
[org/gnome/desktop/session]
idle-delay=uint32 900
uint32 以及整数值,如上所示。
14.3.9. 当用户空闲时锁定屏幕 复制链接链接已复制到粘贴板!
过程 14.9. 启用屏保和锁定屏幕
- 在
/etc/dconf/db/local.d/00-screensaver中为系统范围的设置创建一个local数据库:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您必须包含uint32以及整数键值,如上所示。 - 覆盖用户的设置,并阻止用户在
/etc/dconf/db/local.d/locks/screensaver文件中更改它:Lock desktop screensaver settings
# Lock desktop screensaver settings /org/gnome/desktop/session/idle-delay /org/gnome/desktop/screensaver/lock-enabled /org/gnome/desktop/screensaver/lock-delayCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 更新系统数据库:
dconf update
# dconf updateCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 在系统范围的设置生效前,用户必须退出并重新登录。
14.3.10. 录屏 复制链接链接已复制到粘贴板!
webm 格式将录制作为高分辨率视频文件分发。
过程 14.10. 进行录屏
- 要启动录制,请按 Ctrl+Alt+Shift+R。当记录器捕获屏幕活动时,它会在屏幕的右上角显示一个红色圆圈。
- 要停止录制,请按 Ctrl+Alt+Shift+R。屏幕右下角的红色圆就消失了。
- 导航到
~/Videos文件夹,您可以在其中找到记录的视频,其文件名以Screencast开头,并包括录制的日期和时间。
第 15 章 虚拟文件系统和磁盘管理 复制链接链接已复制到粘贴板!
15.1. GVFS 复制链接链接已复制到粘贴板!
GVFS (GNOME 虚拟文件系统)是构建 GNOME 桌面的库所提供的虚拟文件系统接口的扩展。GVFS 提供完整的虚拟文件系统基础架构,并处理 GNOME 桌面中的存储。
GVFS 根据 URI (统一资源标识符)标准使用地址进行完全识别,语法上与 Web 浏览器中使用的 URL 地址类似。这些 schema://user@server/path 形式的地址是确定服务类型的关键信息。
15.2. GVFS 的后端 复制链接链接已复制到粘贴板!
GVFS 中有多个后端,它们提供对特定类型的资源的访问。以下是可用 GVFS 后端及其规格的列表:
| 后端 | 描述 |
|---|---|
| afc | 与 MTP (媒体传输协议)类似,公开 苹果 iDevice(通过 USB 连接)上的文件。 |
| afp | 苹果文件协议(AFP)客户端,用于访问 Mac 操作系统 X 和原始 Mac 操作系统的文件服务。 |
| archive | 以只读方式处理各种存档文件(ZIP、TAR)。 |
| burn | 刻录应用程序使用的虚拟后端,用作新 CD/DVD/BD 介质内容的临时存储。 |
| cdda | 通过单独的波形音频文件格式(WAV)文件公开音频 CD。 |
| computer | 虚拟后端整合活动挂载和物理卷。行为类似于路标。之前,Nautilus 用于其 Computer 视图。 |
| dav, davs | WebDAV 客户端,包括安全变体。仅可以在挂载期间进行身份验证,不支持以后基于每个文件夹重新进行身份验证。 |
| dns-sd | DNS 服务发现 - 在网络浏览期间使用的 Avahi 客户端,为发现的服务形成持久的 URI 。 |
| ftp | 全功能的 FTP (文件传输协议)客户端,暂不支持 FTPS 。默认支持被动传输。 |
| gphoto2 | 图片传输协议(PTP)客户端,用于访问通过 USB 或 FireWire 连接的相机。 |
| http | 处理所有 HTTP 请求;对于在客户端应用程序中从 web 轻松下载文件非常有用。 |
| locatest | 简单的测试后端代理 file:/// URI.;带有错误注入支持。 |
| mtp | 媒体传输协议后端用于访问媒体播放器和智能手机内存。 |
| network | 用于浏览网络,显示附近的 Avahi 和 Samba 服务器。 |
| obexftp | 一个蓝牙客户端。 |
| recent | GtkFileChooser 中使用的后端,用于列出 GNOME 应用程序最近使用的文件。 |
| sftp | 全功能的 SFTP(SSH 文件传输协议)客户端。 |
| smb | 访问 Samba 和 Windows 共享。 |
| trash | 允许恢复已删除的文件的垃圾后端。 |
yum 软件包管理器。
GVFS 中使用的基本标识符,它包含了唯一标识所需的所有信息,如服务类型(后端 ID)、绝对路径和用户名(如果需要)。您可以在 Nautilus 地址栏中看到此信息,GTK+ 打开或保存文件对话框。
例 15.1. 指向根目录的 URI 字符串
ftp://ftp.myserver.net/
ftp://ftp.myserver.net/
例 15.2. 指向文本文件的 URI 字符串
ssh://joe@ftp.myserver.net/home/joe/todo.txt
ssh://joe@ftp.myserver.net/home/joe/todo.txt
15.3. 挂载、卸载和弹出 复制链接链接已复制到粘贴板!
过程 15.1. 手动挂载
- 在 Nautilus 中打开一个文件(即 Files 应用程序)。
- 在屏幕顶部的位置栏中,输入一个格式良好的 URI 字符串。如果没有显示位置栏,请按 Ctrl+L。或者,Nautilus 提供 对话框,您可以通过转至 → 。
- 当系统要求登录凭据时,在相关条目框中输入您的名字和密码。
- 挂载过程完成后,您可以使用文件。
过程 15.2. 卸载
- 点击所选挂载上的弹出图标。
- 等待,直到挂载消失或有关安全移除的通知出现。
GVFS 挂载(以及物理卷)仅限于其所有者,不允许其他用户利用您的隐私。
15.4. 管理书签 复制链接链接已复制到粘贴板!
过程 15.3. 为位置添加书签:
- 选择您要为其建立书签的文件夹或文件。
- 按 Ctrl+D。
GVFS 子系统会查找现有的挂载,并在不存在时生成新的挂载。这样,您可以在打开或保存对话框中进行身份验证。
GtkFileChooser)都会在对话框左侧面板中列出书签。另外,Nautilus 及其克隆会在边栏中显示书签,或者更通用地在 Files 菜单中显示书签。
GVFS 卷和挂载都列在 GtkFileChooser 边栏中。有时,一个书签和一个 GVFS 卷合并为一个项目,以防止重复和混淆。然后,书签 可以像 GVFS 挂载一样具有弹出图标。
~/.config/gtk-3.0/bookmarks 文件中。在以下示例中,书签的位置为 ~/Music、~/Pictures、~/Videos、~/Downloads 和 ~/bin,因此 ~/.config/gtk-3.0/bookmarks 文件的内容如下:
例 15.3. ~/.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
file:///home/username/Music
file:///home/username/Pictures
file:///home/username/Videos
file:///home/username/Downloads
file:///home/username/bin
过程 15.4. 要编辑书签:
- 打开顶部栏中的 Files 菜单。
- 单击 Bookmark 以打开书签编辑器。
15.5. 配置默认服务器列表 复制链接链接已复制到粘贴板!
~/.config/nautilus/servers 文件中存储文件共享服务器的列表。可以将文件共享服务器的列表添加到该文件,以便用户可以轻松地访问文件共享。
~/.config/nautilus/servers 文件中的 URI ftp://ftp.gnome.org/ 创建名为 GNOME FTP 的书签。
例 15.4. ~/.config/nautilus/servers 文件
15.6. 向所有其他应用程序公开 GNOME 虚拟文件系统 复制链接链接已复制到粘贴板!
GVFS 还提供公开活跃 GVFS 挂载的 FUSE 守护进程。这意味着,任何应用程序都可以使用标准 POSIX API 访问活跃的 GVFS 挂载,就像它们是常规的文件系统一样。
GVFS 提供了一个 FUSE (用户空间中的文件系统)守护进程,它通过挂载来公开活动的挂载,以进行标准 POSIX (可移植操作系统接口)访问。此守护进程会以透明的方式转换传入的请求,来为应用程序模拟本地文件系统。
GVFS 后端的某些组合。
FUSE 守护进程使用 GVFS 主守护进程自动启动,并将其挂载放在 /run/user/UID/gvfs 或 ~/.gvfs 文件中作为回退。手动浏览显示每个 GVFS 挂载都有单独的目录。当您使用非原生应用程序从 GVFS 位置打开文档时,转换的路径将作为参数传递。请注意,原生 GIO 应用程序会自动将此路径转换为原生 URI。
15.7. GVFS 挂载的密码管理 复制链接链接已复制到粘贴板!
GVFS 挂载在其激活时请求凭证,除非资源允许匿名身份验证,或者根本不需要任何凭证。如标准 GTK+ 对话框中显示的,用户可以选择密码是否应保存或不保存。
过程 15.5. 示例:经过身份验证的挂载进程
- 按 Ctrl+L 打开 Files 并激活地址栏。
- 输入需要身份验证的服务的格式良好的 URI 字符串(例如
sftp://localhost/)。 - 此时会显示凭证对话框,要求输入用户名、密码和密码存储选项。
- 填写凭证并确认:
GNOME Keyring 是 secret 存储的中心位置。它是加密的,默认情况下,它会使用登录时提供的密码自动解锁桌面会话启动。如果它被其他密码保护,则在第一次使用时设置密码。
GNOME Keyring 本身,会提供 Seahorse 应用程序。它允许删除单个记录或更改密码。有关 Seahorse 的更多信息,请参阅直接嵌入在桌面中的 Seahorse 帮助手册。
15.8. GNOME 中的 GVFS 工具和 xdg-utils 复制链接链接已复制到粘贴板!
GVFS 附带一些可能对脚本或测试很有用的命令。提供了一组对应的 POSIX 命令:
- gvfs-cat
- gvfs-less
- gvfs-mkdir
- gvfs-mount
- gvfs-rename
- gvfs-set-attribute
- gvfs-copy
- gvfs-ls
- gvfs-move
- gvfs-rm
- gvfs-trash
- gvfs-info
- gvfs-save
- gvfs-tree
GVFS 细节:
- gvfs-monitor-dir
- gvfs-monitor-file
- gvfs-mime
- gvfs-open
FUSE 守护进程。它们的目的不是代替 POSIX 命令,实际上,支持的切换范围极小。在其基本形式中,URI 字符串(而不是本地路径)被用作参数。
xdg-tools (一个freedesktop.org 的互操作性项目)中得到很好的支持。例如,当检测到 GNOME 会话运行时,常用的 xdg-open 实际上会调用 gvfs-open,从正确的位置读取文件类型关联。
- 要列出本地文件系统上
/tmp中的所有文件,请执行:gvfs-ls file:///tmp
$ gvfs-ls file:///tmpCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下命令列出远程机器上文本文件的内容:
gvfs-cat ssh://joe@ftp.myserver.net/home/joe/todo.txt
$ gvfs-cat ssh://joe@ftp.myserver.net/home/joe/todo.txtCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 要将引用的文本文件复制到本地
/tmp目录中,请运行:gvfs-copy ssh://joe@ftp.myserver.net/home/joe/todo.txt /tmp/
$ gvfs-copy ssh://joe@ftp.myserver.net/home/joe/todo.txt /tmp/Copy to Clipboard Copied! Toggle word wrap Toggle overflow
bash 完成作为软件包的一部分提供。
15.9. 使用 GVFS 元数据 复制链接链接已复制到粘贴板!
GVFS 将其元数据存储实施为绑定到特定文件的一组简单键/值对。因此,用户或应用程序有一个工具可用来保存为运行时信息设计的小型数据,如图标位置、最近播放的位置、文档中的位置、标志、注释等。
GVFS 私有地存储所有元数据,因此仅在机器上可用。但是,GVFS 挂载和可移动介质也被跟踪。
/run/media/ 而不是 /media 目录中。
- gvfs-info 命令;
- gvfs-set-attribute 命令;
- 或者任何其他与属性一起工作的原生 GIO 方式。
例 15.5. 设置自定义的元数据属性
15.10. 故障排除 复制链接链接已复制到粘贴板!
15.10.1. 活动状态的 VFS 挂载不可见 复制链接链接已复制到粘贴板!
gvfs-fuse,作为非GIO 客户端的回退提供。
gvfs-fuse 进程是否在运行。因为 gvfs-fuse 会自动运行,因此不建议自己启动它,请尝试退出登录,并作为第一个选项登录。
- 通过运行 id 命令(
/gvfs/ 路径的UID(系统用户 ID)。gvfsd-fuse守护进程需要一个路径),查找 /run/user/UID或者,当/run/user/UID/gvfs/路径不可用时,gvfsd-fuse会使用主目录中的.gvfs路径。 - 运行 /usr/libexec/
gvfsd-fuse-f /run/user/UID/gvfs 命令启动 gvfsd-fuse 守护进程。 - 现在,VFS 挂载可用,您可以手动浏览应用程序中的路径。
15.10.2. 连接的 USB 磁盘不可见 复制链接链接已复制到粘贴板!
- 您不能在 Disks 应用程序中看到该设备。
- 您已运行
udisksctl dump命令,它会列出udisks守护进程的当前状态,并显示有关所有对象的信息,但您的闪存驱动器不在其中。 - 您已运行 dmesg 命令。在日志的末尾,有与 USB 设备检测相关的消息,以及检测到的分区的列表,但您的闪存驱动器不在其中。
- 按 Super 键打开 Disks,以进入
Activities Overview,输入Disks,然后按 Enter 键。 - 在 操作菜单中,点 。
- 点 Show in user interface。
- 单击 进行确认。
15.10.3. Nautilus 显示未知或不需要的分区 复制链接链接已复制到粘贴板!
/etc/fstab 文件中列出,因为默认情况下设备不会在用户界面中显示。/etc/fstab 文件通常列出了要在操作系统中使用的磁盘分区,并指示它们的挂载方式。某些挂载选项可能会允许或阻止在用户界面中显示卷。
- 按 Super 键打开 Disks,以进入
Activities Overview,输入Disks,然后按 Enter 键。 - 在 操作菜单中,点 。
- 取消选中 Show in user interface,然后单击 进行确认。
15.10.5. 如果磁盘忙,该怎么办? 复制链接链接已复制到粘贴板!
在何处以及如何查看系统进程?
- 运行 lsof 命令以获取与进程一起打开文件的列表。如果 lsof 不可用,请运行 ps ax 命令,该命令还提供正在运行的进程的列表。
- 或者,您可以使用 System Monitor 应用程序在 GUI 中显示正在运行的进程。
- 运行以下命令确保您已安装了
iotop:yum install iotop
# yum install iotopCopy to Clipboard Copied! Toggle word wrap Toggle overflow 然后以 root 用户身份运行iotop来查看系统进程。
- 在命令行中执行 kill 命令。
- 在 System Monitor 中,右键单击带有程序进程名称的行,然后单击 或 下拉菜单项。
第 16 章 硬件配置 复制链接链接已复制到粘贴板!
16.1. 平板电脑 复制链接链接已复制到粘贴板!
16.1.1. 为新平板添加支持 复制链接链接已复制到粘贴板!
libwacom 是一个平板电脑信息客户端库,用于存储有关 Wacom 模型的数据。GNOME 中的 gnome-settings-daemon 组件和 Wacom Tablet 设置面板都使用这个库。
libwacom 中,必须创建一个新的平板电脑定义文件。平板电脑定义文件包含在 libwacom-data 软件包中。如果安装了此软件包,则平板电脑定义文件会在 /usr/share/libwacom/ 目录中本地可用。
libwacom 数据库和 udev 规则文件中。
libwacom 不支持设备的一个常见指示是它通常在 GNOME 会话中工作,但设备没有正确映射到屏幕上。
过程 16.1. 如何添加平板电脑描述
- 使用
libwacom-list-local-devices工具列出libwacom识别的所有本地设备。如果您的设备没有被列出,但可作为内核中的事件设备(请参阅/proc/bus/input/devices)和 X 会话(请参阅 xinput list),则libwacom的数据库中缺少该设备。 - 创建一个新的平板电脑定义文件。使用以下的 data/wacom.example ,并编辑相应的行。注意新的 .tablet 文件可能已经提供,因此先在 https://sourceforge.net/p/linuxwacom/libwacom/ci/master/tree/ 检查上游存储库。如果在列表中找到了您的平板电脑型号,只需将该文件复制到本地机器就可。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 添加和安装以 .tablet 为后缀的新文件:
cp the-new-file.tablet /usr/share/libwacom/
cp the-new-file.tablet /usr/share/libwacom/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装后,平板电脑是libwacom的数据库的一部分。然后,可通过libwacom-list-local-devices提供平板电脑。 - 创建包含以下内容的新文件
/etc/udev/rules/99-libwacom-override.rules,以便您的设置不会被覆盖:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 重启您的系统。
16.1.2. Wacom 平板电脑配置存储在哪里? 复制链接链接已复制到粘贴板!
/org/gnome/settings-daemon/peripherals/wacom/machine-id-device-id 键中,其中 machine-id 是一个 D-Bus 机器 ID,而 device-id 是一个平板电脑设备 ID。平板电脑的配置模式是 org.gnome.settings-daemon.peripherals.wacom。
/org/gnome/settings-daemon/peripherals/wacom/device-id/tool-id 键中,其中 tool-id 是用于专业范畴的手写笔的标识符。对于不支持 tool-id 的消费者范畴,改为使用通用标识符。手写笔的配置模式是 org.gnome.settings-daemon.peripherals.wacom.stylus,橡皮擦 的配置模式是 org.gnome.settings-daemon.peripherals.wacom.eraser。
Optional 频道,并运行以下命令:
yum install gnome-settings-daemon-devel
# yum install gnome-settings-daemon-devel
Optional 频道,请阅读以下资源:
/usr/libexec/gsd-list-wacom
$ /usr/libexec/gsd-list-wacom
16.1.3. 在计算机之间共享主目录时,Wacom 设置仅适用于一台机器 复制链接链接已复制到粘贴板!
/org/gnome/settings-daemon/peripherals/wacom/machine-id-device-id GSettings 键的配置路径中,该键存储了您的平板电脑设置。
附录 A. KDE Plasma 工作区 复制链接链接已复制到粘贴板!
附录 B. 访问红帽文档 复制链接链接已复制到粘贴板!
B.1. 产品文档 复制链接链接已复制到粘贴板!
- Red Hat Enterprise Linux 7 系统管理员指南,可从 https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html-single/System_Administrators_Guide/index.html 获得,包含有关各种系统组件的详细信息,例如
GRUB 2引导装载程序、软件包管理、systemd或打印机配置。 - Red Hat Enterprise Linux 7 安装指南,可从 https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/index.html 获得,包含有关安装 Red Hat Enterprise Linux 7 和使用 Anaconda 安装程序的详细信息。
- Red Hat Enterprise Linux 7 迁移规划指南 ,可从 https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html-single/Migration_Planning_Guide/index.html 获得,包含了 Red Hat Enterprise Linux 6 和 Red Hat Enterprise Linux 7 之间在行为和兼容性方面的重要变化的概述。迁移规划指南还介绍了红帽提供的工具,以帮助升级到 Red Hat Enterprise Linux 7。
- Red Hat Enterprise Linux 7 网络指南 ,可从 https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html-single/Networking_Guide/index.html 中获得,包含了有关配置和管理 Red Hat Enterprise Linux 7 网络的信息。
- Red Hat Enterprise Linux 7 虚拟化部署和管理指南 ,可从 https://access.redhat.com/documentation/zh-CN/Red_Hat_Enterprise_Linux/7/html/Virtualization_Deployment_and_Administration_Guide/ 中获得,包含了安装、配置和管理 Red Hat Enterprise Linux 虚拟化的信息。
B.2. Red Hat Access GUI 复制链接链接已复制到粘贴板!
附录 C. 致谢 复制链接链接已复制到粘贴板!
附录 D. 修订历史记录 复制链接链接已复制到粘贴板!
| 修订历史 | |||
|---|---|---|---|
| 修订 0.1-95 | Mon Aug 05 2018 | ||
| |||
| 修订 0.1-87 | Wed Jul 26 2017 | ||
| |||
| 修订 0.1-86 | Mon Oct 17 2016 | ||
| |||
| 修订 0.1-85 | Mon Oct 17 2016 | ||
| |||
| 修订 0.1-84 | Wed 17 Aug 2016 | ||
| |||
| 修订 0.1-83 | Fri 01 Apr 2016 | ||
| |||
| 修订 0.1-82 | Wed 11 Nov 2015 | ||
| |||
| 修订 0.1-80 | Wed 24 Jun 2015 | ||
| |||
| 修订 0.1-78 | Tue 07 Apr 2015 | ||
| |||
| 修订 0.1-76 | Tue 17 Feb 2015 | ||
| |||
| 修订 0.1-74 | Thu 04 Dec 2014 | ||
| |||
| 修订 0.1-69 | Mon 02 Jun 2014 | ||
| |||
| 修订 0.1-35 | Wed 11 Dec 2013 | ||
| |||