以下是关于 GNOME 截图工具的细节,它的用法、安装方法以及如何用新旧两种方式启动它们。
2022 年,GNOME 改变了其默认的截图工具,并将截图功能构建为 GNOME Shell 的一部分。它不再是一个独立的应用了。
早些时候,GNOME 为主要的 Linux 发行版,如 Ubuntu 和 Fedora,提供了一个原生的 GTK 应用 gnome-screenshot。然而,从 GNOME 42 开始,这个功能已经被移除。因此从 Ubuntu 22.04 和 Fedora 36 开始,你只能得到以下新的截图 UI 作为默认的截图工具。
这一变化从根本上破坏了许多工作流程。因为它不是一个你可以单独启动的可执行文件,你只能依赖键盘上的 Print-Screen
键。而且只能通过应用搜索找到它的快捷方式。
因此,在新的 GNOME 截图 UI 中捕捉延迟的屏幕截图变得更有挑战性。
下面是一些你仍然可以使用旧的 GNOME 截图工具的方法,以及如何手动触发新的截图 UI。
GNOME 截图工具:如何安装旧版 GUI
如果你使用的是 Ubuntu 22.04 及以上版本,或者任何基于 Ubuntu 的带有 GNOME 桌面的发行版,运行以下命令来安装它。
sudo apt install gnome-screenshot
而对于 Fedora 用户,使用下面的命令。
sudo dnf install gnome-screenshot
如果你在 Arch Linux 或者 Manjaro Linux 中使用 GNOME 桌面,那么使用下面的命令来安装它。
pacman -S gnome-desktop
安装后,通过应用程序菜单启动它。
为了进一步定制,你可以打开设置,从 GNOME Shell 的新 UI 中移除 Print-Screen
的按键绑定,并通过以下命令创建一个自定义的键盘快捷方式:
gnome-screenshot --window <窗口>
gnome-screenshot --area <区域>
gnome-screenshot <全屏>
GNOME 截图 UI:如何通过命令行手动触发它
当你从键盘上按下 Print-Screen
键时执行的功能是 GNOME Shell 代码 的一部分。不幸的是,它被保护在 dbus API 内,你不能直接调用它。
这样做是为了让你在 Wayland 下安全,这样就不会有任意的代码通过任何脚本获得对 dbus 调用函数的访问。
然而,这破坏了许多使用场景和人们多年来编写的脚本。例如,许多用户报告说 Zoom 在 GNOME-Wayland 下的视频会议通话 中断 就是因为这个原因,最终通过下面这个关闭安全模式的方法解决了这个问题。
让我们看看如何关闭它并触发 gnome-shell 的截图。
在使用下面的步骤之前,请谨慎行事。因为它可能会开放你的 GNOME Shell,让你任意访问脚本。请确保你知道你在做什么。
首先,你需要打开 GNOME looking glass 来关闭安全模式。
按 ALT+F2
并输入以下内容:
lg
在顶部选择 “Evaluator”,在命令窗口中,输入以下内容。然后点击回车。
global.context.unsafe_mode = true
你应该看到一个响应,即它已被关闭。
现在按 Esc
键关闭 “looking glass”。并打开一个终端。
输入以下内容以启动截图工具:
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval 'Main.screenshotUI.open();'
你应该看到新的 GNOME Shell 截图被触发了。
如果你想关闭它,再次打开 lg
并将其设置为 false
。
global.context.unsafe_mode = false
结束语
从使用上来说,通过关闭安全模式,你仍然可以通过任何 shell 脚本使用新的截图功能。但不建议这样做。最好是使用旧的 GNOME 截图工具来避免所有的麻烦。
干杯。