GNOME (简体中文)

From ArchWiki
翻译状态:本文是 GNOME翻译。上次翻译日期:2022-04-19。如果英文版本有所更改,则您可以帮助同步翻译。

GNOME(读音为/(ɡ)noʊm/)是一个追求简单易用的桌面环境。它由 GNOME项目设计,并且完全由自由开源的软件组成。GNOME默认使用 Wayland 而不是 Xorg 作为显示服务器,并同时提供多个对话可供选择:

  • GNOME是在Wayland上运行GNOME Shell的默认选项。传统的X应用使用Xwayland运行。
  • GNOME Classic通过特定的扩展和数值,提供了“传统的桌面体验”(类似GNOME2的界面)。因此,它是GNOME Shell的定制样式,而非真正的不同模式Thus。
  • GNOME on Xorg使用Xorg运行GNOME Shell。

安装

有两个软件组可用:

  • gnome包含基本的桌面环境和一些集成良好的应用
  • gnome-extra包含其它GNOME应用,如邮件客户端、IRC客户端、GNOME Tweaks和一些游戏。请注意,这个组建立在gnome之上。

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

注意: mutter是桌面的混成器。它利用硬件图形加速减少屏幕的混乱。GNOME会话管理器会自动检测显卡驱动是否能够运行GNOME Shell,如果不行则用llvmpipe软件渲染。

也可以使用不稳定版本,见Official repositories#gnome-unstable.

运行 GNOME

GNOME 可以使用显示管理器以图形方式启动,也可以从控制台手动启动(可能会缺少某些功能)。gnome的显示管理器是GDM

注意: GDM提供了GNOME的锁屏功能(及其它)支持。如果没有使用GDM启动GNOME,则需要使用其它屏幕锁定器。见List of applications/Security#Screen lockers

图形界面启动

如果安装了gnome并希望GNOME在下次启动时自动启动, 请启用gdm.service,随后可以在显示管理器的会话菜单中选择想要使用的会话:GNOME, GNOME Classic (仅在gnome-shell-extensions 已安装时显示), 或GNOME on Xorg

If you prefer to start GNOME right away, thereby avoiding a reboot, start the aforementioned gdm.service from a graphically unoccupied tty instead. 如果想立即启动GNOME以避免重启,可以从一个没有图形占用的tty上启动gdm.service以代替。

手动启动

Xorg 会话

  • 对于 GNOME on Xorg 会话,在 ~/.xinitrc 中添加(详见[1]):
    export XDG_SESSION_TYPE=x11
    export GDK_BACKEND=x11
    exec gnome-session
    
  • 对于 GNOME Classic 会话,在 ~/.xinitrc 中添加:
    export XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
    export GNOME_SHELL_SESSION_MODE=classic
    exec gnome-session
    

修改完 ~/.xinitrc 后,即可使用 startx 启动 GNOME(有关其它详细信息,例如如何保留 logind 会话,详见 xinitrc)。设置完 ~/.xinitrc 后,也可以设定在登录时自动启动X。例如要在tty1上默认启动,可以在.bash_profile中添加:

if [[ -z $DISPLAY && $(tty) == /dev/tty1 ]]; then
  XDG_SESSION_TYPE=x11 GDK_BACKEND=x11 exec startx
fi

Wayland 会话

注意: X服务器仍然需要用于运行尚未移植到Wayland的应用,详见Wayland#XWayland。使用Qt等特定图形库的应用,可以通过强制设置环境变量使用Wayland。详见Wayland#GUI libraries

可以使用 XDG_SESSION_TYPE=wayland dbus-run-session gnome-session 手动启动 Wayland 会话。或者,可以在任何可用的tty直接调用带wayland选项的gnome-shell

$ gnome-shell --wayland

请注意,手动调用Gnome不需要gdm(因此也不需要附带的gdm.service),因此对于安装了Gnome最小安装的用户来说,可以根据个人喜好,选择一些包含在更广泛的gnome组中的软件包。

若要在 tty1 登录时启动,将以下内容添加到 .bash_profile 中。Firefox和Qt应用不遵守XDG_SESSION_TYPE,所以最好给它们加上变量:

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

Wayland中的GNOME应用

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

浏览

GNOME Shell cheat sheet 中解释了如何高效地使用 GNOME shell,它展示了 GNOME shell 的特色和快捷键,包括切换任务,使用键盘,窗口控制,面板,概览模式等等。以下是部分常用的快捷键:

  • Super+m:显示消息列表
  • Super+a:显示应用菜单
  • Alt+Tab:切换当前使用的应用
  • Alt+` (美式键盘Tab上面的按键):切换正在前台使用的应用的窗口
  • Alt+F2,然后输入 rrestart:在图形界面出问题时重启界面(仅用于X/传统模式,不适用于Wayland模式)。

更多快捷键见键盘导航

Tip: 若要让Alt+Tab只在当前工作区切换应用,可以将current-workspace-only设为true
$ gsettings set org.gnome.shell.app-switcher current-workspace-only true

遗留名称

注意: 一些GNOME应用在文档和对话框中的名称已经更改,但执行文件名称却没有。下面表格列出了一些这样的应用。
提示: 在搜索栏中搜索应用的遗留名称将成功找到对应的应用,例如搜索 nautilus 会出现 文件
当前 遗留
文件 Nautilus
Web Epiphany
视频 Totem
主菜单 Alacarte
文档查看器 Evince
磁盘使用情况分析器 Baobab
图像查看器 EoG (Eye of GNOME)
密码和密钥 Seahorse
翻译编辑器 Gtranslator

配置

GNOME系统设置面板(gnome-control-center)和GNOME应用使用dconf配置系统存储设置。

您可以使用gsettings(1)命令行工具直接访问 dconf 数据库。这也可以让您修改用户界面不公开的设置。Command line tool dconf(1) can directly modify the underlying database, bypassing validation.

直到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
提示: 若要在Wayland中调整白天的色温,请安装Night Light Slider扩展

日期与时间

如果系统已有配置好的 网络时间协议 守护进程,它同样会对 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设置。

注意: GNOME 不支持 synaptics 并默认使用 libinput。参考 这个缺陷报告

网络

NetworkManager 是GNOME项目中控制网络设置的工具,它也是gnome的一部分。如果尚未安装,则安装networkmanager软件包并启用NetworkManager.service systemd单元。

虽然可以使用任何其它网络管理器,但 NetworkManager 可以使用网络设置和状态指示器 network-manager-applet( GNOME不需要 )整合到桌面环境当中。

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

在线帐户

部分在线账户,比如 ownCloud,需要安装 gvfs-goa 以在 GNOME 应用比如 GNOME 文件 以及 GNOME 文档中发挥全部功能[2]

详见在线账户

搜索

GNOME shell在按下Super键并开始输入时会启动搜索。tracker软件包默认作为gnome组的一部分被安装。它提供一个应用和数据的索引数据库。它可以被“搜索及索引”菜单项配置,通过"tracker-control"监视状态。它在用户登录时自动被"gnome-session"启动。索引可以被tracker-control -s手动启动。搜索设置也可以在系统设置中配置。

Tracker数据库可以使用"tracker-sparql“命令查询。详见tracker-sparql(1)

高级设置

如上文所述,改变GTK主题或窗口管理器主题等选项,并不会出现在GNOME设置(gnome-control-center)里。想要修改这些设置可以使用GNOME Tweaks (gnome-tweaks),这是一个展示了许多这类设置的图形化工具。

(存储在 DConf 数据库中的)GNOME设置也可以使用dconf-editor(1)(一个图形化的DConf配置工具)或gsettings命令行工具进行配置。GNOME Tweaks 不会在 GUI 背后做任何其他事情;note though that you will not find all settings described in the following sections in it.

外观

主题
Note:Gnome 42开始,许多默认的Gnome应用程序使用GTK 4和libadwaita。这些应用程序目前不支持通过gsettings或gnome-tweaks改变主题,只能通过系统设置的外观选项来调整配置。若要设置Adwaita或Adwaita-dark以外的GTK主题,见GTK#Themes

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

$ ln -s /usr/share/themes/Adwaita-dark ~/.themes/Adwaita
Note: 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
Note: 窗口管理器的主题会跟随GTK主题。使用org.gnome.desktop.wm.preferences theme的方法已被废弃和忽略。

GTK#ThemesIcons#Manually.

标题栏高度
注意: 应用此配置可以缩小不使用 GNOME风格CSD的应用程序的标题栏。带有CSD的原生GNOME应用程序不受影响。
~/.config/gtk-3.0/gtk.css
headerbar.default-decoration {
 padding-top: 0px;
 padding-bottom: 0px;
 min-height: 0px;
 font-size: 0.6em;
}

headerbar.default-decoration button.titlebutton {
 padding: 0px;
 min-height: 0px;
}

详见[3]

标题栏按钮排序

设置 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/顶部菜单栏图标

To enable AppIndicators, which is useful for controlling/monitoring certain applications running in the background, Install gnome-shell-extension-appindicator or gnome-shell-extension-appindicator-gitAUR, restart the GNOME Shell, then enable the AppIndicator extension in the GNOME Extensions application or by running $ gnome-extensions enable $(gnome-extensions list | grep -m 1 appindicatorsupport)

应用列表中的文件夹

提示: gnome-catgen (gnome-catgen-gitAUR) 脚本允许您通过创建~/.local/share/applications-categories}下与分类同名的文件并在文件中包含您想包括在内的应用。或者,您可以使其在没有文件夹的情况下遍历各个应用直到您摁下Ctrl+c或遍历完应用,然后输入想要的文件夹名称

dconf-editor中导航至 org.gnome.desktop.app-folders 并设置folder-children的值为一个由逗号分隔的文件夹的序列:

['Utilities', 'Sundry']

使用gsettings加入应用:

$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ apps "['alacarte.desktop', 'dconf-editor.desktop']"

上述命令将alacarte.desktopdconf-editor.desktop加入到Sundry文件夹。 该命令也创建org.gnome.desktop.app-folders.folders.Sundry

要显示文件夹名称(如果其在应用上部没有显示名称):

$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ name "Sundry"

应用也可以通过它们的分类整理 (在它们的.desktop文件中):

$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ categories "['Office']"

如果某一个应用不想被加入某一文件夹,运行下列命令以设置例外:

$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ excluded-apps "['libreoffice-draw.desktop']"

详情参考[4]Gentoo:Gnome Applications Folders.

自启动

GNOME提供XDG Autostart

gnome-tweaks 程序可以用来管理自启动项。

提示: 如果Tweaks中自启动应用选项下加号按钮为灰色不可用,尝试在终端下通过gnome-tweaks命令启动Tweaks。见此贴
注意: 已经弃用的gnome-session-properties对话框可以通过安装 gnome-session-propertiesAUR 添加。这同样提供了禁用系统范围自启动应用的功能,这是gnome-tweaks所不能做到的。

桌面

桌面图标

GNOME 3.28之前,桌面图标通过Files在桌面上绘制一个透明的带图标的窗口实现。在GNOME 3.28中,该功能被移除,桌面图标不再在GNOME上可用。可能的方案包括使用Nemo(GNOME File的一个分支,目前仍支持桌面图标)或安装gnome-shell-extension-desktop-iconsAUR插件以复刻GNOME 3.26以下支持的桌面图标功能,但略有差异。详见Arch论坛中的讨论

锁屏和背景

在设置桌面及锁屏背景的时候,注意Picture标签下只显示~/Pictures文件夹下的图片。如果您想使用不在该文件夹下的图片,请使用下列命令:

对于桌面背景:

$ gsettings set org.gnome.desktop.background picture-uri 'file:///path/to/my/picture.jpg'

对于锁屏背景:

$ gsettings set org.gnome.desktop.screensaver picture-uri 'file:///path/to/my/picture.jpg'
禁用顶部左侧的热区

从GNOME 3.34开始,可以使用以下命令禁用它:

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

或在gnome-tweaks中的顶栏 > 活动概览热区中禁用。

GNOME 42后,可在系统设置的多任务选项中禁用。

启动到概览模式

从GNOME 40开始,桌面会直接启动到概览模式,而不是桌面(如以前的版本)。若要模仿经典的行为,可以安装No overview at start-up插件。

详见此讨论

扩展

extensions.gnome.org 里可以找到扩展。只要把屏幕做上方的按钮按成 ON 然后点击弹出窗口里的 Install 就能够安装并启用那个插件了。已经安装的扩展可以在 extensions.gnome.org/local 里查看,而且还能看到哪个能够升级。用gnome-tweaks也可以开关某个扩展。

注意: GNOME/Web可以直接安装extensions.gnome.org里的扩展。其它浏览器则需先安装 chrome-gnome-shellAUR ,并安装对应的浏览器插件。

GNOME Shell 的插件自定义可以是限定于某个用户的,也可以是全局的。用 pacman 安装的扩展是全局的,而且会随着系统更新而更新。

gnome-shell-extensions 提供了包含在 GNOME project 里的(即有官方支持的)插件包,其中包含的插件有很多都会被 GNOME Classic session 使用。如果想要一个任务栏但是又不想用 GNOME Classic session,那就可以用 Window list 扩展。

用以下命令查看已启用的扩展:

$ gsettings get org.gnome.shell enabled-extensions

上述命令可能会列出已经删除的扩展。若要只列出已启用已安装的扩展,使用gnome-extensions

$ gnome-extensions list --enabled

更多有关GNOME Shell的信息,见[5]

字体

提示: 如果您把"Scaling factor"调至1.00以上的某值,辅助功能菜单将自动启用

GNOME可以设置窗体标题,界面(应用),文档及等宽字体。查看Tweaks下的字体选项卡以获得相关选项。

对于字体渲染来说,RGBA可能适合更多的显示器类型,如果字体看起来过分拥挤,可以将字体渲染调至“Slight”或“None”。

WEBP,缩略图

安装webp-pixbuf-loader使GNOME的图像查看器(eog)能够查看WEBP图像并为其创建缩略图,以便在GNOME Files中查看。

输入法

GNOME集成了的通过IBus的输入法, 只有ibus和添加想要的输入法引擎 (例如:ibus-libpinyin for Intelligent Pinyin) 需要安装,安装后,输入法引擎可以加入GNOME的区域和语言设置键盘布局。

Keyboard Layout quirks

If you are using an alternative keyboard layout like Neo2 which uses multiple layers/modifiers, you might need to go to Keyboard > Type Special Characters in GNOME Settings (gnome-control-center) and change the Alternate Characters Key away from Right Alt so that it can be used as a native modifier of the keyboard layout. Setting it to e.g. Left Alt prevents Alt+Tab, so be careful what you change it to. Without this change, your left Mod3 key might work, but the right one (AltGr) does not. (As of 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
笔记本合盖时不挂起

GNOME的设置面板并没有改变合盖触发动作的选项,但gnome-tweaks可以覆盖systemd的设置。在通用选项卡中,关闭笔记本电脑盖子关闭时挂起。这样,系统就不会在合盖时挂起到RAM(S3)

要系统级改变开关动作,请先确保上述设置没有关闭,并编辑/etc/systemd/logind.conf中的systemd设置。若要合盖时不挂起,请设置HandleLidSwitch=ignore,详见Power management#ACPI events

修改电池电量严重不足时的行为

设置面板不提供对电池电量严重不足行为的设置。这些设置也从dconf中移除。不过它们现在由uppower管理。按需编辑/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服务,所以不需要特意将其启动或启用

When the service is active, power profiles can be managed through the Power section of GNOME Settings and in the system menu. 当服务激活时,可以通过GNOME设置的电源选项和系统菜单管理电源配置文件。

使用其它window manager

GNOME Shell 不支持更改 window manager, 但是 GNOME Flashback 提供使用 Metacity 和 Compiz 的session。此外,可以通过 自定义 GNOME sessions 来使用别的组件。

参见