GNOME (简体中文) - ArchWiki

# GNOME (简体中文)

相关文章

- Desktop environment
- Display manager
- Window manager
- GTK+
- GDM
- GNOME Files
- Gedit
- Epiphany
- GNOME Flashback

GNOME 是一个由 GNOME 项目开发的桌面环境。

GNOME 项目使用最新的科技，为用户从头打造了全新的现代桌面——GNOME 3。它有以下特性：

- 提供了一个现代化的默认视觉主题和字体
- 能让您轻松访问所有窗口和程序的活动视图
- 内置整合的桌面消息服务
- 集成改进的 GNOME Files 文件管理器
- 综合系统通知服务
- 新的系统设置程序
- 快速的活动搜索功能
- 还有更多特色：窗口平铺

参阅GNOME 3网站以获取更多信息。

## 简介

GNOME 3 提供了3种用户界面：Gnome Shell(新的标准布局)、备用模式(Fallback Mode)以及GNOME on Wayland。GNOME 会话会自动检测您的计算机是否适合运行 GNOME Shell，若不适合则会自动选择备用模式。

备用模式(在您使用 gnome-panel 和 Metacity 来取代 GNOME Shell 和 Mutter 时)非常类似 GNOME 2 布局。

您仍然可以在使用备用模式时将 Metacity 更换为您喜欢的窗口管理器。

GNOME on Wayland 使用新开发的 ‘’‘Wayland’‘’ 协议运行 GNOME Shell，同时使用 XWayland 运行传统的 X 应用程序。

## 在新系统上安装

GNOME 3 在 [extra] 软件库中。 以下软件包（组）包含了 GNOME 的组件：

gnome-shell 软件包提供了最小的桌面环境。

gnome 包组包含基本桌面环境和软件，以提供标准的 GNOME 体验。

gnome-extra 包组包含剩余的可选工具，例如文本编辑器、压缩文件管理器、光盘烧录工具、邮件客户端、游戏、开发工具及其它非必需的软件。这些软件与 GNOME 桌面的集成很好。假如您不想安装 GNOME 全部的软件包，在安装它的时候注意看软件包描述（或者你可以先安装再删除他们）。

单独安装 gnome-extra 软件包组不会引入 gnome 包组。因此如果你需要一个 GNOME 桌面环境，你必须安装 gnome 软件包组，至少需要安装 gnome-shell。同时，安装 gnome-extra 不意味着你想要 gnome 中的一切。

举例：

    # pacman -S gnome

选择你想要从 gnome-extra 组中想要使用的应用程序，不必安装整个软件包组。

    # pacman -S gnome-extra

### D-BUS 守护进程

GNOME 桌面依赖 D-Bus 守护进程以正确运行，参照 dbus 来设置。

### 运行 GNOME

图形化登录

Note:

- 为了最佳的桌面整合体验，推荐使用 GDM 登录管理器。
- 如果不使用 GDM，你将无法体验到对锁屏的原生支持。

其它登录管理器，如 SLiM, KDM 和 LightDM 也能运作。参阅 显示管理器 来了解桌面环境的启动。

可以在登录管理器中选择 GNOME', GNOME Classic 或 GNOME on Wayland 作为登录选项。

登陆管理器为系统提供一个有限的控制，全局系统控制请参考 PolicyKit wiki 页面(out of date) 。

使用以下命令以安装 GDM：

    # pacman -S gdm

手动启动 GNOME

Note: GNOME on Wayland 无法使用 startx 或 `~/.xinitrc`启动。

如果您更喜欢从控制台下启动 GNOME，把下面一行添加到您的`~/.xinitrc`文件中:

    ~/.xinitrc

     exec gnome-session

现在 GNOME 将在您使用`startx`时启动。

详情参阅xinitrc。

Note: GNOME on Wayland 需要 xorg-server-xwayland 软件包。 按照安装指南，它也可以采用以下命令手动启动： `gnome-session --session=gnome-wayland`

详情请参阅: Wayland, Wayland#GNOME.

Wayland 中的 GNOME 应用程序

根据当前的默认情况，GNOME 应用程序会利用 XWayland，以传统 X 应用程序的方式运行。若需在 Wayland 下测试 GNOME 应用，请以命令行方式运行程序，并加上以下前缀： `env GDK_BACKEND=wayland <command>`。

Note: 可以设置全局的 Wayland 环境，使用 `env GDK_BACKEND=wayland gnome-session --session=gnome-wayland`。 但是现在无法工作—— gnome-session 会立即闪退.

请查看以下页面以了解开发进展： GNOME Applications under Wayland.

## 使用 GNOME shell

### GNOME 小抄

您可以阅读这篇文章： GNOME Shell cheat sheet 以了解如何高效地使用 GNOME shell，它展示了 GNOME shell 的特色与使用捷径。文章内容包括怎么切换任务，使用键盘，窗口控制，使用面板，预览模式等。

### 实用快捷键

恰当地使用一些快捷键会极大地提升你的使用体验：

- `Super`： 进入预览模式
- `Super` + `m`： 显示消息托盘
- `Super` + `a`：显示应用程序菜单
- `Alt` + `F2`：输入命令以快速启动应用
- `Alt` + `F2`，然后输入 `r` 或 `restart`，再 `Enter`：重启 GNOME shell。这一条在你遇到 shell 图形界面错误时十分有用。

### 重启 GNOME shell

当修改过界面之后你可能需要重启 GNOME shell。你可以重新登陆，不过有一个简单快捷的方法。 按 `Alt` + `F2` 再输入 `r` 再 `Enter`

### GNOME Shell 崩溃

一些特定的微调或者经常性重启 Shell 会导致 shell 在将要重启的时候崩溃。这个时候你必须做好心理准备，然后强制注销。有一些修改，例如在GNOME Shell 和 fallback mode, 之间切换，不能简单地使用 r 重启；必须重登陆来应用这个效果。

丑话说在前面，在重启 shell 前请先把有用的文档保存（或者关闭）。虽然这不是必要的，因为窗口和文档在重启了 shell 之后应该还在。

## Pacman 整合：GNOME PackageKit

Warning: 对于 Gnome 3.12，使用 packagekit 的 pacman 整合过期严重。它会在 GNOME 3.14 中被升级、修复以正常运行。[1]

GNOME 有自己的 Pacman 图形化程序： gnome-packagekit

使用 alpm 作为后端，它支持以下功能：

- 从软件仓库安装、卸载软件包；
- 周期性地更新软件包数据库并实行升级；
- 用 tarball 安装软件包；
- 根据名称、描述及文件分类搜索软件包；
- 显示软件包的依赖、所含文件和反向依赖关系；
- 忽略 IgnorePkgs 及保持 HoldPkgs；
- 提示可选依赖、.pacnew 文件，等等。

你可以通过设置 DConf key `org.gnome.packagekit.enable-autoremove` 来改变 `remove` 操作究竟采用 -Rc 还是 -Rsc 选项。

### 软件包更新通知

如果你想让 GNOME 自动检查更新，你必须从 AUR 里安装 gnome-settings-daemon-updates 这个软件。

## 定制 GNOME 外观

### 外观概览

GNOME 3 是重新设计的，但是像大多数大型软件项目一样，他是很多不同时间的部分组装起来的。他没有一个 无所不包 的配置工具。新的 系统设置 比以前的控制面板有很大的改进。 系统设置 组织得很好，但是你可能想要更深层次地改变外观。

以前你所熟悉的配置工具现在有的好用，有的不好用了。有些设置选项隐藏着，不太容易找到。许多设置将会，或已经迁移到了新的工具上。你需要了解应当去哪里寻找适当的设置项，才能更好地配置 GNOME 外观。

### 配置工具简述

GNOME 桌面环境依赖于一个存储配置的数据库后端（DConf）来存储 GNOME 与 GNOME 应用的设置。安装桌面环境时，GNOME 提供一套默认的配置，而各类应用程序向数据库中添加它们自己的配置。

对用户来说，最基础而直观的配置方式莫过于使用 GNOME 系统设置面板（gnome-control-center），以及 GNOME 应用程序各自的首选项（preferences）面板。如果您愿意，直接在 DConf 数据库中进行修改与配置总是可行的，尤其是在某些设置选项没有暴露在用户界面的情况下，直接修改可以更改某些隐藏选项。

GNOME 的这些配置通常是用户间相互独立的。以下文字仅供单用户配置所用，并没有提及更改全局配置模板的方法。

#### GNOME 系统设置面板

系统设置工具包括了一些最基础的 GNOME 环境配置选项。

##### 色彩设置

`colord` 守护进程读取显示器的 EDID信息，并提取出合适的色彩配置内容。大多数情况下，自动色彩配置都是正确的，不需要额外设置；但是对于可能出现的偏差情况，例如使用较旧的显示器时，您可以将色彩配置文件放在 `~/.local/share/icc/` 下，并在设置面板里启用。

##### 日期与时间

如果系统已有配置好的 NTP 守护进程，它同样会对 GNOME 桌面环境起作用。如果需要，您也可以手动控制进行同步。

如需在顶栏显示日期，请运行：

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

另外，如需在 shell 的日历中显示周数，请运行：

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

当然，以上配置均可以在 `gnome-tweak-tool` 里完成。

#### Gsettings 与 DConf

DConf 是被 GNOME 所用，存储自身的设置的数据存储。它能被图形程序 `dconf-editor` ，或命令行的 `gsettings` 工具编辑。 设置文件存储为二进制格式，而不是像以前一样使用 XML。在 Customizing the GNOME Shell 有个展现 gsettings 威力的好教程。

#### GNOME tweak tool

这个工具可以定制字体，主题， 标题栏，插件和其它一些实用的设置。对于想要美化 GNOME 桌面环境的用户来说，随着 GNOME 设置面板的精简化，这个工具变得愈加重要。

使用以下命令以安装 GNOME tweak tool：

    # pacman -S gnome-tweak-tool

3.0.3 之后的版本只有在 gnome-shell 安装的时候才工作（假如你使用 fallback mode，你一样要安装 shell，这是一个 bug）。 Bugzilla bug report here.

### 修改默认主题

除了以下所述的直接从底层修改主题的方法，您也可以使用 `gnome-tweak-tool` 工具进行修改。

#### 通过修改 settings.ini 改变 GTK3 主题

就像用 `~/.gtkrc-2.0` 配置 GTK2 主题一样，我们用 `${XDG_CONFIG_HOME}/gtk-3.0/settings.ini` 来配置GTK3主题。

`$XDG_CONFIG_HOME` 变量一般设置为 `~/.config`

GNOME3默认主题为Adwaita，他是 `gnome-themes-standard` 的一部分。别主题可以在这里找到 Deviantart 网站。举例：

    ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini

      [Settings]
      gtk-theme-name = Adwaita
      gtk-fallback-icon-theme = gnome
      # next option is applicable only if selected theme supports it
      gtk-application-prefer-dark-theme = true
      # set font name and dimension
      gtk-font-name = Sans 10

重启 GNOME shell 来应用设置。更多的 GTK 选项可以在这里找到GNOME 开发人员文档。

#### 图标主题

使用 gnome-tweak-tool v. 3.0.3 及之后的版本设置,把你想要设置的图标主题放在 `~/.icons`。

通常，GNOME3的图标主题和GNOME2的兼容，你不必为默认图标锁住。把你钟爱的图标主题文件夹放在 `~/.icons` 里面。例如：

    $ cp -R /home/user/Desktop/my_icon_theme ~/.icons

你可以在 `gnome-tweak-tool` 的 interface 里面应用新的鼠标主题 my_icon_theme 。

或者,你可以选择不使用 `gnome-tweak-tool` 直接修改配置文件。添加GTK图标主题到 `${XDG_CONFIG_HOME}/gtk-3.0/settings.ini`。注意，不要使用引号。

    ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini

    ... previous lines ...

    gtk-icon-theme-name = my_new_icon_theme

### GNOME Files

GNOME Files，即 nautilus，为 GNOME 默认的文件管理器。

#### 移除侧边栏计算机中的文件夹

显示的文件夹在 `~/.config/user-dirs.dirs` 里配置，他可以被任何编辑器直接修改。运行 `xdg-user-dirs-update` 来应用修改。但是建议设置文件权限为只读。

#### 地址栏显示文本路径

标准的 Files 工具栏用按钮来显示路径。想要从键盘输入，你需要使它显示文本路径。按 `Ctrl` + `L` 就可以完成。

假如你想让它始终显示为文本路径，用 gsettings 如下所示。

    $ gsettings set org.gnome.nautilus.preferences always-use-location-entry true

注意: 这样修改之后，你不能回到按钮路径。只有在设置为 false 的情况下，可以通过快捷键来使两种模式都可用。

### GNOME 面板

#### 在时间栏显示日期

默认 GNOME 在顶栏只显示星期和时间。可以通过下面的命令修改，修改立即生效。

    # gsettings set org.gnome.shell.clock show-date true

#### 隐藏顶部面板的图标

在登录 GNOME 时，顶部面板可能会出现一些不需要的图标。通过编辑 GNOME 面板脚本来移除这些图标。

例如，要想移除 universal access icon。从 AREA_ORDER 行中移除 'a11y'，并注释掉 AREA_SHELL_IMPLEMENTATION 行中的 'a11y'。

修改

    /usr/share/gnome-shell/js/ui/panel.js

    const STANDARD_STATUS_AREA_ORDER = ['ally', 'keyboard', 'volume', 'network', 'bluetooth', 'battery', 'userMenu'];
    const STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION = {
        'a11y': imports.ui.status.accessibility.ATIndicator
        'volume': imports.ui.status.volume.Indicator,
        'battery': imports.ui.status.power.Indicator,
        'keyboard': imports.ui.status.keyboard.XKBIndicator,
        'userMenu': imports.ui.userMenu.UserMenuButton
    };

为

    /usr/share/gnome-shell/js/ui/panel.js

    const STANDARD_STATUS_AREA_ORDER = ['keyboard', 'volume', 'network', 'bluetooth' 'battery', 'userMenu'];
    const STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION = {
        //'a11y': imports.ui.status.accessibility.ATIndicator
        'volume': imports.ui.status.volume.Indicator,
        'battery': imports.ui.status.power.Indicator,
        'keyboard': imports.ui.status.keyboard.XKBIndicator,
        'userMenu': imports.ui.userMenu.UserMenuButton
    };

保存并重启 gnome-shell 查看结果。

1. `Alt+F2`
2. `r`
3. `Enter`

#### 去掉注销时的延迟

按照下面的方法修改来去掉注销的确认和 60 秒的延迟。

这个对话框一般出现在你用状态菜单注销的时候。这个修改对于 关机 也生效。这个不是全局修改，只对使用该命令的用户生效。使用该命令立即生效。

    $ gsettings set org.gnome.SessionManager logout-prompt 'false'

### 活动视图

#### 从应用程序视图移除应用程序项目

GNOME 用 .desktop 文件来填充应用程序视图。这些纯文本文件位于`/usr/share/applications`。 GNOME Files 不把他们识别为纯文本文件，你不能直接在文件夹视图中编辑他们。使用终端显示或编辑它们

    # ls /usr/share/applications
    # nano /usr/share/applications/foo.desktop

要想系统全局修改，直接编辑`/usr/share/applications`中的文件。要想只对自己生效，把 foo.desktop 复制到home文件夹：

    $ cp /usr/share/applications/foo.desktop ~/.local/share/applications/

你可以按照你的想法编辑 .desktop 文件。

注意: 删除一个 .desktop 文件并不卸载软件，只是删除他的桌面特性（如文件关联，快捷键等）。

添加下列选项到 .desktop 文件来使 foo 不再显示在应用程序视图：

    $ echo "NoDisplay=true" >> foo.desktop

#### 怎样改变应用程序图标大小

对于很多人来说，一个很怪异的事情就是 GNOME 3 的图标大小。当遇到一个小屏幕加很多程序的时候很痛苦。 很高兴这里有一个方法能改变这中情况，修改 GNOME shell 主题。

直接修改系统文件夹(别忘了备份)或者复制到你的用户文件夹。对于默认主题，修改`/usr/share/gnome-shell/theme/gnome-shell.css`

对于用户主题，修改`/usr/share/themes/<UserTheme>/gnome-shell/gnome-shell.css`

修改 gnome-shell.css ，用下面的值替换。然后#重启 GNOME shell

    gnome-shell.css

     .icon-grid {
         spacing: 18px;
         -shell-grid-item-size: 82px;
     }

     .icon-grid .overview-icon {
         icon-size: 48px;
     }

默认主题的小图标版在AUR上提供。

#### 禁止鼠标接触 hot corner（左上角）切换活动视图

要禁用这一功能，编辑`/usr/share/gnome-shell/js/ui/layout.js`（Gnome 3.0.x中是panel.js）文件的这一段：

    layout.js

     this._corner = new Clutter.Rectangle({ name: 'hot-corner',
                                           width: 1,
                                           height: 1,
                                           opacity: 0,
                                           reactive: true });icon-size: 48px;
     }

把reactive的值true修改为false，#重启 GNOME shell即可。

### 标题栏

#### 减少标题栏高度

    # sed -i '/title_vertical_pad/s|value="[0-9]\{1,2\}"|value="0"|g' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml

重启 GNOME shell，这会修改垂直间距从14到0，给你更时尚的外观。

想要恢复默认值，从官方软件仓库中安装 gnome-themes-standard

#### 标题栏按钮重新排序

- 对较旧的 GNOME 环境，通过 gconf-editor 来修改。

举个例子，把关闭和最小化按钮移大左边。打开 gconf-editor，找到 `desktop.gnome.shell.windows.button_layout` 键，修改他的值为 `close,minimize:` （冒号就是左边与右边之间的空格）。

你可以修改为你需要的按钮，但是一个按钮不能出现两次。同时，一些按钮已经被抛弃了。重启 GNOME shell 看看效果。

- 对较新的 GNOME 版本，需要使用 dconf-editor 修改。具体步骤示例如下：

打开 dconf-editor ，找到 `org.gnome.desktop.wm.preferences.button-layout` 键，或者 `org.gnome.shell.overrides.button-layout` 键。对前者，可以修改它的值为 `menu:minimize,maximize,spacer,close`，对后者，可以修改它的值为 `:minimize,maximize,close`。后者会覆盖前者的设置。一般无需重启 GNOME shell 即可产生效果。

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

    # sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml

重启 GNOME shell， 这样修改之后你会发现你很难去离开最大化状态。

用合适的按键组合， `Alt` + `F5`, `Alt` + `F10` 或 `Alt` + `Space` 解决这个问题。

为了防止 `metacity-theme-3.xml` 在每次 gnome-themes-standard 升级的时候都被覆盖，添加文件名和 `NoUpgrade`到 `/etc/pacman.conf`

    /etc/pacman.conf

    ... previous lines ...

    # Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
    # IgnorePkg   =
    # IgnoreGroup =

    NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml    # Do not add a leading slash to the path

    ... more lines ...

恢复默认主题设置，安装gnome-themes-standard。

### 登录屏幕

#### 登录管理器壁纸

在会话变量被如上设置之后，你就可以发出命令检索或者设置 GDM 项目。

最简单的方法是使用配置编辑器图形界面：

    $ dconf-editor

设置的位置和下面的命令行一样。

下面是用命令行检索和设置 GDM 壁纸。

    $  GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri
     $  GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/gnome/SundownDunes.jpg'

     $  GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options 'zoom'
     ## Possible values: centered, none, scaled, spanned, stretched, wallpaper, zoom

注意: 你必须指定一个 "gdm" 有读权限的文件，GDM不能读你的home文件夹。

另外还有一种可以在图形界面改变主题 (gtk3, 图标和鼠标)、壁纸和其他细小的设置 GDM 登陆屏幕的方法，你可以从 AUR 安装 gdm3setup.

#### 登录界面大字体

这个修改用 scaling factor 放大你的登陆界面字体。就像在桌面上你使用辅助功能一样。

在做这个修改之前，你必须 export GDM会话变量。

    $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.interface text-scaling-factor '1.25'

#### 关闭声音

这个调整让你在登录界面通过快捷键禁用声音反馈。你必须首先 export GDM会话变量。

    $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds 'false'

如果上面的调整不工作或者你无法 export GDM 会话变量，有一个比真正解决更容易的解决方法：在登陆时用键盘多媒体键静音或者降低音量。

#### 按电源键启用交互界面

默认安装设置电源键功能是休眠。关机或显示会话或许会更好一点。你必须首先 export GDM会话变量。

     $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-power 'interactive'
     $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-hibernate 'interactive'
     $ gsettings list-recursively org.gnome.settings-daemon.plugins.power

#### 改变 GDM 的键盘布局

由于 GDM 无视您的 GNOME 3 键盘设置，您得在 Xorg 配置文件中设置您的键盘布局。参阅此处： Beginner's Guide.

### 其他技巧

参见：GNOME Tips (简体中文)。

## 杂项设置

#### 登录 GNOME 3 后自动启动程序

您可以使用gnome-session-properties工具来指定登录后自动启动的程序。它是gnome-session包的一部分。

    $ gnome-session-properties

在 GNOME 3.12 之后，gnome-session-properties 工具不再被推荐使用。如需指定那些程序应在登录后自动运行，请使用 gnome-tweak-tool' 或者通过手动方式编辑，如[[2]]所描述。

Tip: 一些用户反映在使用 Gnome 的 Overview 页面启动 `gnome-tweak-tool` 后无法添加自动启动程序。有时，从命令行下启动它能够解决问题。这个问题可以由以下页面所描述的方式来解决： post。但是，用户仍然不能添加任何自定义的自启程序，例如自定义启动脚本。
gnome-session-properties 仍然可以在 AUR 中找到。

#### 登录 GNOME 3 后启用 numlock

从 [community]软件库中安装numlockx。然后添加一个自动启动命令运行numlockx。

    # pacman -S numlockx
    $ gnome-session-properties

上面的命令打开启动应用程序首选项。点击 添加 ，输入以下内容：

Name: | Numlockx
Command: | /usr/bin/numlockx on
Comment: | Turns on numlock.

这个不是系统全局的改变，为你的每个用户重复上述步骤。

#### 移动对话窗口

对话窗口默认配置为不可移动，某些情况下很不方便。可以使用gconf-editor更改这一配置。修改以下配置：

    /desktop/gnome/shell/windows/attach_modal_dialogs

修改后重启 GNOME Shell 即可。

### GNOME Shell 扩展

注意: 通过 The GNOME Shell browser plugin（即 extensions.gnome.org）安装扩展的方法暂时无法在 Chrome/Chromium 35 或更高的版本上进行。用户应当采用其它对网页安装更兼容的浏览器进行安装，如 Firefox (简体中文) 或 GNOME Web。

GNOME Shell 可以使用第三方扩展来定制。这些扩展提供了一些额外的功能，如：提供一个可以一直显示的 Dock、更换 Shell 的主题，等等。

名为 gnome-shell-extensions 的软件包提供了一组由 The GNOME Project 维护，被当做 GNOME 计划的一部分的扩展，其中许多扩展被用在了 GNOME Classic 会话环境中。（最新版本的扩展你可以用他的代码 snapshot）列表在这里

     $ pacman -Ss gnome-shell-extension

另外，有许多扩展被收集并托管在了extensions.gnome.org 上。你可以在浏览器中浏览扩展列表，并轻松地一键点击来安装、管理、启用扩展。你可以在 这里找到有关插件的更多信息。

你也可以在 AUR里面找到一些有用的扩展。当然，它们大多也可以在 extensions.gnome.org 找到。一些值得一提的是：

- gnome-shell-extension-lockkeys-git 一个指示 NumLock/CapsLock 激活情况的扩展。
- gnome-shell-extension-weather-git 一个可以显示天气通知的扩展。
- gnome-shell-extension-nohotcorner-git 一个禁用“Hot Corner”功能的拓展。
- gnome-shell-extension-insensitive-message-tray-git 使鼠标在屏幕底部激活信息托盘的行为变迟钝的拓展。
- Alternative Status Menu 让你的用户菜单里显示休眠和关机的扩展。

另外，想要在屏幕底部显示一个任务栏，但又不想使用 GNOME Classic 的用户可以考虑使用 Window list 扩展 (由 gnome-shell-extensions 提供).

在安装完一个扩展之后可能需要重启 GNOME shell 。故障排除信息参照安装扩展导致GNOME停止工作。

### 通过控制台设定默认虚拟终端

`gsettings`在 GNOME 3 中代替了`gconftool-2`。它可以被用来手动设置如默认终端。这一设定与nautilus-open-terminal相关。

使urxvt作为进程运行的命令如下：

    $ gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc
    $ gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"

Note: 对于 nautilus-open-terminal,你需要设置一个参数(如 `-e`)，这样他就能自动`cd`到你所在的文件夹。

### 中键模拟

GNOME 3 禁止中键模拟功能，无论你 Xorg 怎么设置(Emulate3Buttons)。用下列命令打开他：

    gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true

### Xmonad

Xmonad 是一个平铺窗口管理器。

升级到GNOME3会让你的xmonad设置失效。启用备用模式，添加两个文件是它生效

      /usr/share/gnome-session/sessions/xmonad.session

    [GNOME Session]
    Name=Xmonad session
    RequiredComponents=gnome-panel;gnome-settings-daemon;
    RequiredProviders=windowmanager;notifications;
    DefaultProvider-windowmanager=xmonad
    DefaultProvider-notifications=notification-daemon

      /usr/share/xsessions/xmonad-gnome-session.desktop

    [Desktop Entry]
    Name=Xmonad GNOME
    Comment=Tiling window manager
    TryExec=/usr/bin/gnome-session
    Exec=gnome-session --session=xmonad
    Type=XSession

下次你登录，你可以选择 Xmonad GNOME 作为你的会话。

## 启用隐藏特性

GNOME 3 隐藏了许多实用的选项，您可以使用dconf-editor去定制它们。您可以使用gconf-editor定制尚未迁移到 dconf 的选项。

### 改变热键

在dconf-editor中，启用org.gnome.desktop.interface "can-change-accels"。

一个改变移动文件到回收站的快捷键的例子： GNOME Files默认设置是 `Ctrl` + `Delete`。

- 打开GNOME Files，选择任意文件，点击菜单栏的 编辑。
- 鼠标悬停在 移动到回收站 菜单项上。
- 悬停时，按下 `Delete` ，默认快捷键会被重置。
- 现在按下您想设作快捷键的按键。
- 再次按下 `Delete` ，快捷键会变为 `Delete` 。

确认您已经选中一个文件，否则"移动到回收站"菜单项会是灰色不可用的。您应当在此之后禁用 "can-change-accels" 以防止意外的快捷键改变。

### 如何通过状态栏菜单关机

现在用户点击右上角的状态栏菜单时会发现，关机选项似乎被隐藏了起来。如果您想通过状态栏菜单关闭您的系统，点击它，然后按下`Alt`。"待机"选项将立刻变为"关机..."，它将使您能正确地关闭您的系统。

如果你全局禁用了休眠在 此文档别的地方，你不需要做这个步骤。

您也可以安装 "Alternative Status Menu" 扩展。这将在通常状态菜单中的"挂起"选项下新增一个常驻的"关机..."选项。

## 启用集成的消息(Empathy)

Empathy是集成消息系统背后的引擎。所有基于您的消息账户的系统设置将不会出现，除非 telepathy 组的软件包或至少其中一个后端（例如：telepathy-gabble或telepathy-haze）被安装。

这些软件包没有被默认的 Arch GNOME 安装所包括，Empathy 也没有给出很好的错误信息提示，它未能开始在后台运作。您可以通过以下命令安装它们：

    # pacman -S telepathy

没有telepathy，empathy就不能打开账户管理并且停留在这个状态。就算你把empathy干净地退出，/usr/bin/empathy-accounts还会继续运行，在你新建账户之前，你必须杀掉他。

在Freedesktop.org Telepathy Wiki查阅telepathy组件。

## 启用备用模式

如果 gnome-shell 不存在或您的显卡不支持混成特效的话，您的会话将自动以备用模式启动。

如果您想在安装了 gnome-shell 的情况下启用备用模式 (Fallback Mode) 的话，打开系统设置。打开系统信息>图形。把强制使用备用模式调为`开启`。

你也可以选择用gsettings命令来选择会话类型。

    $ gsettings set org.gnome.desktop.session session-name 'gnome-fallback'

重新登录应用设置。禁用备用模式，用'gnome' 代替 'gnome-fallback'。

## 疑难解答

### GNOME 登录需要花很长的时间

用paprefs察看你是否启用PulseAudio Network 。只要有任何音频设置启用了，在启动后gnome挂起大约一分钟。

一个方案是新建一个用户，用新建的用户登录。另一个方案是移动`~/.gconf`, `~/.gconfd` 和 `~/.config/dconf`文件夹到别的地方。重登录看问题是否还在。

如果不再延迟，一个个尝试你的设置，看看是哪个导致的错误。

### 安装扩展导致 GNOME 停止工作

如果安装这些扩展导致 GNOME 停止工作，那您必须首先将 user-theme 和 auto-move-windows扩展从它们的安装文件夹中移除。

安装目录可能是`~/.local/share/gnome‑shell/extensions`,`/usr/share/gnome‑shell/extensions` 或 `/usr/local/share/gnome‑shell/extensions`中的一个。删除这两个扩展文件夹可能解决问题。如果不能，逐个扩展尝试。

移除或添加扩展到这些文件夹会将它们从系统移除或安装。更多有关GNOME Shell扩展的信息可以在这里 找到。

### 扩展在 GNOME 3 升级后不工作了

找到扩展的安装目录，可能是 `~/.local/share/gnome-shell/extensions` 或 `/usr/share/gnome-shell/extensions`.

编辑扩展子文件夹中的每一个 `metadata.json`

Insert: | `"shell-version": ["3.0"]`
Instead of (for example): | `"shell-version": ["3.0.1"]`
You might instead use: | `"shell-version": ["3.0.0", "3.0.1", "3.0.2"]`

"3.0" 是最好的选择，这个表示扩展能在所有 3.0.x GNOME Shell版本下工作。

### 从休眠恢复后屏幕没有锁

只有从 GNOME 状态菜单睡眠，菜单才会锁定。如果你用电源键睡眠或者休眠，在恢复后屏幕不会锁定。这是一个 dconf 的配置文件错误。

打开dconf-editor ，找到 org.gnome.power-manager.，去掉 `lock-use-screensaver` 的对勾。

    # gsettings set org.gnome.power-manager lock-use-screensaver 'false'

现在你用状态菜单，电源键或者快捷键休眠，睡眠，恢复的时候你的屏幕应该被锁定了。Bug report: Screen gets no more locked after suspend #Comment 8

### 只有 conky 运行时键盘快捷方式不工作

gnome-shell 键盘快捷方式(如 Alt+F2,Alt+F1 和多媒体键快捷方式)当只有 conky 运行时不会工作。然而如果另一个程序(例如 gedit)在运行，键盘快捷方式就可以工作了。

解决方式：编辑 .conkyrc

    own_window yes
    own_window_transparent yes
    own_window_argb_visual yes
    own_window_type dock
    own_window_class Conky
    own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

### GTK 2+ 应用程序显示段错误无法启动

此错误往往在安装了oxygen-gtk的情况下发生。这个主题与 GNOME 3 或 GTK 3 的某一设置冲突，当它被设置成 GTK 2 主题时，GTK 2 程序会出现类似下面的段错误：

    (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance

    (firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed

    (firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed

    (firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed

    (firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed

    (firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed

    (firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed

    (firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed
    Segmentation fault

目前的"解决方法"是把oxygen-gtk从系统中完全移除并为您的应用程序设置另一个主题。

### ATI Catalyst 驱动在使用 GNOME Shell 的时候遭遇到了毛刺和伪影

目前不推荐使用 Catalyst 运行 GNOME Shell。开源的 ATI 驱动（xf86-video-ati）似乎是能正确地运行 GNOME 3 混成桌面。

注意: 有望在 Catalyst 11.9 中修复。参见 http://ati.cchtml.com/show_bug.cgi?id=99

### 多台显示器和 dock 扩展

如果你有多台显示器，并且用 Nvidia Twinview 配置，你的 dock 扩展可能会夹在显示器的中间。编辑扩展的源文件来重定位 dock。

编辑 /usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js ，在代码中找到这行：

    this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);

第一个参数是dock的X方向位置，从2改成15，dock在我的主显示器上到了正确的位置。你可以尝试几个X，Y的值来让他到合理位置。

    this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);

### Empathy和其他程序没有环境音

如果你正在使用 OSS, 你需要安装AUR上的 libcanberra-oss。

必须安装sound-theme-freedesktop包以获取默认环境声：

     # pacman -S sound-theme-freedesktop

### 通过 can-change-accels 编辑快捷键失败

也可以通过 accel map 手动设置快捷键。在哪里找到这些文件取决于应用软件，例如，Thuner 在`~/.config/Thunar/accels.scm`，GNOME Files 在 `~/.gnome2/accels/nautilus`。文件含有一系列快捷键，还未更改的快捷键用 ";" 注释，去掉注释以启用。

### 在备用模式右键点击面板停止响应

打开 gconf-editor 找到/apps/metacity/general/mouse_button_modifier，面板和 applets 也在使用快捷键 (<Alt>, <Super> 等)。

### "显示桌面"快捷键无效

GNOME 开发者认为他是一个 bug (察看 https://bugzilla.gnome.org/show_bug.cgi?id=643609 )，因为最小化被抛弃了。定义 ALT+STRG+D 为下列设置：

    系统设置 --> 键盘 --> 快捷键 --> 导航 --> 隐藏所有正常窗口

### GNOME Files 不启动

打开 gnome-tweak-tool -> File Manager -> Have file manager handle the desktop -> Off

### 不能保存显示器配置文件

如果你遇到这样的问题，尝试禁用 xrandr gnome-settings-daemon 插件：

    dconf write /org/gnome/settings-daemon/plugins/xrandr/active false

### 按触摸板锁定键不能重新启用触摸板

有一些笔记本有触摸板锁定键，这样你可以在打字的时候禁用他，不用担心碰到触摸板。但是GNOME可以正确地锁定他，却不能启用。如果触摸板已经被禁用，按下面操作解锁：

1. 按 ALT+F2 , 输入 gnome-terminal，回车
2. 输入以下命令

    xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1

### 在 GNOME Files 里面 CTRL+V 粘贴路径而不是文件

如果你被这个问题困扰，编辑 ~/.gnome2/accels/nautilus你可以发现两个 CTRL+V :

    (gtk_accel_path "<Actions>/DirViewActions/Paste" "<Control>v")
    ...
    (gtk_accel_path "<Actions>/ClipboardActions/Paste" "<Control>v")

问题在于第二项，删除他可以好过一阵子，我可能还要再去修改他。另一个方法是修改快捷键。

### 不能连接到加密 Wi-Fi

如果你可以看到 wifi 连接,但是点击加密网络却不能打开输入密码对话,你可能需要安装 network-manager-applet。察看Gnome NetworkManager setup.

### “Mutter 命令 33 尚未定义。”

当你使用 print screen 截屏的时候，出现“Mutter 命令 33 尚未定义。”。mutter 还用着 metacity 的配置文件。

    $ sudo pacman -S metacity

### “Mutter-dialig：终端命令未定义”

    $ gconftool-2 --type=string --set "/desktop/gnome/applications/terminal/exec" "gnome-terminal"

## 外部链接

- 官方网站
- 主题, 图标, 背景:
  - GNOME Art
  - GNOME Look
- GTK/GNOME 程序:
  - GNOME Files
  - GNOME Project Listing

Category:

- Desktop environments (简体中文)