GNOME 截图工具的新旧截图方式

2023-02-05
3分钟阅读时长

以下是关于 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 截图(旧)

GNOME 截图主窗口(旧)

为了进一步定制,你可以打开设置,从 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

启动 looking glass

在顶部选择 “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 截图被触发了。

从 CLI 启动新的 GNOME Shell 截图 UI

如果你想关闭它,再次打开 lg 并将其设置为 false

global.context.unsafe_mode = false

结束语

从使用上来说,通过关闭安全模式,你仍然可以通过任何 shell 脚本使用新的截图功能。但不建议这样做。最好是使用旧的 GNOME 截图工具来避免所有的麻烦。

干杯。


via: https://www.debugpoint.com/gnome-screenshot-tool-usage/

作者:Arindam 选题:lkxed 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出