我使用 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或超级密钥,使用系统中的自由密钥关联。