使用 Cinnamon 键盘快捷键运行 gnome-screenshot -a

使用 Cinnamon 键盘快捷键运行 gnome-screenshot -a

我使用 Cinnamon 的 Python 系统设置应用程序中的“键盘”部分来创建一个自定义快捷方式,gnome-screenshot -a每次按 Print Screen 键时都会执行该命令。它没有按预期工作。系统不会显示用于选择要截取屏幕截图的屏幕部分的十字,而是会发出“嘟嘟”声。 gnome-screenshot 被执行,并将以下内容输出到 stderr:

** Message: Unable to use GNOME Shell's builtin screenshot interface, resorting to fallback X11.

(gnome-screenshot:6577): Gdk-CRITICAL **: gdk_pixbuf_get_from_surface: assertion 'width > 0 && height > 0' failed

(gnome-screenshot:6577): Gtk-CRITICAL **: gtk_window_resize: assertion 'width > 0' failed

** (gnome-screenshot:6577): CRITICAL **: Unable to capture a screenshot of any window

从终端模拟器运行它(如果您设置 $DISPLAY 环境变量和其他变量,则虚拟控制台将工作)可以工作并给出预期结果。有时,按 Print Screen 键大约 50 次后,它会按预期工作。更改按“打印屏幕”键时运行的命令可以gnome-screenshot -w完美运行,但我需要能够选择屏幕的一部分来进行屏幕截图。这个问题已被问到这里但没有答案(OPgnome-screenshot -w在评论中指出它有效后决定使用)。我的情况与链接帖子的OP完全相同。

那么我该怎么做才能不必过度按“打印屏幕”键来截取屏幕截图呢?

答案1

我也有类似的情况,我将系统的屏幕截图快捷方式绑定到我的脚本,因此当我调用快捷方式时,gnome-screenshot将截取屏幕截图,将其保存到文件中,然后使用 Gimp 打开它。

#!/bin/bash    
SSFile=~/Images/screenshot_window.png
# This command takes a window screenshot and saves it to a file
gnome-screenshot -w -f $SSFile
flatpak run org.gimp.GIMP $SSFile

为了获取一个区域,只需替换-w-a并在前面sleep 0.1添加从这里,所以就我而言,最终脚本是:

#!/bin/bash    
SSFile=~/Images//screenshot_area.png
sleep 0.1
# Take a Screenshot from an area and saves it to a file
gnome-screenshot -a -f $SSFile
flatpak run org.gimp.GIMP $SSFile

如果没有该sleep 0.1部件,从终端、nemo 或自定义启动器运行时可以正常工作,但不能使用键盘快捷键。

答案2

命令是正确的。

gnome-screenshot -a -c

避免使用Windows或超级密钥,使用系统中的自由密钥关联。

相关内容