GNOME (简体中文) - ArchWiki

Jump to content

# GNOME (简体中文)

From ArchWiki

相关文章

- Desktop environment (简体中文)
- Display manager (简体中文)
- Window manager (简体中文)
- GTK (简体中文)
- GDM (简体中文)
- GNOME/Tips and tricks (简体中文)
- GNOME/Troubleshooting (简体中文)
- GNOME (简体中文)/Files (简体中文)
- GNOME (简体中文)/Gedit (简体中文)
- GNOME/Web
- GNOME/Evolution
- GNOME/Flashback
- GNOME (简体中文)/Keyring (简体中文)
- Cinnamon (简体中文)
- MATE
- Official repositories#gnome-unstable

翻译状态：本文是 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.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模式）。

更多快捷键见键盘导航。

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不需要 ）整合到桌面环境当中。

注意： 用networkmanager的nmtui设置隐藏的无线网络不会自动连接。您需要在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#Themes和Icons#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'

提示： 冒号表示窗口标题栏按钮出现的方向

###### 最大化时隐藏标题栏

- Install gnome-shell-extension-gtktitlebar-gitAUR，在最大化时移除标题栏，非GTK窗口.

- 安装 gnome-shell-extension-pixel-saver-gitAUR或gnome-shell-extension-pixel-saverAUR。最大化窗口的标题栏将与活动栏整合以节省空间。

##### 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.desktop`及`dconf-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 来使用别的组件。

## 参见

- 官方网站
- Contributing to GNOME, feature requests, bugs, code
- GNOME-shell 扩展
- 主题、图标和壁纸：
  - GNOME Art
  - GNOME 外观
- GTK/GNOME 程序：
  - GNOME 文件管理
  - GNOME 项目列表
- 自定义 GNOME Shell
- GNOME 代码和镜像:
  - GNOME GitLab
  - GNOME Github 镜像

Category:

- Desktop environments (简体中文)