网站搜索

Scrot:在 Linux 中自动截取桌面/服务器屏幕截图的命令行工具


Scrot (SCReenshOT) 是一个开源、强大且灵活的命令行实用程序,用于拍摄桌面终端 的屏幕截图 或特定窗口手动或通过Cron作业自动执行。 Scrot 类似于 Linux 的“import”命令,但使用“imlib2”库来捕获和保存图像。它支持多种图像格式(JPG、PNG、GIF 等),您可以在使用该工具截屏时指定这些格式。

斯克罗特的特点

  1. 使用 scrot,我们可以轻松截取屏幕截图,无需任何额外的工作。
  2. 我们还可以优化屏幕截图图像的质量(使用 -q 开关,后跟 1100 之间的质量级别。默认质量级别为75
  3. 它非常容易安装和使用。
  4. 我们可以借助开关来捕获特定窗口或屏幕上的矩形区域。
  5. 可以获取特定目录中的所有屏幕截图,也可以将所有屏幕截图存储在远程 PC 或网络服务器中。
  6. 可以在管理员不在的情况下监控所有台式电脑并防止不必要的活动。

在 Linux 中安装 Scrot

我们可以在任何 Linux 发行版上安装“Scrot”。如果您使用基于RedHatDebian的发行版,则可以使用包管理器工具,例如yumapt-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”开关,您可以指定1100之间的图像质量级别。默认图像级别设置为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/


版权所有。 © Linux-Console.net • 2019-2024