使用 GNOME 桌面环境管理 RHEL
从 GNOME 桌面环境配置 RHEL 系统设置和 GNOME 设置。
摘要
对红帽文档提供反馈
我们感谢您对我们文档的反馈。让我们了解如何改进它。
通过 Jira 提交反馈(需要帐户)
- 登录到 Jira 网站。
- 在顶部导航栏中点 Create
- 在 Summary 字段中输入描述性标题。
- 在 Description 字段中输入您对改进的建议。包括文档相关部分的链接。
- 点对话框底部的 Create。
第 1 章 远程访问桌面
您可以使用图形 GNOME 应用程序远程连接到 RHEL 服务器上的桌面。连接取决于服务器是如何配置的。您可以使用一个或多个以下选项:
- 桌面共享
- 允许远程客户端连接到当前登录到服务器上的 Linux 用户的桌面会话。
- 远程登录
- 允许远程客户端打开 GNOME 登录屏幕,其中他们可以以具有正确凭证的 Linux 用户身份登录。
1.1. 使用 GNOME 在服务器上启用桌面共享
您可以通过配置 Red Hat Enterprise Linux 服务器,从单个客户端启用远程桌面连接。
先决条件
-
gnome-remote-desktop
软件包已安装。
流程
配置防火墙规则,以启用对服务器的访问:
firewall-cmd --permanent --add-port=3389/tcp
# firewall-cmd --permanent --add-port=3389/tcp success
Copy to Clipboard Copied! 注意如果您还要在服务器上配置远程登录,用于桌面共享的端口号会改变。在这种情况下,修改防火墙规则来添加端口号
3390
。重新载入防火墙规则:
firewall-cmd --reload
# firewall-cmd --reload success
Copy to Clipboard Copied! - 在 GNOME 中打开 Settings.
- 打开 System 屏幕。
选择 Remote Desktop。
- 将 Desktop Sharing 设置为 On。
- 可选:要允许远程用户控制您的屏幕,请将 Remote Control 设置为 On。
在 Login Details 部分中设置用户名和密码。当从远程客户端连接到桌面时,远程客户端必须输入这些凭证。
1.2. 配置 GNOME 远程登录
通过在 GNOME 中激活 Remote Login,您可以允许远程客户端以您系统上的 Linux 用户身份登录到 GNOME 会话。
先决条件
-
gnome-remote-desktop
软件包已安装。
流程
配置防火墙规则,以启用对服务器的访问:
firewall-cmd --permanent --add-port=3389/tcp
# firewall-cmd --permanent --add-port=3389/tcp success
Copy to Clipboard Copied! 重新载入防火墙规则:
firewall-cmd --reload
# firewall-cmd --reload success
Copy to Clipboard Copied! - 在 GNOME 中打开 Settings.
- 打开 System 屏幕。
选择 Remote Desktop。
- 点菜单标头中的 Remote Login 选项卡。
将 Remote Login 设置为 On ,以启用屏幕共享。
- 在 Login Details 部分中设置用户名和密码。远程客户端在从远程客户端连接到此系统的登录屏幕时必须输入这些凭证。
1.3. 使用 GNOME 连接到远程桌面
您可以使用 Connections 应用程序,从 Red Hat Enterprise Linux 客户端连接到远程桌面服务器。连接取决于远程服务器配置。
先决条件
- 桌面共享或远程登录已在服务器上启用。如需更多信息,请参阅 使用 GNOME 在服务器上启用桌面共享 或 配置 GNOME 远程登录 。
- 对于桌面共享,用户已登录到服务器上的 GNOME 图形会话。
-
gnome-connections
软件包已安装在客户端上。
流程
- 在客户端上,启动 Connections 应用程序。
单击顶栏中的
按钮,以打开一个新连接。- 输入服务器的 IP 地址。
根据您要连接的操作系统选择连接类型:
- 远程桌面协议(RDP)
- 使用 RDP 连接到 Windows 和 RHEL 10 服务器。
- 虚拟网络计算(VNC)
- 使用 VNC 连接到具有 RHEL 9 及之前版本的服务器。
- 点 。
验证
- 在客户端上,检查您能否看到共享服务器桌面。
在服务器中,屏幕共享指示器会出现在顶部面板的右侧:
您可以在服务器的 System 菜单中控制屏幕共享。
第 2 章 远程访问图形应用程序
您可以在 RHEL 服务器上远程启动图形应用程序,并从远程客户端使用它。从 RHEL 10 客户端中,您可以使用 waypipe
代理远程启动支持 Wayland 显示协议的应用程序,以及使用 X11 转发支持 X11 显示协议的应用程序。您还可以配置 RHEL 10 服务器,来通过具有 X11 转发的 SSH 远程启动图形应用程序。
2.1. 使用 waypipe 远程启动应用程序
您可以使用 SSH 和 waypipe
代理,从远程客户端访问 RHEL 服务器上基于 Wayland 的图形应用程序。
先决条件
-
waypipe
软件包已安装在客户端和远程系统上。 - 应用程序可以在 Wayland 上原生运行。
流程
通过
waypipe
和 SSH 远程启动应用程序。waypipe -c lz4=9 ssh <remote-server> <application-binary>
[local-user]$ waypipe -c lz4=9 ssh <remote-server> <application-binary> 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])?
Copy to Clipboard Copied! - 通过检查其指纹来确认服务器密钥有效。
输入
yes
来继续连接。Warning: Permanently added '<remote-server>' (ECDSA) to the list of known hosts.
Warning: Permanently added '<remote-server>' (ECDSA) to the list of known hosts.
Copy to Clipboard Copied! 出现提示时,输入服务器密码。
remote-user's password: [remote-user]$
remote-user's password: [remote-user]$
Copy to Clipboard Copied!
2.2. 使用 X11 转发远程启动应用程序
您可以使用 SSH ,从客户端访问远程 RHEL 服务器上的图形应用程序。
先决条件
- 服务器上已启用通过 SSH 的 X11 转发。详情请参阅 在服务器上启用 X11 转发。
确定 X11 显示服务器在您的系统上运行:
- 在 RHEL 上,图形界面中默认提供 X11。
- 在 Microsoft Windows 上,安装 X11 服务器,例如Xming。
- 在 macOS 上,安装 XQuartz X11 服务器。
- 您已配置并重启了 OpenSSH 服务器。详情请参阅 使用 RHEL 系统角色配置 OpenSSH 服务器和客户端。
流程
使用 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])?
[<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])?
Copy to Clipboard Copied! 通过检查其指纹来确认服务器密钥有效。
注意如果您计划定期登录到服务器,请使用
ssh-copy-id
命令将用户的公钥添加到服务器。输入 yes 进行确认。
Warning: Permanently added '<remote_server>' (ECDSA) to the list of known hosts.
Warning: Permanently added '<remote_server>' (ECDSA) to the list of known hosts.
Copy to Clipboard Copied! 提示时,在远程服务器上输入用户的密码:
<remote_user>'s password: [<remote_user> ~]$
<remote_user>'s password: [<remote_user> ~]$
Copy to Clipboard Copied! 从命令行启动应用程序:
[<remote_user>]$ <application-binary>
[<remote_user>]$ <application-binary>
Copy to Clipboard Copied!
要跳过中间终端会话,请使用以下命令:
[<local_user>]$ ssh user@server -X -Y -C <application-binary>
[<local_user>]$ ssh user@server -X -Y -C <application-binary>
2.3. 在服务器上启用 X11 转发
配置 RHEL 服务器,以便远程客户端可以通过 SSH 使用服务器上的图形应用程序。
流程
安装基本的 X11 软件包:
dnf install xorg-x11-xauth xorg-x11-fonts-\* dbus-x11
# dnf install xorg-x11-xauth xorg-x11-fonts-\* dbus-x11
Copy to Clipboard Copied! 注意您的应用程序可能需要额外的图形库。
在
/etc/ssh/sshd_config
配置文件中启用X11Forwarding
选项:X11Forwarding yes
X11Forwarding yes
Copy to Clipboard Copied! RHEL 中默认禁用该选项。
重启
sshd
服务:systemctl restart sshd.service
# systemctl restart sshd.service
Copy to Clipboard Copied!
第 3 章 为所有用户设置默认桌面会话
您可以为尚未登录的所有用户配置默认的桌面会话。
如果用户使用与默认会话不同的会话登录,则他们的选择会在下次登录时保留。
流程
复制配置文件模板:
cp /usr/share/accountsservice/user-templates/standard \ /etc/accountsservice/user-templates/standard
# cp /usr/share/accountsservice/user-templates/standard \ /etc/accountsservice/user-templates/standard
Copy to Clipboard Copied! -
编辑新的
/etc/accountsservice/user-templates/standard
文件。在Session=gnome
行上,将gnome
替换为您要设置为默认的会话。 可选:要为某些用户的默认会话配置异常,请按照以下步骤操作:
将模板文件复制到
/var/lib/AccountsService/users/user-name
:cp /usr/share/accountsservice/user-templates/standard \ /var/lib/AccountsService/users/user-name
# cp /usr/share/accountsservice/user-templates/standard \ /var/lib/AccountsService/users/user-name
Copy to Clipboard Copied! -
在新文件中,将
${USER}
和${ID}
等变量替换为用户值。 -
编辑
Session
值。
第 5 章 平板电脑
您可以从 GNOME 环境中的 Wacom Tablet 设置面板中管理连接到您系统的 Wacom 平板电脑。
Wacom Tablet 设置面板
Wacom Tablet 设置面板和 libinput
堆栈使用 libwacom
平板电脑客户端库,该库存储了系统无法直接通过查询设备而获取的额外数据。
如果您的平板电脑在 libwacom
库中列出,则它会在 Wacom Tablet 设置面板中可见。
如果 Wacom Tablet 设置面板显示"This device is unknown and may present wrong capabilities",则平板电脑被底层输入堆栈支持,但可能会缺少一些功能。在这种情况下,您可以执行 为新平板电脑添加支持 流程。
如果 Wacom Tablet 设置面板为空,则内核没有公开平板电脑。在这种情况下,请联系红帽支持。
5.1. 添加对新平板电脑的支持
如果 Wacom Tablet 设置面板显示"This device is unknown and may present wrong capabilities",则平板电脑被底层输入堆栈支持,但可能会缺少一些功能。您可以通过将平板电脑的定义文件添加到 libwacom
平板电脑信息客户端库中来解决这个问题。
先决条件
-
libwacom
软件包已安装在您的系统上。
流程
列出
libwacom
数据库识别的所有本地设备:libwacom-list-local-devices
$ libwacom-list-local-devices
Copy to Clipboard Copied! 确保您的设备在输出中被识别。
如果您的设备没有列出,则
libwacom
数据库中没有该设备。但是,如果设备在/proc/bus/input/devices
文件中列出了,则该设备可能仍然被内核支持。-
可选:通过输入
libwacom-utils
中提供的libwacom-list-devices
命令,来检查设备是否被支持。此命令列出您安装的libwacom
版本支持的所有设备。 检查定义文件是否在
/usr/share/libwacom/
目录中存在。要正确使用屏幕映射,对平板电脑的支持必须包含在
libwacom
数据库中。重要libwacom
不支持设备的一个常见指示是它在 GNOME 会话中正常工作,但设备没有正确映射到屏幕。如果您设备的定义文件在
/usr/share/libwacom/
中不存在,您可以有这些选项:- 在 linuxwacom/libwacom 上游存储库中找到定义文件,并将文件复制到您的系统。
- 在 linuxwacom/libwacom 上游存储库中找到一个类似设备,并相应地修改定义文件。
添加并安装带有
.tablet
后缀的定义文件:cp <tablet_definition_file>.tablet /etc/libwacom
# cp <tablet_definition_file>.tablet /etc/libwacom
Copy to Clipboard Copied! 安装文件后,设备是
libwacom
数据库的一部分。然后,可通过libwacom-list-local-devices
获得该设备。
5.2. 在 CLI 中设置 Wacom 平板电脑配置值
您可以在命令行上更改设置,而不是更改 Wacom Tablet 设置面板中的设置。默认情况下,Wacom 平板电脑和触控笔配置文件保存在以下位置:
- 平板电脑配置
-
org.gnome.desktop.peripherals.tablet:/org/gnome/desktop/peripherals/tablets/<vid>:<pid>/
- 触控笔配置
-
org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/<serial number>/
通过在配置路径中使用 <vid>
, <pid>
和 <serial_number>
,您可以独立配置平板电脑和触控笔。
先决条件
-
libwacom
软件包已安装在您的系统上。
流程
列出本地设备,以显示其 ID:
libwacom-list-local-devices
$ libwacom-list-local-devices devices: - name: 'Wacom Intuos Pro M' bus: 'usb' vid: '0x056a' pid: '0x0357' nodes: - /dev/input/event6: 'Wacom Co.,Ltd. Wacom Intuos Pro M Pen' - /dev/input/event7: 'Wacom Co.,Ltd. Wacom Intuos Pro M Pad' styli: - id: 0x100802
Copy to Clipboard Copied! 如果设备不支持唯一序列号,则触控笔是使用基于平板电脑的 VID 和 PID 的通用标识符来识别的:
org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/default-<vid>:<pid>/
确定特定设备的序列号:
libwacom-show-stylus /dev/input/event6
# libwacom-show-stylus /dev/input/event6 Please put tool in proximity Tool id 0x100802 serial 0x2380369c in-proximity: False
Copy to Clipboard Copied! 列出所选设备的可用设置:
对于平板电脑:
gsettings list-recursively org.gnome.desktop.peripherals.tablet:/org/gnome/desktop/peripherals/tablet/<vid>:<pid>/
$ gsettings list-recursively org.gnome.desktop.peripherals.tablet:/org/gnome/desktop/peripherals/tablet/<vid>:<pid>/ org.gnome.desktop.peripherals.tablet area [0.0, 0.0, 0.0, 0.0] org.gnome.desktop.peripherals.tablet keep-aspect false org.gnome.desktop.peripherals.tablet left-handed false org.gnome.desktop.peripherals.tablet mapping 'absolute' org.gnome.desktop.peripherals.tablet output ['', '', '']
Copy to Clipboard Copied! 将
<vid>
和<pid>
替换为您设备的 ID。对于触控笔:
gsettings list-recursively org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/<serial_number>/
$ gsettings list-recursively org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/<serial_number>/ org.gnome.desktop.peripherals.tablet.stylus button-action 'default' org.gnome.desktop.peripherals.tablet.stylus button-keybinding '' org.gnome.desktop.peripherals.tablet.stylus eraser-pressure-curve [0, 0, 100, 100] org.gnome.desktop.peripherals.tablet.stylus eraser-pressure-range [0, 100] org.gnome.desktop.peripherals.tablet.stylus pressure-curve [0, 0, 100, 100] org.gnome.desktop.peripherals.tablet.stylus pressure-range [0, 100] org.gnome.desktop.peripherals.tablet.stylus secondary-button-action 'default' org.gnome.desktop.peripherals.tablet.stylus secondary-button-keybinding '' org.gnome.desktop.peripherals.tablet.stylus tertiary-button-action 'default' org.gnome.desktop.peripherals.tablet.stylus tertiary-button-keybinding ''
Copy to Clipboard Copied! 将
<serial_number>
替换为您设备的 ID。
将选项设置为您想要的值:
gsettings set <schema_name>:<path> <key> <value>
$ gsettings set <schema_name>:<path> <key> <value>
Copy to Clipboard Copied! 替换:
-
使用模式和设备的路径替换
<schema_name>:<path>
。 -
使用您要更改的选项替换
<key>
。 -
使用您要设置的值替换
<value>
。
例如:
gsettings set org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/0x2380369c pressure-range "[0, 75]"
$ gsettings set org.gnome.desktop.peripherals.tablet.stylus:/org/gnome/desktop/peripherals/tablet/stylus/0x2380369c pressure-range "[0, 75]"
Copy to Clipboard Copied! -
使用模式和设备的路径替换
第 6 章 管理 GNOME 中的存储卷
GNOME 虚拟文件系统(GVFS)是一种扩展,它对应用程序隐藏了存储详情,使其像标准文件系统一样工作。虚拟文件系统独立于硬件和设备驱动程序。
6.1. GVFS 系统
GNOME 虚拟文件系统(GVFS)根据统一资源标识符(URI)标准,使用地址进行完全识别,语法上与 Web 浏览器中的 URL 地址类似。这些地址的 schema://user@server/path
形式是确定服务类型的重要信息。
GVFS 有助于挂载资源。这些挂载在多个应用之间共享。资源在运行的桌面会话中全局跟踪,这意味着即使您退出触发挂载的应用程序,挂载仍可用于任何其他应用程序。多个应用可以同时访问挂载,除非挂载被后端限制了。某些协议设计上仅允许一个通道。
GVFS 可挂载 /run/media/
目录中的可移动介质。
6.2. GVFS URI 字符串的格式
您必须组成一个 URI 字符串,以使用后端服务。这个字符串是 GVFS 中使用的一个基本标识符,它携带唯一标识所需的所有信息,如服务的类型、后端 ID、绝对路径或用户名(如果需要)。您可以在 File 地址栏中看到此信息,GTK+ 可打开或保存文件对话框。
以下示例是 URI 字符串的一个非常基本的形式,它指向在 <your_ftp_server>
域中运行的文件传输协议(FTP)服务器的根目录(/
):
例 6.1. 指向 root FTP 目录的 URI 字符串
ftp://<your_ftp_server_domain>/
ftp://<your_ftp_server_domain>/
例 6.2. 指向 FTP 上文本文件的 URI 字符串
ssh://<username>@<your_ftp_server_domain>/home/<username>/<file_name>.txt
ssh://<username>@<your_ftp_server_domain>/home/<username>/<file_name>.txt
6.3. 在 GNOME 中挂载存储卷
您可以在 Files 应用程序中手动挂载本地存储卷或网络共享。
流程
- 打开 Files 应用程序。
点侧栏中的 Other Locations。
窗口列出了所有连接的存储卷以及本地区域网络上公开的所有网络共享。
如果能在此列表中看到卷或网络共享,请点击项来挂载它。
如果要连接到不同的网络共享,请使用以下步骤。
- 在 Enter server address 字段中输入网络共享的 GVFS URI 字符串。
- 按 。
- 如果对话框要求登录凭证,请在相关字段中输入您的名字和密码。
- 挂载过程完成后,您可以浏览卷或网络共享上的文件。
6.4. 卸载 GNOME 中的存储卷
您可以在 Files 应用程序中卸载存储卷、网络共享或其他资源。
在从计算机中删除驱动器前,总是要卸载存储卷。删除驱动器可能会破坏仍然挂载的卷中的数据。
流程
- 打开 Files 应用程序。
- 在侧边栏中,点所选挂载旁边的 Unmount (⏏) 图标。
- 等到挂载从侧边栏中消失,或有关安全删除的通知显示。
6.5. 访问文件系统中的 GVFS 挂载
了解更多有关用户空间(FUSE)中的文件系统,GNOME 虚拟文件系统(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。
6.6. 可用的 GIO 命令
GIO(GNOME 集成对象)是一个库和 API,用于访问 GNOME 桌面环境内的各种文件系统类型和数据源。GIO 允许应用程序与本地文件、网络共享、数据库、Web 服务等数据源进行交互。
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 字符串作为参数,而不是本地路径。
6.7. GIO 命令示例
以下部分提供了一些 GIO 命令用法的示例。
列出本地 /tmp
目录中的所有文件
gio list file:///tmp
$ gio list file:///tmp
从远程系统列出文本文件的内容
gio cat ssh://joe@ftp.myserver.net/home/joe/todo.txt
$ gio cat ssh://joe@ftp.myserver.net/home/joe/todo.txt
将之前的文本文件复制到本地 /tmp
目录中
gio copy ssh://joe@ftp.myserver.net/home/joe/todo.txt /tmp/
$ gio copy ssh://joe@ftp.myserver.net/home/joe/todo.txt /tmp/
6.8. GVFS 元数据概述
GNOME 虚拟文件系统(GVFS)元数据存储是作为将信息绑定到一个特定文件的一组键值对实现的。GNOME 应用程序依赖 GIO (GNOME 集成对象)来访问文件和数据。使用 GIO,您可以保存运行时信息的元数据,如图标位置、最后播放的位置、文档中的位置、标志、注释等。
每当您移动文件或目录时,GVFS 会同时移动该文件或目录的元数据。GVFS 私有地存储所有元数据,因此元数据仅在机器上可用。但是,GVFS 也会跟踪挂载和可移动介质。
GVFS 可挂载 /run/media/
目录中的可移动介质。
要查看和处理元数据,您可以使用:
-
gio info
命令, -
gio set
命令,或者 - 与属性一起使用的任何其它原生 GIO 方法。
6.9. 设置自定义的 GIO 元数据属性
GIO (GNOME 集成对象)允许应用程序将元数据附加到文件。您可以使用 GIO 添加和管理自己的自定义元数据属性,以确定应用程序如何与特定文件进行交互,并提供有关它们的更详细的信息。
流程
创建一个空文件:
touch /tmp/myfile
$ touch /tmp/myfile
Copy to Clipboard Copied! 查看此文件的元数据:
gio info -a 'metadata::*' /tmp/myfile
$ gio info -a 'metadata::*' /tmp/myfile uri: file:///tmp/myfile attributes:
Copy to Clipboard Copied! 将字符串设置为此文件:
gio set -t string /tmp/myfile 'metadata::mynote' 'Please remember to delete this file!'
$ gio set -t string /tmp/myfile 'metadata::mynote' 'Please remember to delete this file!'
Copy to Clipboard Copied! 查看元数据:
gio info -a 'metadata::*' /tmp/myfile
$ gio info -a 'metadata::*' /tmp/myfile uri: file:///tmp/myfile attributes: metadata::mynote: Please remember to delete this file!
Copy to Clipboard Copied!
当您使用 GIO API 移动文件时,元数据会保持不变。
6.10. GVFS 挂载的密码管理
了解有关 GNOME 虚拟文件系统(GVFS)挂载身份验证的更多信息。
典型的 GVFS 挂载在激活时进行身份验证,除非资源允许匿名身份验证,或者根本不需要任何身份验证。
在标准的 GTK+ 对话框中,您可以选择是否存储密码。
当您选择持久性存储时,密码将存储在用户密钥环中。GNOME Keyring 是机密存储的中心位置。密码已加密,并在桌面会话开始时使用登录时提供的密码自动解锁。若要使用其他密码对其进行保护,您可以在第一次使用时设置密码。
Passwords and Keys 应用程序帮助管理存储的密码和 GNOME Keyring。它允许删除单个记录或更改密码。
6.11. GVFS 后端
GNOME 虚拟文件系统(GVFS)中的后端提供对特定类型资源的访问。这部分提供了可用 GVFS 后端及其规格的列表。
某些后端被单独打包,默认情况下不安装。要安装其他后端,请使用 dnf
软件包管理器。
可用的 GVFS 后端有:
admin
- 提供对本地文件系统的管理员访问权限。
burn
- 刻录应用程序的虚拟后端用于新 CD、DVD 或 BD 介质内容的临时存储。
cdda
- 通过单独的 Waveform 音频文件格式(WAV)文件公开音频 CD。
computer
- 虚拟后端整合活跃挂载和物理卷。行为类似于路标。之前 Files 使用的用于其 Computer 视图。
dav
,davs
- 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
- 允许恢复已删除文件的遍历后端。
6.12. GNOME 中的卷管理故障排除
以下是 GNOME 中卷管理的一些常见错误,以及解决它们的方法。
6.12.1. 从非 GIO 客户端访问 GVFS 位置的故障排除
如果您在从应用程序访问 GVFS 位置时遇到问题,这可能意味着应用程序不是原生的 GIO 客户端。原生 GIO 客户端通常是使用 GNOME 库(glib
,gio
)的所有 GNOME 应用程序。gvfs-fuse
服务作为非 GIO 客户端的备用提供。
先决条件
gvfs-fuse
软件包安装。dnf install gvfs-fuse
$ dnf install gvfs-fuse
Copy to Clipboard Copied!
流程
确保
gvfs-fuse
正在运行。ps ax | grep gvfsd-fuse
$ ps ax | grep gvfsd-fuse
Copy to Clipboard Copied! 如果
gvfs-fuse
未运行,请注销并重新登录。您不能手动启动gvfs-fuse
。找到
/run/user/UID/gvfs/
路径的系统用户 ID(UID)。gvfsd-fuse
守护进程需要能够公开其服务的路径。当/run/user/UID/gvfs/
路径不可用时,gvfsd-fuse
将使用~/.gvfs
路径。id -u
$ id -u
Copy to Clipboard Copied! 如果
gvfsd-fuse
仍没有运行,请启动gvfsd-fuse
守护进程:/usr/libexec/gvfsd-fuse -f /run/user/UID/gvfs
$ /usr/libexec/gvfsd-fuse -f /run/user/UID/gvfs
Copy to Clipboard Copied! 现在,FUSE 挂载可用,您可以手动浏览应用程序中的路径。
-
在
/run/user/UID/gvfs/
或~/.gvfs
位置中查找 GVFS 挂载。
6.12.2. 对不可见连接的 USB 磁盘的故障排除
当您连接闪存驱动器时,GNOME 桌面可能不会显示它。如果您的闪存驱动器在 Files 中看不到,但您可以在 Disks 应用程序中看到它,则您可以在 Disks 中设置 Show in user interface 选项。
流程
- 打开 Disks 应用程序。
- 在侧边栏中选择磁盘。
- 在 Volumes 下,点 Additional partition options > Edit Mount Options
- 点 Show in user interface。
- 通过单击 进行确认。
- 如果闪存驱动器仍看不到,您可以尝试物理删除并再次连接它。
6.12.3. 对文件中列出的未知或不需要的分区进行故障排除
当插入磁盘时,您可能会看到未知或不想要的分区。例如,当您插入闪存磁盘时,它会被自动挂载,其卷会显示在 Files 边栏中。有些设备有一个带有备份的特殊分区,或者有一些您在每次插入设备时不想看到的帮助文件。
流程
- 打开 Disks 应用程序。
- 在侧边栏中选择磁盘。
- 在 Volumes 下,点 Additional partition options > Edit Mount Options
- 清除 Show in user interface。
- 通过单击 进行确认。
6.12.5. 对 GNOME 中忙碌的磁盘的故障排除
如果您收到有关磁盘忙碌的通知,请识别正在访问磁盘的程序。然后,您可以结束正在运行的程序。您还可以使用 System Monitor 来强制杀死程序。
先决条件
已安装
iotop
工具:dnf install iotop
# dnf install iotop
Copy to Clipboard Copied!
流程
检查打开文件的列表。
-
运行
lsof
命令以获取打开文件的列表。 -
如果
lsof
不可用,请运行ps ax
命令。 - 您可以使用 系统监控器 在 GUI 中显示正在运行的进程。
-
运行
确定程序后,使用以下方法之一终止它们:
-
在命令行上运行
kill
命令。 - 在 System Monitor 中,右键单击带有程序进程名称的行,然后从菜单中选择 End 或 Kill。
-
在命令行上运行
第 7 章 启用自动登录
您可以启用自动登录来简化您的计算体验,避免在每次会话启动时重复输入密码。这对于单用户环境(其中安全风险最小)非常有用,例如在不与他人共享的个人家用计算机上。
启用自动登录会带来安全风险。它允许在不需要密码的情况下直接访问用户帐户。这可能会导致系统或敏感数据的未授权使用。当计算机是共享的、位于公共场所或可物理访问时,此风险很大。
考虑登录便利性是否优先于潜在的安全性和隐私隐患。
流程
- 打开 Settings。
- 点 Users。
- 选择 按钮并输入您的密码。
- 切换开关以启用自动登录。
启用自动登录后,您的计算机在下次启动时将自动登录到指定的用户帐户。
第 8 章 在 GNOME 中使用企业凭证启用身份验证
如果您的工作区使用名为活动目录或 IPA 的系统,并且您有一个帐户,您可以使用该帐户登录到 GNOME 桌面环境。
使用企业凭据登录提供了集中帐户管理,简化了与工作相关的资源的访问,并提供了单点登录(SSO)的便利。
8.1. 在 GNOME 中配置企业凭证
您可以使用 Settings 将您的系统配置为使用企业凭证。
流程
- 打开 Settings。
- 单击 Online Accounts。
- 选择 Enterprise Authentication (Kerberos)。
-
在 Principal 字段中以
username@domain.com
格式输入您的域用户名。 - 点 连接。
输入您的企业密码,然后单击 Continue。
根据域的配置,您可能会被要求提供域管理员凭据。
8.2. 在 GNOME 中添加企业用户
您可以使用 Settings 将企业用户添加到 GNOME 中。
先决条件
- 管理访问权限.
- 您有来自活动目录(AD)、LDAP 或身份管理(IdM)服务器的企业凭证。
流程
- 打开 Settings。
- 打开 System 屏幕。
- 点 Users。
- 点 Add Enterprise Login
- 输入您企业帐户的域、用户名和密码。
点
。根据域配置,您可能需要输入管理员凭证。
8.3. 使用企业凭证登录到 GNOME
如果您的网络有可用的活动目录、LDAP 或身份管理(IdM)域,并且您有域帐户,则您可以使用您的企业凭证登录到 GNOME。
流程
在 GNOME 登录提示符处,输入您的域用户名,后跟
@
符号,然后是您的域名。username@domain.com
username@domain.com
Copy to Clipboard Copied!
第 9 章 自定义桌面外观和品牌
作为系统管理员,您可以为系统上的所有用户配置默认的外观和品牌。
9.1. 自定义桌面背景
作为系统管理员,您可以配置默认桌面背景、添加额外的背景或向系统的所有用户添加多个背景。
默认情况下,允许用户更改背景。作为管理员,您可以使用 locks
目录中的设置防止用户更改背景。
9.1.1. 自定义默认的桌面背景
您可以通过在 org.gnome.desktop.background
模式中设置相关的 GSettings 键来配置默认的桌面背景及其外观。
流程
在
/etc/dconf/db/local.d/00-background
中为机器范围的设置创建一个本地数据库:[org/gnome/desktop/background] picture-uri='file:///usr/local/share/backgrounds/wallpaper.jpg' picture-options='scaled' primary-color='000000' secondary-color='FFFFFF'
[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 Copy to Clipboard Copied! 可选:如果要防止用户更改默认背景,请覆盖
/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-color
Copy to Clipboard Copied! 更新系统数据库:
dconf update
# dconf update
Copy to Clipboard Copied! - 在系统范围的设置生效前,用户必须退出并重新登录。
9.1.2. 添加额外的背景
您可以在系统上为用户提供额外的背景。
流程
-
创建
/usr/share/gnome-background-properties/extra-backgrounds.xml
文件。 在新文件中,以以下格式指定额外的背景文件及其外观:
<?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>
<?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>
Copy to Clipboard Copied! - 现在,在 Settings 应用程序的 Background 部分中,新的背景对所有用户可用。
9.1.3. 常用的背景模式键
以下配置控制 GSettings 系统中桌面背景的行为。
键名称 | XML 名称 | 可能的值 | 描述 |
---|---|---|---|
|
|
|
决定由 |
|
|
| 确定背景颜色的阴影。 |
|
|
default: | 绘制渐变或纯色时,左侧或上面的颜色。 |
|
|
默认值: | 绘制渐变时右或底部的颜色,不用于纯色。 |
例 9.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>
<?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>
例 9.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>
<?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>
9.1.4. 设置屏幕屏蔽
屏幕屏蔽是您锁定系统时向下滑动的屏幕。您可以为系统上的所有用户设置默认屏幕屏蔽图。
流程
创建
/etc/dconf/db/gdm.d/01-screensaver
文件:[org/gnome/desktop/screensaver] picture-uri='file://<path_to_your_background_file>'
[org/gnome/desktop/screensaver] picture-uri='file://<path_to_your_background_file>'
Copy to Clipboard Copied! 将
<path_to_your_background_file>
替换为您要用作默认屏幕屏蔽的镜像文件的绝对路径。支持的格式有 PNG、JPG、JPEG 和 TGA。请注意,如果需要,屏幕屏蔽会扩展您的图像,以适应屏幕。更新系统数据库:
dconf update
# dconf update
Copy to Clipboard Copied! - 在系统范围的设置生效前,用户必须退出并重新登录。
故障排除
如果屏幕屏蔽没有更新:
验证您是否更新了系统数据库:
dconf update
# dconf update
Copy to Clipboard Copied! 尝试重启 GDM:
systemctl restart gdm.service
# systemctl restart gdm.service
Copy to Clipboard Copied! 警告重启
gdm
服务会终止当前登录的桌面用户正在运行的所有 GNOME 会话。这可能会导致用户丢失未保存的数据。
9.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/
。
流程
使用以下内容创建
/etc/dconf/db/gdm.d/01-override-logo
配置文件:[org/gnome/login-screen] logo=<path_to_logo>
[org/gnome/login-screen] logo=<path_to_logo>
Copy to Clipboard Copied! 将
<path_to_logo>
替换为您要用作登录屏幕徽标的图像文件的完整路径。更新系统数据库:
dconf update
# dconf update
Copy to Clipboard Copied!
验证
- 登出或切换到登录屏幕。
- 检查所选徽标是否显示。
如果徽标没有更新,请重启 GDM:
systemctl restart gdm
# systemctl restart gdm
Copy to Clipboard Copied! 警告重启
gdm
服务会终止当前登录的桌面用户正在运行的所有 GNOME 会话。这可能会导致用户丢失未保存的数据。
第 10 章 显示系统安全分类
作为管理员,用户必须了解系统的安全分类,您可以设置安全分类通知。这可以是一个永久横幅或临时通知,它可以在登录屏幕、GNOME 会话或锁定屏幕上显示。
10.1. 启用系统安全分类横幅
您可以创建一个永久分类横幅,以表示系统的整体安全分类级别。对于用户必须了解登录的系统的安全分类级别的部署,这非常有用。
永久分类横幅可以在运行的会话、锁定屏幕和登录屏幕中显示,您可以自定义其背景颜色、字体和其在屏幕中的位置。
流程
安装
gnome-shell-extension-classification-banner
软件包:dnf install gnome-shell-extension-classification-banner
# dnf install gnome-shell-extension-classification-banner
Copy to Clipboard Copied! 在以下位置之一创建
99-class-banner
文件:-
要在登录屏幕中配置通知,请创建
/etc/dconf/db/gdm.d/99-class-banner
。 -
要在用户会话中配置通知,请创建
/etc/dconf/db/local.d/99-class-banner
。
-
要在登录屏幕中配置通知,请创建
在创建的文件中输入以下配置:
[org/gnome/shell] enabled-extensions=['classification-banner@gnome-shell-extensions.gcampax.github.com'] [org/gnome/shell/extensions/classification-banner] background-color='<rgba(value, value, value, value)>' message='<your_message>' top-banner=<true_or_false> bottom-banner=<true_or_false> system-info=<true_or_false> color='<rgb(value, value, value)>'
[org/gnome/shell] enabled-extensions=['classification-banner@gnome-shell-extensions.gcampax.github.com'] [org/gnome/shell/extensions/classification-banner] background-color='<rgba(value, value, value, value)>' message='<your_message>' top-banner=<true_or_false> bottom-banner=<true_or_false> system-info=<true_or_false> color='<rgb(value, value, value)>'
Copy to Clipboard Copied! 要启用多个扩展,在
enabled-extensions
列表中指定它们。例如:enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com', 'classification-banner@gnome-shell-extensions.gcampax.github.com']
enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com', 'classification-banner@gnome-shell-extensions.gcampax.github.com']
Copy to Clipboard Copied! 更新
dconf
数据库:dconf update
# dconf update
Copy to Clipboard Copied! - 重启系统。
故障排除
- 如果没有为现有用户显示分类横幅,请以用户身份登录,并使用 Extensions 应用启用 Classification banner 扩展。
10.2. 通知系统安全分类
您可以在 overlay banner 中设置包含预定义消息的通知。这对于在登录前用户需要在哪里读取系统安全分类的部署很有用。
根据您的配置,通知可以在登录屏幕中、登录后、锁定屏幕或用户在一段时间内没有活动时显示。您总是可以在通知显示时清除它。
流程
安装
gnome-shell-extension-heads-up-display
软件包:dnf install gnome-shell-extension-heads-up-display
# dnf install gnome-shell-extension-heads-up-display
Copy to Clipboard Copied! 在以下位置之一创建
99-hud-message
文件:-
要在登录屏幕中配置通知,请创建
/etc/dconf/db/gdm.d/99-hud-message
。 -
要在用户会话中配置通知,请创建
/etc/dconf/db/local.d/99-hud-message
。
-
要在登录屏幕中配置通知,请创建
在创建的文件中输入以下配置:
[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
[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
Copy to Clipboard Copied! 使用描述系统安全分类的文本替换以下值:
- 安全分类标题
- 标识安全分类的简短标题。
- 安全分类描述
- 提供额外详情的较长消息,例如对各种指南的引用。
警告此配置会覆盖那些启用了扩展(如 启用系统安全分类横幅)的类似的配置文件。
要启用多个扩展,在 enabled-extensions
列表中指定它们。例如:
enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com', 'classification-banner@gnome-shell-extensions.gcampax.github.com']
enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com', 'classification-banner@gnome-shell-extensions.gcampax.github.com']
更新
dconf
数据库:dconf update
# dconf update
Copy to Clipboard Copied! - 重启系统。
故障排除
- 如果没有为现有用户显示通知,请以 用户身份登录并使用 Extensions 应用启用 标头显示消息 扩展。
第 11 章 更改系统电源设置
您可以配置系统的电源设置,以管理能源消耗,并优化性能。这些设置控制诸如何时关闭显示器或何时系统进入睡眠模式等行为。您可以通过更改系统电源设置,在节能和性能之间保持平衡。
11.1. 更改电源按钮行为
当按计算机上的 power 按钮时,它默认挂起或关闭系统。您可以根据您的偏好自定义此行为。
11.1.1. 更改按按钮且 GNOME 未在运行时电源按钮的行为
当您在非图形 systemd
目标中按 power 按钮时,它默认关闭系统。您可以根据您的偏好自定义此行为。
先决条件
- 管理权限
流程
编辑
/etc/systemd/logind.conf
配置文件,并将HandlePowerKey=poweroff
变量设置为以下选项之一:poweroff
- 关闭计算机。
reboot
- 重启系统。
halt
- 发起系统停止。
kexec
-
发起
kexec
重启。 suspend
- 挂起系统。
hibernate
- 发起系统休眠。
ignore
- 什么都不做。
例如,要在按下电源按钮时重启系统,请使用这个设置:
HandlePowerKey=reboot
HandlePowerKey=reboot
Copy to Clipboard Copied!
11.1.2. 更改按按钮且 GNOME 在运行时电源按钮的行为
在图形登录屏幕或在图形用户会话中,按 power 按钮默认挂起机器。当用户物理按下 power 按钮或从远程控制台按下虚拟 power 按钮时,才会出现这种情况。您可以选择不同的 power 按钮行为。
流程
使用以下内容,在
/etc/dconf/db/local.d/01-power
文件中为系统范围的设置创建一个本地数据库:[org/gnome/settings-daemon/plugins/power] power-button-action=<value>
[org/gnome/settings-daemon/plugins/power] power-button-action=<value>
Copy to Clipboard Copied! 使用以下电源按钮操作之一替换
<value>
:nothing
- 什么都不做。
suspend
- 挂起系统。
hibernate
- 休眠系统。
interactive
显示一个弹出窗口查询,询问用户要做什么。
交互模式下,按下 power 按钮后,系统在 60 秒后自动关闭。但是,您可以从弹出查询中选择不同的行为。
可选:覆盖用户的设置,并防止用户更改它。在
/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-action
Copy to Clipboard Copied! 更新系统数据库:
dconf update
# dconf update
Copy to Clipboard Copied! - 注销并重新登录,以使系统范围的设置生效。
11.2. 在合上笔记本电脑时更改系统的行为
当合上笔记本电脑时,它会默认挂起以节省电源。您可以根据您的偏好自定义此行为。
如果让一些笔记本电脑在合上时仍然运行,特别是在限制的空间中,则它们可能会过热。考虑更改此设置对您的笔记本电脑是否安全,特别是打算让笔记本电脑在合上后一直运行一段时间。
先决条件
- 管理权限
流程
-
打开
/etc/systemd/logind.conf
配置文件。 -
查找有
HandleLidSwitch=suspend
的行。 -
如果行以
#
符号开头,请将其删除以启用设置。 使用以下选项之一替换
suspend
:-
poweroff
来关闭计算机。 -
lock
来锁住屏幕。 -
ignore
来什么都不做。
例如,要在合上时锁住屏幕,请使用此设置:
HandleLidSwitch=lock
HandleLidSwitch=lock
Copy to Clipboard Copied! -
- 保存更改并关闭编辑器。
第 12 章 限制桌面会话
您可以限制并控制 GNOME 桌面环境的各种功能。您可以强制执行特定的配置和限制,来维护系统的完整性,并防止未授权访问。
12.1. 禁用用户退出和用户切换
禁止用户退出和用户切换可以提高安全性,防止用户错误,并强制执行特定的工作流。这可以缓解对敏感数据的未授权访问,以及由于用户意外注销或切换到其他用户而导致的工作流中断。
先决条件
- 管理访问权限.
流程
在
/etc/dconf/db/local.d/
目录中创建一个具有以下内容的纯文本/etc/dconf/db/local.d/00-logout
keyfile :[org/gnome/desktop/lockdown] # Disable user logut disable-log-out=true # Disable user switching disable-user-switching=true
[org/gnome/desktop/lockdown] # Disable user logut disable-log-out=true # Disable user switching disable-user-switching=true
Copy to Clipboard Copied! 在
/etc/dconf/db/local.d/locks/
目录下创建一个新文件,并列出您要锁住的密钥或子路径:Lock user logout Lock user switching
# Lock user logout /org/gnome/desktop/lockdown/disable-log-out # Lock user switching /org/gnome/desktop/lockdown/disable-user-switching
Copy to Clipboard Copied! 将更改应用到系统数据库:
dconf update
# dconf update
Copy to Clipboard Copied!
12.2. 禁用打印
禁用打印可以防止未授权访问敏感文档,并保护机密信息免受潜在的泄露。
先决条件
- 管理访问权限.
流程
在
/etc/dconf/db/local.d/
目录中创建一个具有以下内容的纯文本/etc/dconf/db/local.d/00-printing
keyfile:[org/gnome/desktop/lockdown] # Disable printing disable-printing=true
[org/gnome/desktop/lockdown] # Disable printing disable-printing=true
Copy to Clipboard Copied! 在
/etc/dconf/db/local.d/locks/
目录下创建一个新文件,并列出您要锁住的密钥或子路径:Lock printing
# Lock printing /org/gnome/desktop/lockdown/disable-printing
Copy to Clipboard Copied! 将更改应用到系统数据库:
dconf update
# dconf update
Copy to Clipboard Copied!
12.3. 禁用文件保存
防止将文件保存在系统上帮助防止敏感数据被未授权访问,并防止潜在的数据泄漏。
先决条件
- 管理权限
流程
在
/etc/dconf/db/local.d/
目录中创建一个具有以下内容的纯文本/etc/dconf/db/local.d/00-filesaving
keyfile:[org/gnome/desktop/lockdown] # Disable saving files on disk disable-save-to-disk=true
[org/gnome/desktop/lockdown] # Disable saving files on disk disable-save-to-disk=true
Copy to Clipboard Copied! 在
/etc/dconf/db/local.d/locks/
目录下创建一个新文件,并列出您要锁住的密钥或子路径:Lock file saving
# Lock file saving /org/gnome/desktop/lockdown/disable-save-to-disk
Copy to Clipboard Copied! 将更改应用到系统数据库:
dconf update
# dconf update
Copy to Clipboard Copied!
12.4. 禁用 shell 提示符
禁用 shell 提示符可以简化用户与系统的交互,防止没有经验的用户执行可能会造成系统不稳定或数据丢失的有害命令,并降低对系统设置或配置的未授权更改的风险。
先决条件
- 管理访问权限.
流程
在
/etc/dconf/db/local.d/
目录中创建一个具有以下内容的纯文本/etc/dconf/db/local.d/00-lockdown
keyfile:[org/gnome/desktop/lockdown] # Disable command prompt disable-command-line=true
[org/gnome/desktop/lockdown] # Disable command prompt disable-command-line=true
Copy to Clipboard Copied! 在
/etc/dconf/db/local.d/locks/
目录下创建一个新文件,并列出您要锁住的密钥或子路径:Lock command prompt
# Lock command prompt /org/gnome/desktop/lockdown/disable-command-line
Copy to Clipboard Copied! 将更改应用到系统数据库:
dconf update
# dconf update
Copy to Clipboard Copied! - 要使此设置生效,用户需要退出并重新登录。
12.5. 禁用重新分区
您可以覆盖控制磁盘管理的默认系统设置。
避免直接修改 /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy
文件。您所做的任何更改都将在下一次软件包更新过程中被替换。
先决条件
- 管理访问权限.
流程
复制
/etc/share/polkit-1/actions/
目录下的/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.policy
Copy to Clipboard Copied! 在
/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>
<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>
Copy to Clipboard Copied! 如果您只想限制对 root 用户的访问,请将
<allow_any>no</allow_any>
替换为<allow_any>auth_admin</allow_any>
。
12.6. 将会话限制为单个应用程序
您可以在单应用模式下启动 GNOME 会话,也称为 kiosk 模式。在此会话中,GNOME 只会显示您选择的应用程序的完整屏幕窗口。
12.6.1. 单应用模式
单应用模式是一种修改后的 GNOME 会话,它将 Mutter 窗口管理器重新配置为交互式 kiosk。该会话会锁定某些行为,从而使标准桌面更具限制。用户只能与管理员所选择的单个应用进行交互。
您可以为几个用例设置单应用程序模式,例如:
- 在communication、entertainment 或 education 字段中
- 作为自助服务机器
- 作为事件管理器
- 作为注册点
GNOME Kiosk 工具提供单应用程序模式配置和会话。
可用的单应用程序会话如下:
- 搜索设备会话
-
此会话总会在
www.google.com
网站启动 Mozilla Firefox Web 浏览器。 - Kiosk 脚本会话
- 此会话将启动一个您在 shell 脚本中指定的任意一个应用程序。
12.6.2. 启用搜索设备模式
您可以通过安装并启用 Search Appliance Session ,将 GNOME 会话限制为网页浏览器中的 Google 搜索引擎。
先决条件
- 管理访问权限.
流程
安装 GNOME Kiosk 软件包:
dnf install gnome-kiosk gnome-kiosk-search-appliance
# dnf install gnome-kiosk gnome-kiosk-search-appliance
Copy to Clipboard Copied! - 在 GNOME 登录屏幕中,从齿轮按钮菜单中选择 Search Appliance Session,并以单应用程序用户身份登录。
- Mozilla Firefox 浏览器在其 kiosk 模式中以全屏窗口形式打开。它显示 Google 搜索页面。
12.6.3. 启用单应用模式
您可以安装并启用 Kiosk Script Session,来将 GNOME 会话限制到所选的单个应用程序。此配置为目标应用程序提供了一个安全且隔离的环境。
流程
安装 GNOME Kiosk 软件包:
dnf install gnome-kiosk gnome-kiosk-script-session
# dnf install gnome-kiosk gnome-kiosk-script-session
Copy to Clipboard Copied! - 在 GNOME 登录屏幕中,从齿轮按钮菜单中选择 Kiosk Script Session,并以单应用程序用户身份登录。
gedit 文本编辑器以全屏窗口形式打开。它显示配置应用程序在单应用程序会话中运行的 shell 脚本。
编辑 shell 脚本,并输入您要在单应用程序会话中启动的应用程序。
例如,要启动 Mozilla Firefox 浏览器,请输入以下内容:
#!/usr/bin/sh firefox --kiosk https://example.org
#!/usr/bin/sh firefox --kiosk https://example.org
Copy to Clipboard Copied! - 保存脚本文件。
关闭 gedit 窗口。
会话会终止并重启您选择的应用程序。
- 下次登录到单应用程序会话时,您选择的应用程序将运行。
第 13 章 设置打印机
在 GNOME 中,您可以使用 Settings 应用程序设置打印。
13.1. 在 GNOME 中访问打印机设置
流程
使用启动应用程序中介绍的方法之一 启动应用程序 来启动 Settings 应用程序。
此外,您还可以通过单击齿轮按钮,从右上角的 system menu 启动 Settings 应用程序。
当 Settings 应用程序 GUI 显示时,转到 Printers。
图 13.1. GNOME Control Center 配置工具
13.2. 在设置中添加新打印机
您可以使用 Settings 应用程序添加新打印机。
先决条件
点击 Printers 屏幕的右上角),并以以下一个用户身份进行身份验证:
按钮(器显示在- 超级用户
-
具有
sudo
提供的管理访问权限的任何用户(在/etc/sudoers
中列出的用户) -
属于
/etc/group
中printadmin
组的任何用户
流程
打开打印机对话框。
点 Unlock 并验证。
选择一个可用的打印机(也包括网络打印机),或者输入打印机 IP 地址或打印机服务器的主机名。
点右上角的
来确认您的选择。
13.3. 在 Settings 中打印测试页面
您可以打印测试页面,以确保打印机工作正常。
先决条件
- 打印机已设置。
流程
点右侧的设置(⚙️) 按钮来显示所选打印机的设置菜单:
- 点 → 。
13.4. 修改打印机设置
在 GNOME 中,您可以使用 Settings 应用程序修改打印机设置。
13.4.1. 显示和修改打印机详情
要维护打印机的配置,请使用 Settings 应用程序:
流程
点右侧的设置(⚙️) 按钮来显示所选打印机的设置菜单:
点击 Printer Details ,以显示并修改所选打印机的设置:
在这个菜单中,您可以选择以下操作:
- 搜索驱动程序
- GNOME Control Center 与 PackageKit 通信,后者在可用的存储库中搜索合适的驱动程序。
- 从数据库中选择
- 这个选项使您能够从系统上已安装的数据库中选择一个合适的驱动程序。
- 安装 PPD 文件
- 这个选项使您能够从可用作打印机驱动程序的可用 postscript 打印机描述(PPD)文件列表中选择。
13.4.2. 设置默认打印机
您可以将所选打印机设置为默认打印机。
流程
点右侧的设置(⚙️) 按钮来显示所选打印机的设置菜单:
点 Use Printer by Default ,将所选打印机设置为默认打印机:
13.4.3. 设置打印选项
流程
点右侧的设置(⚙️) 按钮来显示所选打印机的设置菜单:
- 点打印选项。
13.4.4. 删除打印机
您可以使用 Settings 应用程序删除打印机。
流程
点右侧的设置(⚙️) 按钮来显示所选打印机的设置菜单:
点击 Remove Printer 来删除所选的打印机:
第 14 章 启用并强制实施 GNOME Shell 扩展
GNOME Shell 扩展是增强 GNOME 桌面环境的功能和外观的附加组件。用户可以为自己的桌面会话或为系统上的所有用户启用扩展。
14.1. 启用系统范围的 GNOME Shell 扩展
您可以自动为所有用户启用 GNOME 扩展,这消除了对单独安装的需要。具有个性化扩展的现有用户不会受到影响。
先决条件
- 管理访问权限.
流程
- 从 GNOME 扩展网站下载扩展存档。
将存档提取到
/usr/share/gnome-shell/extensions/
目录中:unzip -q <extension-file.zip> -d /usr/share/gnome-shell/extensions/
# unzip -q <extension-file.zip> -d /usr/share/gnome-shell/extensions/
Copy to Clipboard Copied! 使用扩展 zip 文件的名称替换
<extension-file.zip>
。调整权限,以确保扩展文件对任何人可读和可执行:
chmod -R 755 /usr/share/gnome-shell/extensions/<extension-directory>/
# chmod -R 755 /usr/share/gnome-shell/extensions/<extension-directory>/
Copy to Clipboard Copied! 使用扩展目录的名称替换
<extension-directory>
。创建一个具有以下内容的新的
/etc/dconf/db/local.d/00-extensions
文件:[org/gnome/shell] enabled-extensions=['myextension1@myname.example.com', 'myextension2@myname.example.com']
[org/gnome/shell] enabled-extensions=['myextension1@myname.example.com', 'myextension2@myname.example.com']
Copy to Clipboard Copied! 将 UUID (
myextension1@myname.example.com
、myextension2@myname.example.com)
替换为您要启用的 UUID。您可以在其 GNOME Shell 扩展网站页面上找到扩展的 UUID。将更改应用到系统数据库:
dconf update
# dconf update
Copy to Clipboard Copied!
完成这些步骤后,默认为系统上所有新用户启用指定的扩展。
14.2. 限制 GNOME Shell 扩展
通过锁定特定的 GNOME Shell 扩展,您可以确保所有用户都可以一致地使用预定义的扩展集合。您可以配置一组强制扩展,并防止用户修改它们。指定的扩展对所有用户是强制的,并且禁用了 Looking Glass 工具,以确保符合预定义的配置。
先决条件
- 管理访问权限.
流程
创建一个具有以下内容的新的
/etc/dconf/db/local.d/00-extensions
文件:[org/gnome/shell] enabled-extensions=['myextension1@myname.example.com', 'myextension2@myname.example.com'] development-tools=false
[org/gnome/shell] enabled-extensions=['myextension1@myname.example.com', 'myextension2@myname.example.com'] development-tools=false
Copy to Clipboard Copied! 将 UUID (
myextension1@myname.example.com
、myextension2@myname.example.com)
替换为您要启用的 UUID。您可以在其 GNOME Shell 扩展网站页面上找到扩展的 UUID。要防止用户更改这些设置,请使用以下内容创建一个新的
/etc/dconf/db/local.d/locks/extensions
文件:/org/gnome/shell/enabled-extensions /org/gnome/shell/development-tools
/org/gnome/shell/enabled-extensions /org/gnome/shell/development-tools
Copy to Clipboard Copied! 将更改应用到系统数据库:
dconf update
# dconf update
Copy to Clipboard Copied!
org.gnome.shell.enabled-extensions
文件中未列出的扩展不会被 GNOME Shell 加载 ,阻止用户使用它们。
14.3. 使用命令行管理 GNOME Shell 扩展
gnome-extensions
工具一个是从终端管理 GNOME Shell 扩展的命令行工具。它提供了各种命令来列出、安装、启用、禁用、删除和获取有关扩展的信息。
每个 GNOME Shell 扩展都有一个通用唯一标识符(UUID)。您可以在其 GNOME Shell 扩展网站页面上找到扩展的 UUID。
流程
要列出已安装的 GNOME Shell 扩展,请使用:
gnome-extensions list
$ gnome-extensions list
Copy to Clipboard Copied! 要安装 GNOME Shell 扩展,请使用:
gnome-extensions install <UUID>
$ gnome-extensions install <UUID>
Copy to Clipboard Copied! 要启用 GNOME Shell 扩展,请使用:
gnome-extensions enable <UUID>
$ gnome-extensions enable <UUID>
Copy to Clipboard Copied! 要显示 GNOME Shell 扩展的信息,请使用:
gnome-extensions info <UUID>
$ gnome-extensions info <UUID>
Copy to Clipboard Copied! 要禁用 GNOME Shell 扩展,请使用:
gnome-extensions disable <UUID>
$ gnome-extensions disable <UUID>
Copy to Clipboard Copied! 要删除 GNOME Shell 扩展,请使用:
gnome-extensions uninstall <UUID>
$ gnome-extensions uninstall <UUID>
Copy to Clipboard Copied!
将 <UUIDs>
替换为分配给您要安装的 GNOME Shell 扩展的唯一标识符。