最近,我们讨论了gnome-screenshot实用程序,这是一个很好的屏幕抓取工具。 但是,如果您正在寻找一个更好的命令行实用程序来进行截图,那么您必须尝试给予Scrot。 此工具有一些额外的功能,目前在gnome屏幕截图中不可用。 在本教程中,我们将使用易于理解的示例来解释Scrot。
Please note that all the examples mentioned in this tutorial have been tested on Ubuntu 16.04 LTS, and the scrot version we have used is 0.8.
关于Scrot
Scrot ( SCR eensh OT )是使用imlib2库获取和保存图像的截图捕获实用程序。 由Tom Gilbert开发,我用C编程语言编写,并获得BSD许可证许可。
扫管安装
您的Ubuntu系统上可能会预安装scrot工具,但如果不是这样,那么您可以使用以下命令进行安装:
sudo apt-get install scrot
安装该工具后,您可以使用以下命令启动该工具:
scrot [options] [filename]
注意 :[]中的参数是可选的。
Scrot使用/功能
在本节中,我们将讨论如何使用Scrot工具及其提供的所有功能。
当没有任何命令行选项运行该工具时,它捕获整个屏幕。
默认情况下,捕获的文件将以当前目录中的日期戳文件名保存,但是在运行命令时也可以显式指定捕获的映像的名称。 例如:
scrot [image-name].png
获取应用程序版本
如果需要,可以使用-v命令行选项检查scrot的版本。
scrot -v
这是一个例子:
捕捉当前窗口
使用该实用程序,您可以将屏幕截图限制为当前关注的窗口。 可以使用-u命令行选项访问此功能。
scrot -u
例如,当我在命令行上执行上述命令时,这是我的桌面:
这里是由scrot捕获的截图:
选择一个窗口
该实用程序允许您通过使用鼠标点击它捕获任何窗口。 可以使用-s选项访问此功能。
scrot -s
例如,如下面的截图所示,我有一个屏幕,两个终端窗口相互重叠。 在顶层窗口中,我运行上述命令。
现在假设,我想捕获底部的终端窗口。 为此,一旦执行命令,我将只需点击该窗口,直到您单击屏幕上某处的命令执行将不会完成。
以下是点击该终端后捕获的截图:
注意 :正如您在上述快照中可以看到的,底部窗口覆盖的任何区域都已被捕获,即使它包含顶部窗口的重叠部分。
在屏幕截图中包含窗口边框
前面讨论过的-u命令行选项不包括屏幕截图中的窗口边框。 但是,如果需要,您可以包括窗口的边框。 可以使用-b选项(当然与-u选项一起使用)来访问此功能。
scrot -ub
以下是一个示例屏幕截图:
注意 :包括窗口边框还会在屏幕截图中添加一些背景区域。
延迟拍摄截图
您可以在拍摄截图时引入时间延迟。 为此,您必须为--delay或-d命令行选项分配一个数值。
scrot --delay [NUM]
scrot --delay 5
这是一个例子:
在这种情况下,scrot会等待5秒钟,然后取屏幕截图。
截图前倒数
该工具还允许您在使用延迟选项时显示倒计时。 可以使用-c命令行选项访问此功能。
scrot –delay [NUM] -c
scrot -d 5 -c
以下是一个示例屏幕截图:
画面质量
使用该工具,您可以以1-100的比例调整截图图像的质量。 高值意味着高尺寸和低压缩。 默认值为75,但效果因所选择的文件格式而异。
可以使用--quality或-q选项访问此功能,但必须为此选项分配一个数字值,范围为1-100。
scrot –quality [NUM]
scrot –quality 10
以下是一个示例快照:
因此,您可以看到图像的质量下降很多,因为-q选项的分配值接近1。
生成缩略图
scrot工具还允许您生成截图的缩略图。 可以使用--thumb选项访问此功能。 此选项需要NUM值,这基本上是原始屏幕截图大小的百分比。
scrot --thumb NUM
scrot --thumb 50
注意 :-- thumb选项确保屏幕截图被捕获并保存为原始大小。
例如,以下是我的案例中捕获的原始屏幕截图:
以下是保存的缩略图:
加入多个显示镜头
如果您的机器具有多个显示器,scrot可让您抓取并加入这些显示屏的截图。 可以使用-m命令行选项访问此功能。
scrot -m
以下是一个示例快照:
对保存的图像执行操作
使用该工具,我们可以对保存的图像执行各种操作 - 例如,打开图像编辑器(如gThumb)中的屏幕截图。 可以使用-e命令行选项访问此功能。 以下是一个例子:
scrot abc.png -e ‘gthumb abc.png’
在这里,gthumb是一个图像编辑器,它将在我们运行命令后自动启动。
以下是命令的快照:
这是以上命令的输出:
所以你可以看到,scrot命令抓住了截图,然后以捕获的图像作为参数启动了gThumb图像编辑器。
如果您没有为屏幕截图指定文件名,那么快照将以当前目录中的日期戳文件名保存,这一点我们在开头已经提到,是scrot的默认行为。
这是一个-e命令行选项示例,其中scrot使用屏幕截图的默认名称:
scrot -e ‘gthumb $n’
值得一提的是, $ n是一个特殊的字符串,它提供对屏幕截图名称的访问。 有关特殊字符串的更多细节,请转到下一节。
特殊字符串
与scrot一起使用时, -e (或--exec )和filename参数可以使用格式说明符。 格式说明符有两种类型。 第一个类型是前缀为'%'的字符,用于日期和时间格式,而第二个类型是scrot内部,前缀为'$'
下面讨论由--exec和filename参数识别的几个说明符。
$ f - 提供对截图路径(包括文件名)的访问。
例如,
scrot ashu.jpg -e ‘mv $f ~/Pictures/Scrot/ashish/’
以下是一个示例快照:
如果您不指定文件名,则scrot将按默认值以快照形式保存日期文件格式。 这是scrot中使用的默认日期戳文件格式: %yy-%mm-%dd-%hhmmss_ $ wx $ h_scrot.png 。
$ n - 提供快照名称。 以下是一个示例快照:
$ s - 可以访问截图的大小。 例如,可以通过以下方式访问此功能。
scrot abc.jpg -e ‘echo $s’
这是一个示例快照
类似地,您可以使用提供图像像素大小,图像宽度,图像高度,图像格式,$符号等访问权限的其他特殊字符串$ p , $ w , $ h , $ t , $$和\ n新线分别。 例如,您可以像我们上面讨论的$ s示例一样使用这些字符串。
结论
该实用程序易于安装在Ubuntu系统上,这对初学者是有好处的。 Scrot还提供了一些高级功能,例如可以在专业人员的脚本中使用的特殊字符串。 不用说,如果你想使用它们,有一个轻微的学习曲线。