Scrot:在 Linux 中自动截取桌面/服务器屏幕截图的命令行工具
Scrot (SCReenshOT) 是一个开源、强大且灵活的命令行实用程序,用于拍摄桌面、终端 的屏幕截图 或特定窗口手动或通过Cron作业自动执行。 Scrot 类似于 Linux 的“import”命令,但使用“imlib2”库来捕获和保存图像。它支持多种图像格式(JPG、PNG、GIF 等),您可以在使用该工具截屏时指定这些格式。
斯克罗特的特点
- 使用 scrot,我们可以轻松截取屏幕截图,无需任何额外的工作。
- 我们还可以优化屏幕截图图像的质量(使用 -q 开关,后跟 1 和 100 之间的质量级别。默认质量级别为75。
- 它非常容易安装和使用。
- 我们可以借助开关来捕获特定窗口或屏幕上的矩形区域。
- 可以获取特定目录中的所有屏幕截图,也可以将所有屏幕截图存储在远程 PC 或网络服务器中。
- 可以在管理员不在的情况下监控所有台式电脑并防止不必要的活动。
在 Linux 中安装 Scrot
我们可以在任何 Linux 发行版上安装“Scrot”。如果您使用基于RedHat或Debian的发行版,则可以使用包管理器工具,例如yum或apt-get如下所示安装它。
yum install scrot [On RedHat based Systems]
sudo apt-get install scrot [On Debian based Systems]
如果您想从源代码安装它,请使用以下命令。
wget http://linuxbrit.co.uk/downloads/scrot-0.8.tar.gz
tar -xvf scrot-0.8.tar.gz
cd /scrot-0.8
./configure
make
su -c "make install"
注意:RedHat用户,需要使用configure命令指定前缀位置。
./configure --prefix=/usr
如何使用 Scrot 进行屏幕截图
正如我上面所说,scrot 可以捕获整个桌面、终端或特定窗口。在 scrot 的帮助下,您还可以拍摄没有 GUI 支持的系统的 shell/终端的屏幕截图。
拍摄完整桌面屏幕截图
让我们在终端中使用以下命令来拍摄桌面的整个屏幕截图。
scrot /home/tecmint/Desktop.jpg
拍摄特定的窗口屏幕截图
如果您想捕获屏幕上的特定区域,可以使用以下带有'-s'开关的命令,该命令允许您用鼠标交互地选择要捕获屏幕截图的区域。
scrot -s /home/tecmint/Window.jpg
调整图像质量
借助“-q”开关,您可以指定1和100之间的图像质量级别。默认图像级别设置为75,图像输出将根据您指定的文件格式而有所不同。
以下命令将以原始高质量屏幕的 90% 质量捕获图像。
scrot -q 90 /home/tecmint/Quality.jpg
自动截屏
现在,如果您想自动获取屏幕截图,则需要创建一个简单的 shell 脚本。使用“touch”命令创建文件“screen.sh”,并向其中添加以下内容。
#!/bin/sh
DISPLAY=:0 scrot 'tecmint-%Y-%m-%d-%H_%M.jpg' -q 20 && mv /home/tecmint/*.jpg /media/tecmint
现在授予“777”权限并设置Cron作业。
chmod 777 screen.sh
打开“crontab”文件并添加以下条目。您可以定义自定义间隔时间。
crontab -e
*/1 * * * * sh /home/tecmint/screen.sh
上述 Cron 条目将每“1”分钟运行一次,并截取屏幕截图并将其存储在“/media/howtoing”目录下,文件名为日期和时间。运行脚本1分钟后,这是我在“howtoing”目录中找到的内容。
参考链接
http://linuxbrit.co.uk/software/