GNOME
GNOME(读音为/(ɡ)noʊm/)是一个追求简单易用的桌面环境。它由 GNOME项目设计,并且完全由自由开源的软件组成。GNOME默认使用 Wayland 作为显示服务器,并同时提供多个对话可供选择:
- GNOME是在Wayland上运行GNOME Shell的默认选项。传统的X应用使用Xwayland运行。
- GNOME Classic通过特定的扩展和数值,提供了“传统的桌面体验”(类似GNOME2的界面)。因此,它是GNOME Shell的定制样式,而非真正的不同模式。
安装
有两个软件组可用:
- gnome包组 包含基本的桌面环境和一些集成良好的应用
- gnome-circle包组 包含多种格外应用,极大的拓展了Gnome生态。
- gnome-extra包组 包含部分开发工具,以及其他适合Gnome的应用与游戏。
GNOME 的基础桌面环境由 Mutter 窗口管理器的插件 GNOME Shell 组成。可以用 gnome-shell包 单独安装它。
也可以使用不稳定版本,见官方软件仓库#gnome-unstable。
运行 GNOME
GNOME 可以使用显示管理器以图形方式启动,也可以从控制台手动启动(可能会缺少某些功能)。gnome包组的显示管理器是GDM。
图形界面启动
如果安装了gnome包组并希望GNOME在下次启动时自动启动, 请启用 gdm.service,随后可以在显示管理器的会话菜单中选择想要使用的会话:GNOME、GNOME Classic (仅在gnome-shell-extensions包 已安装时显示)。
如果想立即启动 GNOME 以避免重启,可以从一个没有被图形占用的 tty 上启动 gdm.service。
手动启动
会话类型
Gnome会话继承了systemd的会话类型。当会话开始时,systemd的会话类型在会话启动时由XDG_SESSION_TYPE环境变量决定,并在启动后只能由该会话上的控制器决定。详见 Github。
因此仅仅在登录后设置XDG_SESSION_TYPE 并不起作用。因此应创建一个systemd drop-in 文件给getty设置环境变量:
/etc/systemd/system/getty@tty1.service.d/wayland.conf
[Service] Environment=XDG_SESSION_TYPE=wayland
重新加载后检查会话类型:
$ loginctl session-status
启动会话
在正确设置会话类型后,可以通过以下命令手动启动会话:
$ gnome-session
由于直接运行gnome-shell --wayland缺乏会话管理,所以并不推荐。
请注意,手动调用Gnome不需要gdm(因此也不需要附带的gdm.service),因此对于安装了Gnome最小安装的用户来说,可以根据个人喜好,选择一些包含在更广泛的gnome组中的软件包。
若要在 tty1 登录时启动,将以下内容添加到 .bash_profile 中:
gnome-session --no-reexec
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/gtk3/running.html 和 https://docs.gtk.org/gtk4/running.html 列出的选项和环境变量。
导航
GNOME Shell cheat sheet 中解释了如何高效地使用 GNOME shell,它展示了 GNOME shell 的特色和快捷键,包括切换任务,使用键盘,窗口控制,面板,概览模式等等。以下是部分常用的快捷键:
-
Super+m:显示消息列表 -
Super+a:显示应用菜单 -
Alt+Tab:切换当前使用的应用 -
Alt+`(美式键盘Tab上面的按键):切换正在前台使用的应用的窗口 -
Alt+F2,然后输入r或restart:在图形界面出问题时重启界面(仅用于X/传统模式,不适用于Wayland模式)。
如需改变默认配置,使其更类似Windows,见 GNOME/提示与技巧#导航。
更多快捷键见键盘导航。
遗留名称
| 当前 | 遗留 |
|---|---|
| 文件 | Nautilus |
| Web | Epiphany |
| 视频 | Totem |
| 主菜单 | Alacarte |
| 文档查看器 | Evince |
| 磁盘使用情况分析器 | Baobab |
| 图像查看器 | EoG (Eye of GNOME) |
| 密码和密钥 | Seahorse |
| 翻译编辑器 | Gtranslator |
配置
GNOME系统设置面板(gnome-control-center)和GNOME应用使用dconf配置系统存储设置。
您可以使用gsettings(1)命令行工具直接访问 dconf 数据库。这也可以让您修改用户界面不公开的设置。命令行工具 dconf(1) 可以直接修改底层数据库,跳过验证过程。
直到GNOME 3.24,设置由GNOME设置进程应用(位于/usr/lib/gnome-settings-daemon/gnome-settings-daemon),其也可以在GNOME会话之外运行。
然而GNOME 3.24用几个相互独立的设置插件(/usr/lib/gnome-settings-daemon/gsd-*,后来移动到/usr/lib/gsd-*)取代了 GNOME 设置进程。这些插件通过 /etc/xdg/autostart (匹配org.gnome.SettingsDaemon.*.desktop) 下的桌面文件进行控制。若要在 GNOME 会话之外运行这些插件,您需要复制或编辑相应的桌面条目到 ~/.config/autostart。
配置通常是用户特定的,本文将不介绍如何为多个用户创建配置模板。
GNOME 系统设置
色彩
colord 守护进程会读取显示器的 EDID 信息并提取出合适的色彩配置内容。大多数情况下,色彩配置都是正确的,不需要额外设置;但是对于某些偏差情况或使用较旧的显示器时,可以把色彩配置文件放在 ~/.local/share/icc/ 下并被指向。
夜间模式
GNOME 内置了类似于 Redshift 的蓝光过滤功能。夜间模式可以在设置面板中启动及自定义启动时间。此外,夜间模式的色温可以使用以下dconf包设置进行调整,5000是一个示例值:
$ gsettings set org.gnome.settings-daemon.plugins.color night-light-temperature 5000
日期与时间
如果系统已有配置好的网络时间协议 守护进程,它同样会对 GNOME 起作用。如果需要,同步设置可以在菜单内设为手动控制。
GNOME支持自动选择时区,可在系统设置里的日期和时间选项中开启。前提是已开启定位服务 (见设置中的隐私选项)。
若要在顶栏内显示日期,请运行:
$ gsettings set org.gnome.desktop.interface clock-show-date true
另外,若要在顶栏的日历中显示周数,请运行:
$ gsettings set org.gnome.shell.calendar show-weekdate true
默认应用程序
首次安装 GNOME 时,您可能会发现某些格式由错误的应用处理,比如视频被totem打开而不是以前使用的 VLC。某些格式关联可以使用系统设置中的默认应用程序进行调整。
有关其它协议和方法,请参阅默认应用程序进行配置。
鼠标和触摸板
大多数触摸板设置可以使用系统设置中的鼠标和触摸板进行调整。
根据您的设备,其它配置可能可用,但不会显示在默认界面内,例如不同的触摸板点击方法:
$ 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包设置。
使用鼠标更改窗口大小
默认情况下,您可以使用鼠标移动窗口,方法是按住 Super,单击并按住鼠标左键并拖动鼠标。
此外,您可以通过按住 Super、单击并按住鼠标右键并拖动鼠标来启用鼠标调整窗口大小:
$ gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true
如果您不喜欢 Super 键,还可以将修饰键更改为其他键,例如 Alt 或 Ctrl:
$ gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "'<Alt>'"
网络
NetworkManager 是GNOME项目中控制网络设置的工具。如果尚未安装,则安装networkmanager包软件包并启用NetworkManager.service 。
虽然可以使用任何其它网络管理器,但 NetworkManager 可以使用整合到桌面环境的网络设置和状态指示器( network-manager-applet包,不必要安装 )。
在线帐户
部分在线账户,比如 ownCloud,需要安装 gvfs-goa包 和gvfs-dnssd包以在 GNOME 应用比如 GNOME 文件以及 GNOME 文档中发挥全部功能[3]。
详见在线账户。
搜索
GNOME shell在按下Super键并开始输入时会启动搜索。localsearch包作为gnome包组中nautilus包的依赖被默认安装。它提供一个应用和数据的索引数据库。它可以被设置中“搜索”菜单项配置。它在用户登录时自动被gnome-session启动。
localsearch 并不自动递归用户的家目录中所有的目录,所以你可能需要在 搜索 > 搜索位置 中添加自定义的路径。创建一个名为 .nomedia 的空文件以将某个目录从索引中排除。
可通过 localsearch status 查看当前索引状态。搜索内容可以在命令行中被localsearch search查看,被localsearch tag编辑,以及被重置。见 localsearch help 或在线寻求参考。
tinysparql-sql被用作索引数据库。如果需要,数据库可以被直接查询。
设备安全
GNOME 43 在设置中添加了一个新的设备安全面板。该功能依赖fwupd工作。见 [4]
高级设置
如上文所述,改变GTK主题或窗口管理器主题等选项,并不会出现在GNOME设置(gnome-control-center)里。想要修改这些设置可以使用GNOME Tweaks (gnome-tweaks包),这是一个展示了许多这类设置的图形化工具。
(存储在 DConf 数据库中的)GNOME设置也可以使用dconf-editor(1)(一个图形化的DConf配置工具)或gsettings命令行工具进行配置。GNOME Tweaks 只能用于改变GUI。注意,你不一定总能看到下文描述的所有设置。
拓展
拓展的目录位于 https://extensions.gnome.org。拓展可通过 archlinux官方仓库 (少数), AUR或者网页安装。
- 此外,如果你想要从浏览器安装拓展,你需要安装 gnome-browser-connector包。如果从官方仓库或者AUR安装,则不需要。
- 从AUR(或者官方仓库)安装拓展是他们对整个系统生效(并且在使用 AUR 助手时自动更新)。
已安装的拓展可以通过 gnome-extensions-app在图形界面、在命令行使用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/.
外观
主题
GNOME默认使用Adwaita。若要只将Adwaita-dark应用于GTK 2应用,请使用以下符号链接:
$ ln -s /usr/share/themes/Adwaita-dark ~/.themes/Adwaita
若要选择新的主题,(将它们移到适当的目录中,并)使用GNOME Tweaks或下面的GSettings命令。
对于GTK主题:
$ gsettings set org.gnome.desktop.interface gtk-theme theme-name
对于图标主题:
$ gsettings set org.gnome.desktop.interface icon-theme theme-name
org.gnome.desktop.wm.preferences theme的方法已被废弃和忽略。标题栏按钮排序
设置 GNOME 窗口管理器顺序 (Mutter, Metacity):
$ gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
GNOME Shell主题
GNOME Shell本身的主题是可配置的。首先确认您已安装gnome-shell-extensions包软件包以应用Shell主题。然后通过GNOME Tweaks或通过GNOME Shell Extensions 网站启用“User Themes”扩展。Shel主题可以通过使用GNOME Tweaks软件加载并选用。
AUR里有大量可用的GNOME Shell主题。Shell主题也可在gnome-look.org里下载。
AppIndicators/顶部菜单栏图标
AppIndicators 对于监控和控制后台程序很有用,其对应的软件包是 gnome-shell-extension-appindicator包 or gnome-shell-extension-appindicator-gitAUR。安装后重启 GNOME Shell ,然后在 GNOME 扩展程序中启用 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-shellAUR ,或者gnome-shell-extension-blur-my-shell-gitAUR 。该拓展具有高度可自定义性,并且你可以自由选择对哪些应用施加模糊效果。
更好的 Alt-Tab
GNOME中默认的 Alt-Tab功能非常简单,并不展示selected windows的概览。你可以在设置应用中将 Alt-Tab快捷键从 “切换应用” 改为 “切换窗口”以展示窗口概览。
你也可以使用Coverflow Alt-Tab。这是一个拓展Alt-Tab行为的拓展,添加了一些特性使在应用程序之间切换更简单、更好看。 安装gnome-shell-extension-coverflow-alt-tab-gitAUR。你可以根据喜好配置该拓展。
注意:Super-`默认提供“切换窗口”功能。
自启动
GNOME提供XDG Autostart。
gnome-tweaks包 程序可以用来管理自启动项。
gnome-tweaks命令启动Tweaks。见此贴。桌面
Dash to Dock
To move the dash out of the overview and turn it into a dock to以便于启动和切换应用, 安装 gnome-shell-extension-dash-to-dockAUR.
启动到概览模式
从GNOME 40开始,桌面会直接启动到概览模式,而不是桌面(如以前的版本)。若要模仿经典的行为,可以安装No overview at start-up插件。
如果你在使用gnome-shell-extension-dash-to-dockAUR,你也可以在gsettings中禁用该行为。
$ gsettings set org.gnome.shell.extensions.dash-to-dock disable-overview-on-startup true
详见此讨论。
剪贴板历史
不像其他桌面环境,GNOME 并没有内建的管理剪贴板历史的工具。你可以使用拓展。安装 gnome-shell-extension-clipboard-indicatorAUR。
天气
以展示选定地点的天气,比如状态、风速、气压等信息,请安装 gnome-shell-extension-openweatherAUR。天气信息实时更新。
音频输入输出选择
默认情况下,如果你想要选择音频输入输出设备或改变麦克风的音量,你需要打开GNOME控制中心进行配置。你可以安装gnome-shell-extension-sound-output-device-chooserAUR 或者 gnome-shell-extension-sound-output-device-chooser-gitAUR以更方便地控制他们。你可以在安装后进行更多的配置。
字体
GNOME可以设置窗体标题,界面(应用),文档及等宽字体。查看Tweaks下的字体选项卡以获得相关选项。
对于字体渲染来说,RGBA可能适合更多的显示器类型,如果字体看起来过分拥挤,可以将字体渲染调至“Slight”或“None”。
输入法
GNOME集成了的通过IBus的输入法, 只有ibus包和添加想要的输入法引擎 (例如:ibus-libpinyin包 for Intelligent Pinyin) 需要安装,安装后,输入法引擎可以加入GNOME的区域和语言设置键盘布局。
非主流键盘布局
如果您使用的是像Neo2这样使用多层/修饰键的替代键盘布局,您可能需要转到 GNOME。设置 (gnome-control-center)中的 Keyboard > Type Special Characters 将 Alternate Characters Key 从 右 Alt 改为其他键,以便它可以作为键盘布局的本地修饰键使用。将其设置为 Left Alt 会阻止 Alt+Tab 键盘快捷键,因此请小心您所更改的内容。 如果没有进行这个更改,您的左 Mod3 键可能会起作用,但右侧的一个 (AltGr) 键可能不会起作用。(截至2021-05-18)
电源
当您使用笔记本时,可能想修改以下设置,包括控制闲置、按下电源按钮和盖子关闭时的行为。
$ gsettings set org.gnome.settings-daemon.plugins.power button-power hibernate $ 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.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
笔记本合盖时不挂起
The settings panel of GNOME does not provide an option for the user to change the action triggered when the laptop lid is closed. To change the lid switch action system-wide, edit the systemd settings in /etc/systemd/logind.conf. To turn off suspend on lid close, set HandleLidSwitch=ignore, as described in Power management#ACPI events.
修改电池电量严重不足时的行为
设置面板不提供对电池电量严重不足行为的设置。这些设置也从dconf中移除。不过它们现在由upower管理。按需编辑/etc/UPower/Upower.conf中upower设置。
/etc/UPower/UPower.conf
PercentageLow=10 PercentageCritical=3 PercentageAction=2 CriticalPowerAction=HybridSleep
电源模式
安装 gnome-control-center包 的可选依赖 power-profiles-daemon 以支持电源配置文件。
由于 gnome-shell 和 GNOME 设置都请求在启动时激活 power-profiles-daemon 服务,所以不需要特意将其启动/启用。
当服务激活时,可以通过 GNOME 设置的电源选项和系统菜单管理电源配置文件。
录屏
内建的截屏工具没有默认录屏选项。安装 gnome-shell包的可选依赖 gst-plugin-pipewire包 以启用录屏功能。
使用不同的窗口管理器
GNOME Shell 不支持更改窗口管理器, 但是 GNOME Flashback 提供使用 Metacity 和 Compiz 的session。此外,可以通过自定义 GNOME sessions 来使用别的组件。
将 GNOME Shell替换为不同的 Wayland compositor 将会导致gnome-control-center包 (GNOME 设置)的部分设置显示错误。gnome-control-center 依然可以正常工作,但因为 mutter包 (GNOME Shell) 无法用于提供这些设置以填充这些区域,他们将不再奇效或无法准确反映你的设置。这些设置包括蓝牙,显示以及鼠标/触控板等。
参见
- 官方网站
- Contributing to GNOME, feature requests, bugs, code
- GNOME-shell 扩展
- 主题、图标和壁纸:
- GTK/GNOME 程序:
- 自定义 GNOME Shell
- GNOME 代码和镜像: