GNOME/技巧和窍门
键盘
登录时开启 NumLock
参见 Activating numlock on bootup#GNOME
快捷键替代方案
许多快捷键可以通过 GNOME 设置进行更改。例如,要重新启用显示桌面快捷键:
设置 > 键盘 > 自定义快捷键 > 导航 > 隐藏所有普通窗口
然而,某些快捷键无法直接通过“设置”更改。为了更改这些按键,请使用 dconf-editor 或 gsettings。特别值得注意的是快捷键 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)到列表中。
有关所有 XkbOptions,请参见 /usr/share/X11/xkb/rules/xorg;有关相应说明,请参见 /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 条目。
从菜单中隐藏应用程序
- 可以通过编辑 .desktop 文件本身来隐藏桌面条目。参见 Desktop entries#Hide desktop entries。
- MenulibreAUR 提供了一个无需 GNOME 依赖的菜单编辑器。
使用 Main Menu 应用程序(由 alacarte 包提供)来隐藏您不想在菜单中显示的任何应用程序。
屏幕录制
GNOME 内置了屏幕录制功能,可以通过 Ctrl+Shift+Alt+r 组合键激活。录制进行时,顶部栏的系统状态区域附近右侧会显示一个红色的圆圈。录制完成后,一个名为 Screencast from %d%u-%c.webm 的文件将被保存在 Videos 目录中。
要使用屏幕录制功能,需要安装一些 gst-plugin 包。例如,屏幕录制管道依赖于 gst-plugins-good 中的 vp8enc 和 webmmux 元素。如果您在尝试录制时收到关于缺少“pipewiresrc”模块的错误,请安装 gst-plugin-pipewire。
默认情况下,最大屏幕录制长度为 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
您可以设置一个自动保存目录,而不是使用上述目录。例如,自动将截图保存到 user 的桌面目录:
$ 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
仅在 Terminal 中禁用闪烁光标,请使用:
$ 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#Configuration。
关闭终端时禁用确认窗口
当尝试关闭一个以 root 用户登录的窗口时,Terminal 总是会显示一个确认窗口。要避免这种情况,请执行以下操作:
$ gsettings set org.gnome.Terminal.Legacy.Settings confirm-close false
颜色方案
Terminal 支持更改其颜色方案以满足您的喜好。只需转到首选项,选择您的配置文件,最后编辑颜色方案。
终端颜色主题
安装 gogh-gitAUR 包,它提供了一组为 GNOME Terminal 定制的配色方案。在选择一个或多个方案后,运行 gogh 并输入您选择的方案编号。
安装后,转到 Terminal 的首选项,然后转到颜色选项卡,从窗口的左侧选择您安装的颜色方案的名称。您会在名称旁边看到一个小箭头,单击它并选择设为默认。
您可以从这里进行进一步的配置。您可以轻松地更改您不喜欢的某些颜色。
要删除一个方案,请先将其设为默认方案,然后再选择其名称并单击删除。
鼠标中键
默认情况下,GNOME 3 会禁用鼠标中键模拟,无论 Xorg 设置(Emulate3Buttons)如何。要启用鼠标中键模拟,请使用:
$ gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled 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>
其中 value 是 1 到 100 之间的数字(100 为最大不透明度)。
过渡背景
GNOME 可以在特定时间间隔内切换不同的壁纸。这可以通过创建一个 XML 文件来指定要使用的图片和时间间隔来完成。有关创建此类文件的更多信息,请参阅以下 文章。
自定义 GNOME 会话
可以创建自定义 GNOME 会话,这些会话使用 GNOME 会话管理器但启动不同的组件集(例如,使用 Openbox 和 tint2 而不是 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
/usr/local/share/applications 等目录中创建一个合适的 桌面条目。将特定 URL 重定向到特定浏览器
这演示了如何为特定类型的 URL 使用 Chromium,同时将 Firefox 保持为所有其他任务的默认浏览器。
设置自定义 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 (Files) 会在视频缩略图上叠加胶片孔/胶片条效果。要移除或覆盖此效果,可以使用环境变量 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,添加以下 export,并根据需要将 /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 集成
过去曾通过名为 gnome-software-packagekit-plugin 的包提供 packagekit 集成,但该集成已被自愿禁用,并且被认为是不受支持的。
通过 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 并切换 General > Over-Amplification。
以更小的步长调整音量
默认情况下,按下键盘音量键会将音量调整 6%。如果需要更小的步长,按住 Shift 键同时按下音量键会将音量调整 2% 步长。
此外,从 GNOME 3.36 开始,可以通过 dconf 设置直接调整音量步长。例如,要将音量步长设置为 2%,请执行以下操作:
$ gsettings set org.gnome.settings-daemon.plugins.media-keys volume-step 2
在顶部面板图标旁边显示音量百分比
安装扩展程序 sound percentage 以在顶部面板的音量图标旁边显示当前输出音量级别。
在独立 GPU 上启动
安装 switcheroo-control 或 switcheroo-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+Tab 和 Alt+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 图片文件格式的支持。安装 `libheif`。图像查看器使用 `gdk-pixbuf2` 库,该库将 `libheif` 列为可选依赖项之一。
Dconf (gsettings) 数据库存储为文本文件
默认情况下,dconf 将其配置存储在位于 $XDG_CONFIG_HOME/dconf/user 的二进制数据库 blob 中。如果您将主目录存储在 NFS 上、将点文件保留在版本控制中,或者出于其他原因,dconf profile 配置可能会覆盖此默认设置。有关创建和使用配置文件的详细信息,请参见 dconf(7) § PROFILES。
在更改系统范围内的默认设置之前,请将每个用户的现有 dconf 数据库转储为一个名为 user.txt 的文本文件。似乎无法使用其他扩展名。假设 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 保持最新,并监视文本文件以更改。