市面上有几种可用的屏幕抓取工具,但大多数都是基于GUI的。 如果您花时间在Linux命令行上工作,并且正在寻找一款功能强大的基于命令行的屏幕抓取工具,您可能需要尝试gnome-screenshot 。 在本教程中,我将使用易于理解的示例来解释此实用程序。
Please note that all the examples mentioned in this tutorial have been tested on Ubuntu 16.04 LTS, and the gnome-screenshot version we have used is 3.18.0.
关于Gnome截图
Gnome-screenshot是一个GNOME工具,顾名思义,用于捕获整个屏幕,特定的应用程序窗口或任何其他用户定义的区域。 该工具提供了几个其他功能,包括将美化效果应用于捕获的屏幕截图的边界。
Gnome屏幕截图安装
gnome-screenshot工具预先安装在Ubuntu系统上,但是由于某些原因您需要安装该实用程序,您可以使用以下命令进行操作:
sudo apt-get install gnome-screenshot
安装该工具后,可以使用以下命令启动该工具:
gnome-screenshot
Gnome截图使用/功能
在本节中,我们将讨论如何使用gnome-screenshot工具及其提供的所有功能。
默认情况下,当没有任何命令行选项运行该工具时,它将捕获完整的屏幕。
捕获当前活动窗口
如果需要,您可以使用-w选项将屏幕截图限制为当前活动窗口。
gnome-screenshot -w
窗口边框
默认情况下,该实用程序包括其捕获的窗口的边框,尽管还有一个特定的命令行选项-b启用此功能(以防您在某处使用它)。 以下是可以使用的方法:
gnome-screenshot -wb
当然,您需要使用-b选项与-b ,以便捕获的区域是当前的活动窗口(否则-b将不起作用)。
更重要的是,如果需要,还可以移除窗口的边框。 这可以使用-B命令行选项完成。 以下是如何使用此选项的示例:
gnome-screenshot -wB
以下是一个示例快照:
将效果添加到窗口边框
在gnome屏幕截图工具的帮助下,您还可以向窗口边框添加各种效果。 这可以使用--border-effect选项来完成。
您可以添加实用程序提供的任何效果,例如“阴影”效果(向窗口添加阴影),“边框”效果(在屏幕截图周围添加矩形空间)和“复古”效果(使截图稍微去饱和,着色并在其周围添加矩形空间)。
gnome-screenshot --border-effect=[EFFECT]
例如,要添加阴影效果,请运行以下命令
gnome-screenshot –border-effect=shadow
以下是阴影效果的示例快照:
请注意,上述屏幕截图主要集中在终端的一个角落,以便您清楚地看到阴影效果。
特定区域的屏幕截图
如果需要,还可以使用gnome-screenshot实用程序捕获计算机屏幕的特定区域。 这可以通过使用-a命令行选项来完成。
gnome-screenshot -a
当上述命令运行时,鼠标指针将变为“+”符号。 在这种模式下,您可以通过鼠标左键单击来抓取屏幕的特定区域。
这是一个示例截图,其中我裁剪了我的终端窗口的一小部分。
将鼠标指针包含在快照中
默认情况下,每当使用此工具拍摄截图时,它不包括鼠标指针。 但是,该实用程序允许您包含指针,您可以使用-p命令行选项进行操作。
gnome-screenshot -p
这是一个示例快照
延迟拍摄截图
您也可以在拍摄截图时引入时间延迟。 为此,您必须在几秒钟内为-delay选项分配一个值。
gnome-screenshot –delay=[SECONDS]
例如:
gnome-screenshot --delay=5
这是一个示例屏幕截图
以交互模式运行该工具
该工具还允许您使用单个选项(即-i)访问其所有功能。 使用此命令行选项,用户可以在运行时选择一个或多个工具的功能。
$ gnome-screenshot -i
这是一个示例屏幕截图
如上图所示, -i选项可以访问许多功能,如抓取整个屏幕,抓取当前窗口,选择一个区域来抓取,延迟选项,效果选项 - 所有这些都是以交互模式。
直接保存您的屏幕截图
如果需要,您可以直接将终端屏幕截图保存到当前工作目录,这意味着在运行该工具后,不会要求您输入捕获的屏幕截图的文件名。 可以使用--file命令行选项访问此功能,该选项显然需要传递文件名。
gnome-screenshot –file=[FILENAME]
例如:
gnome-screenshot --file=ashish
以下是一个示例快照:
复制到剪贴板
gnome截图工具还允许您将屏幕截图复制到剪贴板。 这可以使用-c命令行选项来完成。
gnome-screenshot -c
在这种模式下,您可以直接将复制的屏幕截图粘贴到任何图像编辑器(如GIMP)中。
多个显示屏幕的屏幕截图
如果连接到系统的多个显示器并且想要拍摄特定的快照,则可以使用--display命令行选项。 此选项需要一个值,该值应为显示设备ID(被抓取的屏幕的ID)。
gnome-screenshot --display=[DISPLAY]
例如:
gnome-screenshot --display=VGA-0
在上面的例子中,VGA-0 是我试图捕获的显示器的ID。 要查找要屏幕截图显示的ID,可以使用以下命令:
xrandr --query
为了给你一个想法,这个命令在我的情况下产生了以下输出:
$ xrandr --query
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 8192 x 8192
VGA-0 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
1366x768 59.8*+
1024x768 75.1 75.0 60.0
832x624 74.6
800x600 75.0 60.3 56.2
640x480 75.0 60.0
720x400 70.1
HDMI-0 disconnected (normal left inverted right x axis y axis)
自动化屏幕抓取过程
如前所述, -a命令行选项可帮助我们抓住屏幕的特定区域。 但是,我们必须使用鼠标手动选择区域。 如果需要,您可以使用gnome-screenshot自动执行此过程,但在这种情况下,您将不得不使用一种称为xdotool的外部工具,该工具能够模拟按键甚至鼠标事件 。
例如:
(gnome-screenshot -a &); sleep 0.1 && xdotool mousemove 100 100 mousedown 1 mousemove 400 400 mouseup 1
mousemove子命令自动将鼠标指针定位在屏幕上的指定坐标X和Y(上例中的100和100)。 mousedown子命令触发执行与点击相同操作的事件(因为我们想要左键点击,所以我们使用了参数1),而mouseup子命令触发执行用户释放鼠标按钮的任务的事件。
所以总而言之,上面显示的xdotool命令执行与鼠标手动进行的相同的区域抓取工作 - 具体来说,它将鼠标指针定位到屏幕上的100,100坐标,选择包围的区域,直到指针然后屏幕上达到400,400个坐标。 然后通过gnome屏幕截图捕获所选区域。
这是上面命令的截图:
这是输出:
有关xdotool的更多信息,请来这里 。
获得帮助
如果您有查询或者遇到与任何命令行选项相关的问题,您可以使用--help , - ? 或-h选项来获取相关信息。
gnome-screenshot -h
有关gnome-screenshot的更多信息,您可以通过命令的手册页或手册页。
man gnome-screenshot
结论
我会建议您至少使用此功能一次,因为它不仅易于初学者使用,而且还提供功能丰富的高级使用体验。 继续尝试一下。