当前位置: 首页 > 科技观察

如何在Linux中使用Scrot截取

时间:2023-03-16 01:22:49 科技观察

近日,我们介绍了gnome-screenshot工具,它是一款优秀的屏幕抓取工具。但是如果你正在寻找一个更好的在命令行上运行的屏幕截图工具,你绝对应该尝试Scrot。这个工具有一些gnome-screenshot没有的独特功能。在这篇文章中,我们将通过简单易懂的例子来详细介绍Scrot。请注意,本文中的所有示例均已在Ubuntu16.04LTS上进行测试,我们使用scrot版本0.8。关于ScrotScrot(SCReenshOT)是一个使用imlib2库来获取和保存图像的屏幕抓取工具。由TomGilbert用C语言开发,并在BSD许可下获得许可。安装Scrotscort工具可能已经预装在你的Ubuntu系统中,但如果没有,你可以使用以下命令安装它:sudoapt-getinstallscrot安装完成后,你可以使用以下命令:scrot[options][filename]注意:方括号中的参数是可选的。Scrot的使用与特点本节将介绍Scrot工具的使用方法及其所有功能。如果命令在没有任何选项的情况下执行,它会占据整个屏幕。默认情况下,使用Scrot,捕获的屏幕截图将以带有时间戳的文件名保存在当前目录中,但您也可以在运行命令时指定屏幕截图文件名。例如:scrot[image-name].png如果想获取程序版本,可以使用-v选项查看scrot的版本scrot-v这是一个例子:获取scrot的版本来抓取当前window这个工具可以限制当前的焦点窗口。可以使用-u选项打开此功能。scrot-u例如,这是我在命令行执行上面的命令时的桌面:Capturewindowswithscrot这是另一个用scrot捕获的屏幕截图:ImagecapturedwithscrotCaptureselectedwindows这个工具还允许你抓取你点击的任何窗口用鼠标。可以使用-s选项打开此功能。scrot-s例如,在下面的屏幕截图中,您可以看到我有两个相互重叠的终端窗口。我在上面的窗口中执行上面的命令。选择窗口现在假设我想获取底层终端窗口。这样我只需在执行命令后单击窗口-命令的执行不会结束,直到您用鼠标单击。这是我点击下终端窗口后的截图:WindowScreenshot注意:在上面的截图中可以看到下终端窗口的整个显示区域都被截取了,甚至包括了上终端窗口的部分叠加内容窗户。截取屏幕时包括窗口边框scrot-ub下面是一个示例屏幕截图:截取屏幕时包括窗口边框注意:截取屏幕时包括窗口边框也会添加一些额外的背景。延迟截屏您可以在开始截屏时添加一点延迟。需要在--delay或-d选项后指定一个时间值参数。scrot--delay[NUM]scrot--delay5示例:延迟截图在本例中,scrot将等待5秒后再进行截图。截屏前倒计时此工具还可以在您使用延时功能后显示倒计时。可以使用-c选项打开此功能。scrot–delay[NUM]-cscrot-d5-c以下是截图示例:延迟截图示例图像质量您可以使用此工具调整屏幕截图的图像质量,范围在1-100之间。较大的值意味着较大的文件大小和较低的压缩率。默认值为75,但最终结果会根据所选的文件类型略有不同。可以使用--quality或-q选项打开此功能,但您必须提供1-100之间的值作为参数。scrot–quality[NUM]scrot–quality10下面是一个示例截图:screenshotquality可以看到,-q选项的参数更接近于1,这使得画面质量下降了很多。生成缩略图scort工具还可以生成屏幕截图的缩略图。可以使用--thumb选项打开此功能。此选项还采用NUM值作为参数,基本上指定原始图像大小的百分比。scrot--thumbNUMscrot--thumb50注意:添加--thumb选项会同时保存原截图文件。例如下面是我测试的原截图:原截图是保存的缩略图:ScreenshotThumbnailStitchingMulti-monitorScreenshot如果你的电脑连接了多个显示设备,你可以使用scort抓取并拼接这些显示器的截图设备。可以使用-m选项打开此功能。scrot-m这是一个示例屏幕截图:拼接屏幕截图保存屏幕截图后执行操作使用此工具,您可以对保存的屏幕截图执行各种操作——例如,使用gThumb等图像编辑器打开它们。可以使用-e选项打开此功能。下面是一个例子:scrotabc.png-e'gthumbabc.png'该命令中的gthumb是一个图片编辑器,执行完上面的命令会自动打开。下面是命令的截图:截图后执行命令这是执行上面命令后的效果:Examplescreenshot可以看到scrot已经截图了,然后启动gThumb图片编辑器打开刚才的截图保存。如果你在截图时没有指定文件名,截图将保存到当前目录,并带有时间戳文件名——这是scrot的默认设置,正如我们之前所说的。以下是使用默认名称并添加-e选项进行截图的示例:scrot-e'gthumb$n'scrot截图后运行gthumb需要注意的是$n是一个特殊的字符串,用于获取当前屏幕截图的文件名。有关特殊字符串的更多详细信息,请继续阅读下一节。特殊字符串scrot的-e(或--exec)选项和文件名参数可以采用格式说明符。有两种类型的格式。第一种由%加字母组成,用于表示日期和时间,第二种以$开头,scrot内部使用。--exec和文件名参数接受的几个说明符如下所述。$f-允许您使用屏幕截图的完整路径(包括文件名)。例如:scrotashu.jpg-e'mv$f~/Pictures/Scrot/ashish/'下面是一个示例截图:.这是scrot的默认文件名格式:%yy-%mm-%dd-%hhmmss_$wx$h_scrot.png。$n–提供屏幕截图文件名。这是一个示例屏幕截图:scrot$nvariable$s–获取屏幕截图的文件大小。这个函数可以像下面这样使用。scrotabc.jpg-e'echo$s'下面是示例截图:scrot$s变量类似,也可以使用其他格式字符串$p,$w,$h,$t,$$and\n来获取它们分别是图像像素大小、图像宽度、图像高度、图像格式、输入$字符和换行符。您可以像上面描述的$s格式一样使用这些字符串。结论该应用程序可以很容易地安装在Ubuntu系统上,对初学者很友好。Scrot还提供了一些高级功能,比如支持格式化字符串,方便专业用户用脚本进行处理。当然,如果您想使用它,则需要一点学习曲线。