可能重复:
如何每隔 n 秒截取一次屏幕截图?
如何每 30 分钟自动从 ubuntu 11.04 截取运行 Windows 2008 服务器的 Windows 计算机的屏幕截图?我现在正在做的是从 vnc 查看器访问 Windows 计算机并捕获屏幕截图。我想自动执行此过程,可以吗?如果可以,怎么做?有人可以详细解释一下吗?
答案1
有很多种可能性:
在 Linux 机器上设置网络摄像头,将其指向 Windows 机器的屏幕,以便您可以捕获其上的内容,设置 Windows 以使其不会锁定或空白屏幕。安装 fswebcam 并使用 cron 每 30 分钟自动运行一次。创建一个名为 cronfile 的文件,其中包含以下内容:
*/30 * * * * fswebcam -q "`date`.jpg"
然后使用以下命令激活 cronfile:
crontab cronfile
这会每 30 分钟将一个带有时间戳的文件放在您的主目录中。
crontab 作业定义中的前五个字段决定何时运行作业;这将简单地每月每天每小时每 30 分钟 (*/30) 运行一次(第 5 个字段允许您决定作业在一周中的哪几天运行)。将运行的命令是该行的其余部分。
fswebcam 需要一个文件名来保存捕获的图像。在本例中,我们使用 date 命令的输出来构建文件名(反引号告诉 shell 首先运行其中的命令,并将其输出值放入其中,然后再运行该行的其余部分)。我还使用了双引号,因为 date 的输出可以包含空格,因此文件名必须用引号引起来才能正常工作。
这里的所有都是它的。
另一个选择是按照现在的方式使用 VNC。您必须设置 Windows 系统和 Linux 系统,使其在一段时间不活动后不会变黑。然后,您可以使用屏幕捕获程序(我建议使用 shutter),并使用我上面描述的相同 cron 技术每 30 分钟自动运行一次。