GNOME
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包 单独安装它。
也可以使用不稳定版本,见官方软件仓库#gnome-unstable。
运行 GNOME[编辑 | 编辑源代码]
GNOME 可以使用显示管理器以图形方式启动,也可以从控制台手动启动(可能会缺少某些功能)。gnome包组的显示管理器是GDM。
图形界面启动[编辑 | 编辑源代码]
如果安装了gnome包组并希望GNOME在下次启动时自动启动, 请启用 gdm.service
,随后可以在显示管理器的会话菜单中选择想要使用的会话:GNOME、GNOME 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 会话[编辑 | 编辑源代码]
可以使用 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模式)。
更多快捷键见键盘导航。
Alt+Tab
只在当前工作区切换应用,可以将current-workspace-only
设为true
:
$ gsettings set org.gnome.shell.app-switcher current-workspace-only true
遗留名称[编辑 | 编辑源代码]
当前 | 遗留 |
---|---|
文件 | 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项目中控制网络设置的工具,它也是gnome包组的一部分。如果尚未安装,则安装networkmanager包软件包并启用NetworkManager.service
systemd单元。
虽然可以使用任何其它网络管理器,但 NetworkManager 可以使用网络设置和状态指示器 network-manager-applet包( 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默认使用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
的方法已被废弃和忽略。标题栏高度[编辑 | 编辑源代码]
~/.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-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/顶部菜单栏图标[编辑 | 编辑源代码]
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)
来以命令行方式启用它。
应用列表中的文件夹[编辑 | 编辑源代码]
~/.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包 程序可以用来管理自启动项。
gnome-tweaks
命令启动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 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]。
字体[编辑 | 编辑源代码]
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 Characters 将 Alternate Characters Key 从 Right 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 来使用别的组件。
参见[编辑 | 编辑源代码]
- 官方网站
- Contributing to GNOME, feature requests, bugs, code
- GNOME-shell 扩展
- 主题、图标和壁纸:
- GTK/GNOME 程序:
- 自定义 GNOME Shell
- GNOME 代码和镜像: