GNOME

来自 Arch Linux 中文维基

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

  • GNOME是在Wayland上运行GNOME Shell的默认选项。传统的X应用使用Xwayland运行。
  • GNOME Classic通过特定的扩展和数值,提供了“传统的桌面体验”(类似GNOME2的界面)。因此,它是GNOME Shell的定制样式,而非真正的不同模式。
  • 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 软件渲染。
警告: 仅安装 gnome-shell 可能缺少部分使桌面体验更完整的软件包。若最小安装导致部分功能不按您的预期工作,请考虑更完整的安装。

也可以使用不稳定版本,见官方软件仓库#gnome-unstable

运行 GNOME[编辑 | 编辑源代码]

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

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

图形界面启动[编辑 | 编辑源代码]

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

如果想立即启动 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模式)。

更多快捷键见键盘导航

提示:若要让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 数据库。这也可以让您修改用户界面不公开的设置。命令行工具 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
提示:若要在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键并开始输入时会启动搜索。tracker3软件包是tracker3-miners的依赖项,默认作为gnome包组组的一部分被安装。它提供一个应用和数据的索引数据库。它可以被“搜索及索引”菜单项配置,通过tracker3 status监视状态。它在用户登录时自动被"gnome-session"启动。索引可以被tracker3 daemon -s手动启动。搜索设置也可以在系统设置中配置。

Tracker数据库可以使用tracker3 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.

外观[编辑 | 编辑源代码]

主题[编辑 | 编辑源代码]
注意: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
注意: 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#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/顶部菜单栏图标[编辑 | 编辑源代码]

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)来以命令行方式启用它。

应用列表中的文件夹[编辑 | 编辑源代码]

提示: 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[损坏的链接:package not found] ,并安装对应的浏览器插件。

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的区域和语言设置键盘布局。

非主流键盘布局[编辑 | 编辑源代码]

如果您使用的是像Neo2这样使用多层/修饰键的替代键盘布局,您可能需要转到 GNOME。设置 (gnome-control-center)中的 Keyboard > Type Special CharactersAlternate Characters KeyRight 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
笔记本合盖时不挂起[编辑 | 编辑源代码]

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 服务,所以不需要特意将其启动/启用

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

使用不同的窗口管理器[编辑 | 编辑源代码]

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

参见[编辑 | 编辑源代码]