跳转至内容

GNOME/技巧和窍门

来自 ArchWiki

键盘

登录时开启数字小键盘 (NumLock)

参见 启动时开启 NumLock#GNOME

热键替代方案

许多热键可以通过 GNOME 设置进行更改。例如,要重新启用显示桌面快捷键

设置 > 键盘 > 自定义快捷键 > 导航 > 隐藏所有常规窗口

然而,某些热键无法直接通过设置进行更改。要更改这些键,请使用 dconf-editorgsettings。一个值得注意的例子是 Alt+` 热键(美式键盘布局中 Tab 键上方的按键)。在 GNOME Shell 中,它预设为在应用程序的窗口之间切换,但它也是 Emacs 编辑器中常用的热键。可以通过使用上述工具之一修改 org.gnome.desktop.wm.keybindings 中的 switch-group 键来更改它。

XkbOptions 键盘选项

使用 dconf-editor,导航到 org.gnome.desktop.input-sources 模式下的 xkb-options 键,并将所需的 XkbOptions(例如 caps:swapescape)添加到列表中。

查看 /usr/share/X11/xkb/rules/xorg 获取所有 XkbOptions,查看 /usr/share/X11/xkb/symbols/* 获取相应的描述。

取消 Super 键绑定

默认情况下,Super 键会打开 GNOME Shell 概览模式。您可以通过运行以下命令取消此键的绑定

$ gsettings set org.gnome.mutter overlay-key ''

修改 Nautilus 热键

从 3.15 版本开始,无法再使用 accel 文件,但可以通过利用 nautilus-python 重新绑定按键。安装该软件包并添加以下文件

~/.local/share/nautilus-python/extensions/modify_keybindings.py
import os, gi
gi.require_version('Nautilus', '3.0')
from gi.repository import GObject, Nautilus, Gtk, Gio, GLib

def rebind():
    app = Gtk.Application.get_default()
    # Search for open_accels and nautilus_application_set_accelerators in:
    #   https://github.com/GNOME/nautilus/blob/master/src/nautilus-files-view.c
    app.set_accels_for_action( "win.back", ["<alt>Left", "BackSpace"] )

    # if you want to figure out which hotkey belongs to which action try this:
    # print(f'Alt+Left is: {app.get_actions_for_accel("<alt>Left")}')

class BackspaceBack(GObject.GObject, Nautilus.LocationWidgetProvider):
    def __init__(self):
        pass

    def get_widget(self, uri, window):
        rebind()
        return None

重启 Nautilus

$ nautilus -q; nautilus

Disks

GNOME 提供了一个磁盘工具来操作存储驱动器设置。以下是其部分功能

  • 启用写缓存是大多数硬盘驱动器提供的功能。数据会被缓存并在指定时间分配,以提高系统性能。此功能很可能已默认开启(非通过磁盘工具开启)。要检查,请使用 hdparm -W /dev/sdX
设置 > 驱动器设置 > 写缓存 > 开启
警告 此性能提升伴随着突然断电导致数据丢失的可能性,在启用写缓存之前请考虑这一点。
  • 用户会话默认值:启用以在 /etc/fstab 中使用您自己的选项,禁用以自动为基于 GPT 的驱动器和分区添加默认及推荐的挂载选项。
分区设置 > 编辑挂载选项 > 自动挂载选项 > 开启
警告 此设置会删除相关的 fstab 条目。

从菜单中隐藏应用程序

提示

使用 主菜单 应用程序(由 alacarte 软件包提供)来隐藏任何您不希望在菜单中显示的应用程序。

屏幕录制

GNOME 具有内置的屏幕录制功能,使用 Ctrl+Shift+Alt+r 组合键即可触发。录制过程中,顶部栏系统状态区域附近会显示一个红色圆圈。录制结束后,名为 Screencast from %d%u-%c.webm 的文件将保存在 Videos 目录中。

注意 录制文件名可能会根据系统的语言进行翻译。

为了使用屏幕录制功能,需要安装一些 gst-plugin 软件包。例如,屏幕录制流水线 依赖于来自 gst-plugins-goodvp8encwebmmux 元件。如果您在尝试录制时收到关于缺少 "pipewiresrc" 模块的错误,请安装 gst-plugin-pipewire

提示 使用 EasyScreenCast 可以方便地“配置桌面录制的各种设置”(包括自定义上述 GStreamer 流水线)。EasyScreenCast 也以 gnome-shell-extension-easyscreencastAUR 的形式提供。

屏幕录制的最长时长默认限制为 30 秒。可以通过以下方式更改

$ gsettings set org.gnome.settings-daemon.plugins.media-keys max-screencast-length length_in_seconds

length_in_seconds 设置为 0 可实现无限时长(根据 max-screencast-length 的描述)。

屏幕截图

gnome-screenshot 默认将图像保存到上次保存的目录中,您可以查询该路径

$ gsettings get org.gnome.gnome-screenshot last-save-directory

您可以设置一个自动保存目录来替代使用上述目录,例如将截图自动保存到 用户 的桌面目录

$ gsettings set org.gnome.gnome-screenshot auto-save-directory file:///home/user/Desktop

查看 gnome-screenshot(1) 手册页了解更多选项。

注销延迟

消除注销时的默认 60 秒延迟

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

更改动画速度

Gnome shell 动画速度可以通过“减速因子”进行配置。大于 1.0 会减慢动画,0.0 到 1.0 之间则会加快动画。

设置减速因子

要临时设置,请使用 Alt-F2 打开 Looking Glass,输入 lg 然后运行,例如要加快动画速度

St.Settings.get().slow_down_factor = 0.4

或者使用 gnome-shell-extension-impatience-gitAUR

减速因子可以通过环境变量 GNOME_SHELL_SLOWDOWN_FACTOR 永久设置,无需扩展,例如

/etc/environment
GNOME_SHELL_SLOWDOWN_FACTOR=0.4

禁用动画

可以通过 GUI 切换 设置 > 辅助功能 > 视觉 > 减少动画 来禁用动画。

Retina (HiDPI) 显示支持

GNOME 在 3.10 版本引入了 HiDPI 支持。如果您的显示器没有通过 EDID 提供正确的屏幕尺寸,这可能导致 UI 元素缩放不正确。作为变通方法,您可以打开 dconf-editor 并找到 org.gnome.desktop.interface 下的 scaling-factor 键。将其设置为 1 以获取标准缩放比例。

另请参阅 HiDPI

密码和密钥 (PGP 密钥)

您可以使用密码和密钥程序 seahorse 来创建 PGP 密钥,它是 GnuPG 的前端并将其作为依赖安装。这在将来可能会很有用(例如用于加密文件)。按照下方所示创建密钥(过程可能需要大约 10 分钟)

文件 > 新建 > PGP 密钥 > 名称 > 电子邮件 > 默认值 > 密码.

Terminal

更改默认终端大小

新终端的默认大小可以在您的配置文件首选项中调整。从菜单中选择 首选项,然后在 配置文件 下选择您的配置文件,即可访问更改初始终端大小的设置。

新终端继承当前目录

新终端默认在 $HOME 目录中打开。您可以配置终端 继承当前工作目录,方法是在 shell 配置文件中添加 source /etc/profile.d/vte.sh

为终端添加内边距

要为终端添加内边距(在窗口边缘和终端内容之间创建一个小的、不可见的边框),请创建以下文件

~/.config/gtk-3.0/gtk.css
vte-terminal,
terminal-window {
    padding: 10px 10px 10px 10px;
    -vte-terminal-inner-border: 10px 10px 10px 10px;
}

禁用光标闪烁

要在 GNOME 3.8 及更高版本中禁用光标闪烁,请使用

$ gsettings set org.gnome.desktop.interface cursor-blink false

仅在终端中禁用光标闪烁,请使用

$ gsettings set org.gnome.Terminal.Legacy.Profile:/org/gnome/terminal/legacy/profiles:/:$(gsettings get org.gnome.Terminal.ProfilesList default | tr -d \')/ cursor-blink-mode off

请注意,来自同名软件包的 gnome-settings-daemon 必须正在运行,这些及其他设置更改才能在 GNOME 应用程序中生效 - 参见 GNOME#配置

关闭终端时禁用确认窗口

以 root 用户登录时,关闭终端窗口总是会显示确认窗口。要避免此情况,请执行以下命令

$ gsettings set org.gnome.Terminal.Legacy.Settings confirm-close false

调色板

终端支持根据您的喜好更改调色板。只需转到 首选项,选择您的配置文件,最后编辑调色板即可。

终端配色方案

安装 gogh-gitAUR 软件包,它为 GNOME 终端提供了一套自定义方案。在您 选择一个或多个方案 后,运行 gogh 并输入所选方案的编号。

警告 在 gogh 提示时,不要一次安装所有配色方案,因为它们很难移除。请通过选择进行单独安装。

安装后,转到终端的 首选项,点击 颜色 选项卡,从窗口左侧选择已安装的配色方案名称。名称旁边会显示一个小箭头,点击它并选择 设为默认

在此之后,可以进行进一步的配置。您可以轻松更改某些您不喜欢的颜色。

要移除方案,如果该方案是您的默认设置,请先将另一个设置为默认。然后选择其名称并点击 删除

鼠标中键

双键鼠标模拟

本文或本章节已过时。

原因: org.gnome.settings-daemon.peripherals.mouse 键在 Gnome 4x 中已不存在,此设置仅适用于 GNOME 3(在 Talk:GNOME/Tips and tricks 中讨论)

默认情况下,无论 Xorg 设置(Emulate3Buttons)如何,GNOME 3 都会禁用鼠标中键模拟。要启用鼠标中键模拟,请使用

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

启用中键点击粘贴

从 GNOME 50.0 开始,已默认禁用从 (PRIMARY 选择项) 粘贴文本。要重新开启,请执行

$ gsettings set org.gnome.desktop.interface gtk-enable-primary-paste true

启用按钮和菜单图标

从 GTK 3.10 开始,GSettings 键 'menus-have-icons' 已被弃用。仍可以通过设置以下覆盖项来启用按钮和菜单中的图标

$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ButtonImages': <1>, 'Gtk/MenuImages': <1>}"

为桌面背景使用自定义颜色和渐变

要为桌面背景使用自定义颜色和渐变,您首先需要设置一张透明图片或不存在的图片作为您的桌面背景。例如,以下命令将设置一张不存在的图片作为背景。

$ gsettings set org.gnome.desktop.background picture-uri none

此时,桌面背景应该显示为纯色——默认颜色设置为深蓝色。

对于其他纯色,您只需要更改主要颜色设置

$ gsettings set org.gnome.desktop.background primary-color <my color>

其中 <my color> 是十六进制值(例如 ffffff 代表白色)。

对于颜色渐变,您还需要更改次要颜色设置 org.gnome.desktop.background secondary-color 并选择一种着色类型。例如,如果您想要水平渐变,请执行以下操作

$ gsettings set org.gnome.desktop.background color-shading-type horizontal

如果您正在使用一张透明图片作为背景,可以通过执行以下命令来设置不透明度

$ gsettings set org.gnome.desktop.background picture-opacity <value>

其中值是 1 到 100 之间的数字(100 为最大不透明度)。

背景过渡

GNOME 可以在特定时间间隔内过渡不同的壁纸。这是通过创建一个指定要使用的图片和时间间隔的 XML 文件来完成的。有关创建此类文件的更多信息,请参阅以下 文章

自定义 GNOME 会话

可以创建使用 GNOME 会话管理器但启动不同组件集合的自定义 GNOME 会话(例如,使用 Openboxtint2 代替 GNOME Shell)。

自定义 GNOME 会话需要两个文件:一个位于 /usr/share/gnome-session/sessions/ 下的会话文件,用于定义要启动的组件;以及一个位于 /usr/share/xsessions 下的 桌面条目,由 显示管理器 读取。下面提供了一个会话文件示例

/usr/share/gnome-session/sessions/gnome-openbox.session
[GNOME Session]
Name=GNOME Openbox
RequiredComponents=openbox;tint2;gnome-settings-daemon;

以及一个桌面文件示例

/usr/share/xsessions/gnome-openbox.desktop
[Desktop Entry]
Name=GNOME Openbox
Exec=gnome-session --session=gnome-openbox
注意 GNOME 会话会调用每个要启动组件的 .desktop 文件。如果您想要启动的组件不提供 .desktop 文件,则必须在 /usr/local/share/applications 等目录中创建一个合适的 桌面条目

将特定 URL 重定向到指定 Web 浏览器

这展示了如何对特定类型的 URL 使用 Chromium,同时保持 Firefox 作为所有其他任务的默认浏览器。

确保 pcre安装,以便使用 pcregrep

设置自定义 xdg-open

/usr/local/bin/xdg-open
#!/bin/bash
DOMAIN_LIST_FILE=~/'domains.txt'
OTHER_BROWSER='/usr/bin/chromium-browser'
BROWSER_OPTIONS='' # Optional, for command line options passed to browser
XDG_OPEN='/usr/bin/xdg-open'
DEFAULT_BROWSER='/usr/bin/firefox'

if echo "$1" | pcregrep -q '^https?://'; then
    matching=0
    while read domain; do
	if echo "$1" | pcregrep -q "^https?://${domain}"; then
	    matching=1
	    break
	fi
    done < "$DOMAIN_LIST_FILE"

    if [[ $matching -eq 1 ]]; then
	"$OTHER_BROWSER" $BROWSER_OPTIONS ${*}
	exit 0
    fi

    "$DEFAULT_BROWSER" ${*}
    exit 0
else
    "$XDG_OPEN" ${*}
fi

配置重定向到 Chromium 的域名

$HOME/domains.txt
stackexchange.com
stackoverflow.com
superuser.com
www.youtube.com
github.com

xdg-open web 设置为桌面应用程序

$HOME/.local/share/applications/xdg-open-web.desktop
[Desktop Entry]
Version=1.0
Name=xdg-open web
GenericName=Web Browser
Exec=xdg-open %u
Terminal=false
Type=Application
MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
StartupNotify=true
Categories=Network;WebBrowser;
Keywords=web;browser;internet;
Actions=new-window;new-private-window;
$ update-desktop-database $HOME/.local/share/applications/

在 GNOME 设置中将 xdg-open web 设置为默认 Web 应用程序:转到 GNOME 设置 > 默认应用程序 并将 Web 设置为 xdg-open web

移除 Nautilus 视频缩略图中的胶片孔/胶片条效果

自 Gnome 3.12 起,Nautilus (文件) 会在视频缩略图上覆盖胶片孔/胶片条效果。要移除或覆盖此效果,可以使用环境变量 G_RESOURCE_OVERLAYS 来引用编译资源(在本例中为 filmholes.png)的路径,并指定相关覆盖层的路径。此环境变量仅从 GLib 2.50 开始可用,在之前的版本中无效。

从 Nautilus 中提取 filmholes.png

$ gresource extract /usr/bin/nautilus /org/gnome/nautilus/icons/filmholes.png > filmholes.png

使用您首选的编辑器编辑 filmholes.png 并从图像中移除胶片效果,保持透明度和尺寸不变,然后覆盖提取出的图像。

将提取出的图像复制或移动到所需位置,例如 /usr/share/icons/,并编辑 ~/.profile,添加以下导出语句,根据您放置文件的位置更改 /usr/share/icons/

export G_RESOURCE_OVERLAYS=/org/gnome/nautilus/icons/filmholes.png=/usr/share/icons/filmholes.png

如果已安装 ffmpegthumbnailer 作为其他文件管理器的依赖项来生成缩略图,则应修改 /usr/share/thumbnailers/ffmpegthumbnailer.thumbnailer 中的 Exec 行,移除 -f 标志。

为确保没有保留可能已经嵌入了胶片效果的缩略图,请移除缩略图缓存

$ rm -r ~/.cache/thumbnails

注销并重新登录您的会话,您在 Nautilus 中的缩略图应该不再有胶片孔/胶片条效果。

GNOME Software 与 pacman 集成

packagekit 集成以前可通过名为 gnome-software-packagekit-plugin 的软件包实现,但已被 主动禁用被视为不支持

使用 pacman 安装的应用程序会显示在 GNOME Software 中,但无法从中卸载。要不显示它们,请设置此选项并重启 GNOME Software

$ echo GNOME_SOFTWARE_PLUGINS_BLOCKLIST=appstream > ~/.config/environment.d/gs-disable-appsteam.conf
$ gnome-software --quit

将音量提高至 100% 以上

您可以通过运行以下命令允许过放大

$ gsettings set org.gnome.desktop.sound allow-volume-above-100-percent true

或者,安装扩展 volume mixer。然后使用鼠标滚动顶部面板中的音量图标,即可将音量提高至 100% 以上。

或者,打开 GNOME Tweaks 并切换 常规 > 过放大

以更小的步长调整音量

默认情况下,按下键盘的音量键会以 6% 的步长调整音量。如果需要更小的步长,按住 Shift 同时按下音量键,可以以 2% 的步长调整音量。

此外,从 GNOME 3.36 开始,现在可以通过 dconf 设置直接调整音量步长。例如,要将音量步长设置为 2%,请执行以下命令

$ gsettings set org.gnome.settings-daemon.plugins.media-keys volume-step 2

在顶部面板图标旁显示音量百分比

安装扩展 sound percentage,以在顶部面板的音频图标旁显示当前的输出音量水平。

在独立显卡上运行程序

安装 switcheroo-controlswitcheroo-control-gitAUR启动/启用 switcheroo-control.service

窗口列表

如果您喜欢在底部有一个任务列表,但不喜欢此扩展的默认黑色,请先复制其目录

$ cp -r /usr/share/gnome-shell/extensions/window-list@gnome-shell-extensions.gcampax.github.com/ ~/.local/share/gnome-shell/extensions/

然后按您的喜好编辑 CSS。例如,要使窗口列表透明,请按如下方式编辑 stylesheet.css

.bottom-panel {
  background: transparent;
}
...
.window-button > StWidget,
.window-picker-toggle > StWidget {
  color: #bbb;
  background-color: transparent;
  ...

要模拟 Windows 在窗口之间切换的行为,请先禁用默认限制窗口切换仅限于当前工作区的功能

$ gsettings set org.gnome.shell.app-switcher current-workspace-only false

然后,将 Alt+TabAlt+Shift+Tab 绑定到在窗口(而不是应用程序)之间切换

$ gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Alt>Tab']"
$ gsettings set org.gnome.desktop.wm.keybindings switch-windows-backward "['<Shift><Alt>Tab']"

此外,可以重新绑定应用程序之间的切换(此示例使用 Super 而不是默认的 Alt

$ gsettings set org.gnome.desktop.wm.keybindings switch-applications "['<Super>Tab']"
$ gsettings set org.gnome.desktop.wm.keybindings switch-applications-backward "['<Shift><Super>Tab']"

图片查看器

安装 libheif 以添加对 HEIC 图像文件格式的支持。图像查看器使用 `gdk-pixbuf2` 库,该库将 `libheif` 列为可选依赖项之一。

以文本文件形式存储的 Dconf (gsettings) 数据库

默认情况下,dconf 将其配置存储在位于 $XDG_CONFIG_HOME/dconf/user 的二进制数据库 blob 中。如果您的主目录存储在 NFS 上、您在版本控制中保存 dotfiles 或由于其他原因,dconf 配置文件可能会覆盖此默认设置。请参阅 dconf(7) § PROFILES 了解有关创建和使用配置文件的详细信息。

在更改系统范围的默认值之前,请将每个用户现有的 dconf 数据库转储为名为 user.txt 的基于文本的 keyfile。似乎无法使用其他扩展名。假设 XDG_CONFIG_HOME 的默认值,可以使用此命令完成

$ dconf dump / > ~/.config/dconf/user.txt

完成后,以 root 用户身份创建默认 dconf 配置文件。

/etc/dconf/profile/user
service-db:keyfile/user

注销并重新登录,确认更改 dconf 设置会修改基于文本的 user.txt,而不会修改旧的二进制 user 文件,然后再删除二进制数据库。

此设置可能会产生一些极小的额外资源使用。Dconf 仍然会在临时 XDG_RUNTIME_DIR 目录中使用二进制数据库,但它必须在桌面启动时重新创建它。它还必须保持 user.txt 为最新,并监控文本文件的更改。

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.