跳转至内容

GNOME

来自 ArchWiki
(重定向自 GNOME Shell)

GNOME (/(ɡ)noʊm/) 是一个旨在简洁易用的桌面环境。它由The GNOME Project设计,完全由自由及开源软件组成。它使用Wayland,可用的会话包括:

  • GNOME,默认会话,在Wayland上运行 GNOME Shell。传统的 X 应用程序通过 Xwayland 运行。
  • GNOME Classic 通过使用某些扩展和值,提供“传统的桌面体验”(界面类似于 GNOME 2)。因此,它是一种定制化的 GNOME Shell 形式,而不是一个真正独立的模式。

安装

以下软件包组可用:

基础桌面由GNOME Shell组成,它是Mutter窗口管理器的插件。它可以通过gnome-shell单独安装。

注意 mutter 作为桌面的合成管理器,利用硬件图形加速提供旨在减少屏幕混乱的效果。GNOME 会话管理器会自动检测您的显卡驱动是否能够运行 GNOME Shell,如果不能,则会回退到使用 llvmpipe 的软件渲染。

也可以使用不稳定的版本,请参阅 Official repositories#gnome-unstable

启动

GNOME 可以通过图形界面的显示管理器启动,也可以手动从控制台启动(某些功能可能缺失)。gnome 中包含的显示管理器是 GDM

注意 GNOME 中的屏幕锁定(及更多功能)支持由 GDM 提供。如果 GNOME 不是通过 GDM 启动的,则可能会使用其他屏幕锁定器。请参阅 List of applications/Security#Screen lockers

图形界面

如果您安装了 gnome 组,并且希望 GNOME 在下次启动时自动启动,请启用 gdm.service。然后,您可以从显示管理器的会话菜单中选择所需的会话:GNOMEGNOME Classic(仅当安装了 gnome-shell-extensions 时显示)。

如果您希望立即启动 GNOME,从而避免重启,请在未被图形界面占用的 TTY 中启动上述 gdm.service

手动设置

注意 仍然需要 X 服务器来运行尚未移植到 Wayland 的应用程序,有关详细信息,请参阅 Wayland#Xwayland。使用特定图形库(如 Qt)的应用程序可以通过设置环境变量强制使用 Wayland。有关更多信息,请参阅 Wayland#GUI libraries

会话类型

GNOME 会话从 systemd 继承会话类型。Systemd 会话类型是在会话启动时根据 XDG_SESSION_TYPE 环境变量确定的,并且之后只能由该会话的控制器更改。请参阅 systemd 在 Github 上的相关问题。

因此,仅仅在登录后设置 XDG_SESSION_TYPE 是无效的。相反,创建一个 systemd 覆盖文件来为 getty设置环境变量。

/etc/systemd/system/getty@tty1.service.d/wayland.conf
[Service]
Environment=XDG_SESSION_TYPE=wayland

重载后显示会话类型

$ loginctl session-status

启动会话

在正确设置了 XDG_SESSION_TYPE 和登录会话类型后,可以使用以下命令手动启动 Wayland 会话:

$ gnome-session

直接运行 gnome-shell --wayland 不被推荐,因为它缺乏会话管理。

请注意,手动调用 GNOME 完全不需要 gdm(因此也不需要附带的 gdm.service),因此对于那些仅安装了 GNOME 所包含的少数几个软件包,并根据个人喜好组装的(可能非常)极简安装的用户来说,也是可用的。

要在登录到 tty1 时启动,请添加到您的 .bash_profile

gnome-session --no-reexec

--no-reexec 标志可防止 gnome-session 再次启动登录 shell 并导致循环。

Firefox 和 QT 应用程序不遵守 XDG_SESSION_TYPE,因此也为它们添加变量:

if [[ -z $DISPLAY && $(tty) == /dev/tty1 && $XDG_SESSION_TYPE == wayland ]]; then
  MOZ_ENABLE_WAYLAND=1 QT_QPA_PLATFORM=wayland exec gnome-session --no-reexec
fi

Wayland 下的 GNOME 应用程序

当使用 GNOME 会话时,GNOME 应用程序将使用 Wayland 运行。用于调试,https://docs.gtk.org.cn/gtk3/running.htmlhttps://docs.gtk.org.cn/gtk4/running.html 列出了选项和环境变量。

要了解如何有效使用 GNOME Shell,请阅读 GNOME Shell 备忘单;它突出了 GNOME Shell 的功能和键盘快捷键。功能包括任务切换、键盘使用、窗口控制、面板、概览模式等。其中一些快捷键是:

  • Super+m:显示通知列表
  • Super+a:显示应用程序网格
  • Alt+Tab:循环切换活动应用程序
  • Alt+`(US 键盘布局上 Tab 键上方的键):循环切换前景应用程序的窗口
  • Alt+F2,然后输入 rrestart:在图形 shell 出现问题时重启 shell(仅限 X/传统模式,Wayland 模式下无效)。

有关使窗口切换类似于 Windows 的默认配置更改,请参阅 /Tips and tricks#Navigation

有关更多快捷键,请参阅 Keyboard navigation

旧名称

注意 一些 GNOME 程序已更名,应用程序在文档和关于对话框中的名称已更改,但可执行文件名尚未更改。下表列出了一些这样的应用程序。
提示 在 Shell 搜索栏中搜索应用程序的旧名称将成功返回相关应用程序。例如,搜索 nautilus 将返回 Files
旧名称 当前
Baobab 磁盘使用分析器
Decibels 音频播放器
Epiphany Web
Loupe 图片查看器
Nautilus 文件
Papers 文档查看器
Showtime 视频播放器
Simple Scan 文档扫描仪
Snapshot 摄像头

配置

GNOME 设置(gnome-control-center)和 GNOME 应用程序使用 dconf 配置系统来存储其设置。

您可以使用 gsettings(1) 命令行工具直接访问 dconf 数据库。这还允许您配置用户界面未公开的设置。命令行工具 dconf(1) 可以直接修改底层数据库,绕过验证。gsettings 和 dconf 的配置键是等效的,但格式略有不同:gsettings 中的 gsettings set mygroup.mysubgroup mysetting myvalue 在 dconf 中将是 dconf write /mygroup/mysubgroup/mysetting myvalue

直到 GNOME 3.24,设置都是由 GNOME 设置守护程序(位于 /usr/lib/gnome-settings-daemon/gnome-settings-daemon)应用的,它可以独立于 GNOME 会话运行。

然而,GNOME 3.24 将 GNOME 设置守护程序替换为几个独立的设置插件 /usr/lib/gnome-settings-daemon/gsd-*,它们后来被移动到 /usr/lib/gsd-*。这些插件现在通过 /etc/xdg/autostart/ 下的桌面文件(匹配 org.gnome.SettingsDaemon.*.desktop)进行控制。要在 GNOME 会话外部运行这些插件,您现在需要将相应的桌面条目复制/编辑到 ~/.config/autostart

配置通常是用户特定的;本节不涵盖如何为多个用户创建配置模板。

系统设置

颜色

守护进程 colord 读取显示器的 EDID 并提取合适的颜色配置文件。大多数颜色配置文件都是准确的,无需设置;但是,对于不准确的配置文件或旧显示器,可以将颜色配置文件放在 ~/.local/share/icc/ 并进行定向。

Night Light

GNOME 带有一个内置的蓝光过滤器,类似于 Redshift。您可以在显示设置菜单中启用并自定义要启用夜览模式的时间。此外,您可以使用以下 dconf 设置调整开尔文温度,其中 5000 是一个示例值:

$ gsettings set org.gnome.settings-daemon.plugins.color night-light-temperature 5000
提示 要在 Wayland 会话中更改日间温度,请安装 Night Light Slider 扩展
注意 自 545.29.02 版本起,夜览模式在 Wayland 会话的 NVIDIA 显卡上可用。

日期与时间

如果系统已配置 网络时间协议守护进程,它也将对 GNOME 生效。如果需要,可以从菜单将同步设置为手动控制。

GNOME 支持自动时区选择(可以在系统设置的“日期与时间”部分启用,前提是位置服务已启用(请参阅设置的“隐私”部分))。

注意 由于 Mozilla 位置服务已停用,自动时区选择可能不再有效。请参阅 [1]。有关解决方法,请参阅 System time#Setting based on geolocation

要显示顶部栏中的日期,请执行:

$ gsettings set org.gnome.desktop.interface clock-show-date true

此外,要在顶部栏上打开的日历中显示周数,请执行:

$ gsettings set org.gnome.desktop.calendar show-weekdate true

默认应用程序

首次安装 GNOME 时,您可能会发现错误的应用程序正在处理某些协议。例如,totem 播放视频而不是之前使用的 VLC。其中一些关联可以从系统设置的“默认应用程序”中设置。

有关其他协议和方法,请参阅 Default applications 进行配置。

鼠标和触摸板

大多数触摸板设置可以通过系统设置的“鼠标与触摸板”进行设置。

根据您的设备,可能还有其他配置设置可用,但默认 GUI 未公开。例如,不同的触摸板 click-method

$ gsettings range org.gnome.desktop.peripherals.touchpad click-method
enum
'default'
'none'
'areas'
'fingers'

需要手动设置

$ gsettings set org.gnome.desktop.peripherals.touchpad click-method 'fingers'

或通过 gnome-tweaks

注意 GNOME 不支持 synaptics 驱动程序。相反,您应该使用 libinput。请参阅 此 bug 报告
通过鼠标调整窗口大小

默认情况下,您可以通过按住 Super 键,单击并按住鼠标左键并拖动鼠标来移动窗口。

此外,您还可以通过按住 Super 键,单击并按住鼠标右键并拖动鼠标来使用鼠标调整窗口大小。

$ gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true

如果您不喜欢 Super 键,也可以将其修改为其他键,例如 AltCtrl

$ gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "'<Alt>'"

网络

NetworkManager 是 GNOME 项目用于从 Shell 控制网络设置的原生工具。如果尚未安装,请安装 networkmanager 软件包,并启用 NetworkManager.service systemd 服务单元。

虽然可以选择任何其他 网络管理器,但 NetworkManager 通过 Shell 网络设置和状态指示器小程序 network-manager-applet(GNOME 非必需)提供了完整的集成。

注意 使用 networkmanagernmtui 设置的隐藏无线网络不会自动连接。您需要使用 GNOME 控制中心创建一个新配置文件,以恢复该网络的自动连接功能。

在线账户

某些在线账户,例如 ownCloud,需要安装 gvfs-goagvfs-dnssd 才能在 GNOME 文件(GNOME Files)和 GNOME 文档等 GNOME 应用程序中实现全部功能 [2]

有关更多信息,请参阅 Online accounts

GNOME Shell 具有搜索功能,可以通过按 Super 键并开始输入来快速访问。localsearch 软件包作为 nautilus 的依赖项,作为 gnome 组的一部分默认安装,并提供了一个索引应用程序和元数据数据库。它可以在“设置”中的“搜索”菜单项进行配置。它由 gnome-session 在用户登录时自动启动。

localsearch 不会自动递归到用户主目录下的所有目录,因此您可能需要通过“搜索 > 搜索位置”菜单项添加自定义路径。要从索引中排除目录,请创建一个空的 .nomedia 文件。

可以使用 localsearch status 查看状态,并且可以从命令行搜索(localsearch search --help)、编辑(localsearch tag --help)或重置索引内容。有关参考,请参阅 localsearch helplocalsearch command --help,或 在线帮助

数据库使用 tinysparql-sql(1),如有需要也可以直接查询。

辅助功能

GNOME 的辅助功能设置可通过“设置 > 辅助功能”访问。启用顶部栏图标后,可以立即切换主要设置,但请注意,“视觉”、“听觉”、“输入”、“指向和单击”以及“缩放”的子菜单提供了更多设置。有关它们的更多信息,请参阅 https://help.gnome.org/users/gnome-help/stable/a11y.html.en

此外,可以通过“设置 > 键盘 > 查看和自定义键盘快捷键 > 辅助功能”设置默认的键盘快捷键集。例如,按下 AltSuper8 可切换缩放。

设备安全设置

GNOME 43 在“设置”中包含一个新的设备安全面板。这需要 fwupd 才能运行。请参阅 [3]

高级设置

如上所述,许多配置选项(例如更改 GTK 主题或窗口管理器主题)在 GNOME 设置(gnome-control-center)中并未公开。希望配置这些设置的用户可以考虑使用 GNOME Tweaks(gnome-tweaks),这是一个方便的图形工具,公开了许多这些设置。

GNOME 设置(存储在 DConf 数据库中)也可以使用 dconf-editor(一个图形化的 DConf 配置工具)或 gsettings 命令行工具进行配置。GNOME Tweaks 在 GUI 的后台不做任何其他事情;但请注意,您在以下各节中找不到所有设置。

扩展

扩展的目录可在 https://extensions.gnome.org 找到,它们可以通过官方仓库(仅少数)、AUR浏览器安装。

本文或本章节的准确性存在争议。

原因:下面的注释建议手动管理用户文件,因为它“更容易”,但没有解释原因。(在 Talk:GNOME 中讨论)
  • 通过浏览器安装的扩展程序仅对当前用户可用,并且需要您手动更新每个扩展程序。这是更简单的方法。
    • 此外,如果您选择通过浏览器安装扩展程序,则需要安装 gnome-browser-connector。安装官方仓库或 AUR 中的扩展程序不需要它。
  • 通过 AUR(或在官方仓库中找到的扩展程序)安装的扩展程序对整个系统都可用(并且如果您使用 AUR 助手,则可以自动更新)。

已安装的扩展程序也可以通过 gnome-extensions-app(GUI)、命令行(gnome-extensions(1))或浏览器进行配置、启用或禁用。在您的浏览器中,可以安装扩展程序,然后在浏览器中通过将屏幕右上角的开关设置为 ON 并单击弹出窗口中的 Install(如果相关扩展程序未安装)来激活它们。已安装的扩展程序可以在 https://extensions.gnome.org/local/ 查看,在那里可以检查可用更新。

gnome-shell-extensions 软件包提供了一套作为 GNOME 项目一部分维护的非常有用的扩展。

extension-manager 是一个图形工具,也可用于安装和删除扩展程序,以及启用和禁用它们(针对整个系统和用户)。在使用它之前,请考虑其已知问题列表

启用扩展程序的使用(默认禁用)

$ gsettings set org.gnome.shell disable-user-extensions false

列出当前启用的扩展程序

$ gsettings get org.gnome.shell enabled-extensions

上述命令可能会列出已被删除的扩展程序。要仅列出已启用已安装的扩展程序,请改用 gnome-extensions

$ gnome-extensions list --enabled

有关 GNOME Shell 扩展的更多信息,请参阅 https://extensions.gnome.org/about/

外观

Themes
注意Gnome 42 起,许多默认的 Gnome 应用程序使用 GTK 4 和 libadwaita。这些应用程序目前不支持通过 gsettings 或 gnome-tweaks 更改主题,唯一的视觉配置选项是通过“设置 > 外观”。请参阅 GTK#Themes 来设置 Adwaita 或 Adwaita-dark 以外的 GTK 主题。

GNOME 默认使用 Adwaita。要仅将 Adwaita-dark 应用于 GTK 2 应用程序,请使用以下符号链接:

$ ln -s /usr/share/themes/Adwaita-dark ~/.themes/Adwaita
注意 Adwaita-dark 主题由 gnome-themes-extra 提供,它可能未在最小化的 GNOME 安装中安装。

要选择新主题(将它们移动到适当的目录),请使用 GNOME Tweaks 或下面的 GSettings 命令。

对于 GTK 主题

$ gsettings set org.gnome.desktop.interface gtk-theme theme-name

对于图标主题

$ gsettings set org.gnome.desktop.interface icon-theme theme-name
注意 窗口管理器主题跟随 GTK 主题。使用 org.gnome.desktop.wm.preferences theme 已弃用且被忽略。

请参阅 GTK#ThemesIcons#Icon themes

标题栏按钮顺序

要设置 GNOME 窗口管理器(Mutter, Metacity)的顺序:

$ gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
提示 冒号指示窗口按钮将出现在标题栏的哪一侧。
GNOME Shell 主题

GNOME Shell 本身的主题是可配置的。要使用 Shell 主题,首先确保您已安装 gnome-shell-extensions 软件包。然后,通过 GNOME Extensions 应用程序或通过 GNOME Shell Extensions 网页启用 User Themes 扩展。然后可以使用 GNOME Extensions 加载和选择 Shell 主题。

AUR 中有许多 GNOME Shell 主题可用,许多主题的名称格式不同,因此可以尝试在 AUR 中搜索适当的主题。Shell 主题也可以从 gnome-look.org 下载。

AppIndicators/顶部栏图标

要启用 AppIndicators(这对于控制/监视正在后台运行的某些应用程序很有用),请安装 gnome-shell-extension-appindicatorgnome-shell-extension-appindicator-gitAUR重启 GNOME Shell,然后在 GNOME Extensions 应用程序中或通过运行以下命令启用 AppIndicator 扩展:

$ gnome-extensions enable $(gnome-extensions list | grep -m 1 appindicatorsupport)
Shell 动画速度

GNOME Shell 的动画可以加速、减速或禁用。请参阅 GNOME/Tips and tricks#Change animation speed

Shell 模糊效果

Blur my Shell 是一个为概览屏幕以及 Shell 本身和其他应用程序添加模糊效果的扩展。安装 gnome-shell-extension-blur-my-shellAURgnome-shell-extension-blur-my-shell-gitAUR 以获取开发更新。此扩展程序高度可定制,您可以选择模糊某些应用程序。

更佳的 Alt-Tab 功能

GNOME 的默认 Alt-Tab 非常简单,不显示所选窗口的概览。您可以在“设置”中将 Alt-Tab 快捷键从“切换应用程序”更改为“切换窗口”,以显示窗口概览。

您还可以使用 Coverflow Alt-Tab。这是一个扩展程序,它扩展了 Alt-Tab 的行为,并增加了使应用程序切换更轻松的功能,同时还使其外观更佳。安装 gnome-shell-extension-coverflow-alt-tab-gitAUR,然后您可以根据自己的喜好更改此扩展程序的配置。

注意:默认情况下,Super-` 提供“切换应用程序的窗口”。

自启动

GNOME 支持 XDG Autostart

gnome-tweaks 允许管理自动启动条目。

提示 如果 Tweaks 的“启动应用程序”部分中的加号按钮无响应,请尝试通过终端使用以下命令启动 Tweaks:gnome-tweaks。请参阅以下 论坛帖子

桌面

Dash to Dock

要将 Dash 移出概览并将其变成一个 Dock,以便轻松启动和切换应用程序,请安装 gnome-shell-extension-dash-to-dockAUR

在概览模式下启动

从 GNOME 40 开始,桌面将直接进入概览模式,而不是像以前版本那样显示一个空桌面。要模仿旧行为,可以安装 gnome-shell-extension-no-overviewAUR

或者,如果您使用 gnome-shell-extension-dash-to-dockAUR,您可以使用 gsettings 禁用它。

$ gsettings set org.gnome.shell.extensions.dash-to-dock disable-overview-on-startup true

请参阅 [4] 中的讨论。

剪贴板历史

与其他桌面环境不同,GNOME 没有内置的管理剪贴板历史记录的工具。但这可以通过扩展程序的帮助来完成。安装 gnome-shell-extension-clipboard-indicatorAUR

天气

要在顶部面板显示基于选定位置的当前天气信息,请安装 gnome-shell-extension-openweatherAUR。天气信息实时更新,并显示有用的数据,如天气状况、风速、气压等...

声音输入/输出设备选择器

本文或本节正考虑移除。

原因:可能不再需要。Packages 仅兼容到 Gnome 43。Packages compatible up to Gnome 43 only. (在 Talk:GNOME 中讨论)

默认情况下,如果您想更改声音输入或输出设备或麦克风音量,您需要打开 GNOME 控制中心并在那里配置这些设置。要集成设备选择器和麦克风音量滑块,请安装 gnome-shell-extension-sound-output-device-chooserAURgnome-shell-extension-sound-output-device-chooser-gitAUR。安装后可以进行进一步配置。

字体

提示 如果将“缩放比例”设置为大于 1.00 的值,辅助功能菜单将自动启用。

字体可以为窗口标题、界面(应用程序)、文档和等宽字体设置。有关相关选项,请参阅“设置”中的“字体”选项卡。

对于微调,很可能需要 RGBA,因为它适合大多数显示器类型,如果字体显得过于粗糙,请将微调减少到“轻微”或“”。

输入法

GNOME 通过 IBus 集成了对 输入法 的支持。只需安装 ibus 和所需的输入法引擎(例如,智能拼音的 ibus-libpinyin)。安装后,可以在 GNOME 设置(gnome-control-center)的“键盘 > 输入源”下将输入法引擎添加为键盘布局。

键盘布局的怪癖

如果您使用的是 Neo2 等替代键盘布局,它使用多层/修饰键,您可能需要在 GNOME 设置(gnome-control-center)的“键盘 > 输入特殊字符”中将“备用字符键”从“右 Alt”更改,以便它可以用作键盘布局的原生修饰键。将其设置为例如“左 Alt”会阻止“Alt+Tab”,因此请谨慎更改。不进行此更改,您的左侧 Mod3 键可能有效,但右侧(AltGr)无效。(截至 2021-05-18)

电源

当您使用笔记本电脑时,您可能希望更改以下控制空闲时行为、屏幕锁定电源按钮按下和盖子关闭的设置

$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 3600
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type hibernate
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 1800
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type hibernate
$ gsettings set org.gnome.settings-daemon.plugins.power power-button-action suspend
$ gsettings set org.gnome.desktop.lockdown disable-lock-screen true

关闭盖子时保持显示器活动

$ gsettings set org.gnome.settings-daemon.plugins.xrandr default-monitors-setup do-nothing

GNOME 3.24 已弃用以下设置

org.gnome.settings-daemon.plugins.power button-hibernate
org.gnome.settings-daemon.plugins.power button-power
org.gnome.settings-daemon.plugins.power button-sleep
org.gnome.settings-daemon.plugins.power button-suspend
org.gnome.settings-daemon.plugins.power critical-battery-action
关闭笔记本电脑盖子时不要暂停

GNOME 的设置面板不提供选项供用户更改关闭笔记本电脑盖子时触发的操作。要系统范围地更改盖子开关操作,请编辑 /etc/systemd/logind.conf 中的 systemd 设置。要关闭盖子关闭时的暂停,请设置 HandleLidSwitch=ignore,如 电源管理#ACPI 事件中所述。

更改关键电池电量操作

设置面板不提供更改关键电池电量操作的选项。这些设置也已从 dconf 中移除。现在由 upower 管理。编辑 /etc/UPower/UPower.conf 中的 upower 设置。找到这些设置并根据您的需要进行调整。

/etc/UPower/UPower.conf
PercentageLow=10
PercentageCritical=3
PercentageAction=2
CriticalPowerAction=HybridSleep
电源模式

安装 power-profiles-daemon 可选依赖项(来自 gnome-control-center)以支持电源配置文件。由于 gnome-shell 和 GNOME 设置在启动时都请求其激活,因此无需显式 启动/启用 power-profiles-daemon 服务。

当服务激活时,可以通过 GNOME 设置的“电源”部分和系统菜单管理电源配置文件。

屏幕录制

内置的截图工具默认不带屏幕录制选项。安装 gst-plugin-pipewire 可选依赖项(来自 gnome-shell)以启用屏幕录制。

使用不同的窗口管理器

GNOME Shell 不支持使用不同的 窗口管理器,但 GNOME Flashback 提供 Metacity 和 Compiz 的会话。此外,还可以定义您自己的 自定义 GNOME 会话,它们使用替代组件。

将 GNOME Shell 替换为不同的 Wayland 合成器将导致 gnome-control-center(GNOME 设置)的某些部分填充不正确。gnome-control-center 可以工作,但由于 mutter(GNOME Shell)将无法提供用于填充这些部分的设置,因此它们将无效或可能无法准确填充您的设置。受影响的部分包括蓝牙、显示器以及鼠标/触摸板等。

参见