我需要一种方法来刷新某个网页并大约每 5 分钟截取一次屏幕截图。我是 Ubuntu 新手,但愿意使用终端等。如果给出步骤,我以前用过,我只是不知道如何编写自己的脚本。
理想情况下,我会打开网页,然后页面会每 5 分钟刷新一次并截取一次屏幕截图。有什么帮助吗?
答案1
截图应用程序‘shutter’有您正在寻找的东西。
在终端中,执行sudo apt-get install shutter
没有 GUI 方式可以使用快门每五分钟执行一次此操作,但我们可以使用命令行让它完成这项工作。
将以下内容复制到 gedit 中:
#! /bin/bash
while true; do
shutter --web='WWW-HERE' -e
sleep 5m
done
将 WWW-HERE 替换为您想要截取的地址。现在将其保存在您的主文件夹中,并使用您能记住并希望调用的名称。
打开终端并执行chmod +x FILE
,然后sudo cp FILE /usr/local/bin
记得用您选择的名称替换 FILE。
现在,您可以打开终端并输入您选择的文件名,以开始每五分钟截取一次屏幕截图。要停止它,请按键盘上的Ctrl+ 。如果您希望它继续运行直到您注销,您只需在按+C后输入您选择的名称,它将在后台永远继续运行。AltF2
要将文件保存到其他地方或使用特殊名称,您可以将标志添加--output
到 shutter 命令(在 -e! 之前)。因此,请将该行更改为如下所示的内容:
shutter --web='WWW-HERE' --output='~/Shots/Web%Y%m%d%T' -e
这会保存到主文件夹中名为 Shots(必须存在!)的文件夹,并根据给定的时间和日期命名文件。
或者,您可以打开快门并导航到“编辑”>“首选项”,然后在那里选择您想要保存的目录。
今天的谷歌涂鸦截图如下这里。
答案2
笔记:我还没有尝试过,但你可以使用类似 scrot(截取屏幕截图)和“at”命令来实现这个目的。以下两个资源可能会有所帮助:
来自终端的截图:http://tips.webdesign10.com/how-to-take-a-screenshot-with-ubuntu-linux
使用“at”命令:http://www.ibm.com/developerworks/linux/library/l-job-scheduling/index.html
答案3
我曾经写过一个脚本,每分钟拍摄一次屏幕照片并上传。我尝试在这里为你创建类似的东西。正如 Mordoc 提到的,你可以使用阴囊 。你必须sudo apt-get install scrot
先这样做。
这是脚本。以“#”开头的行是注释,所以我将使用它们来尝试解释它:
#!/bin/bash
# ^This first line just tells linux which script language to use.
# We're using bash
# Because this script runs as a Cron-job, it runs as root and doesn't
# necessarily know which user you're logged in as. For me, this says "use
# the default display, ie the first person logged in on the computer"
DISPLAY=:0
HOME=/home/vose
export DISPLAY
export HOME
# Create the screenshots directory in case it doesn't exist yet
mkdir -p /home/vose/Pictures/Screenshots/
# Delete any screenshots more than 7 days old.
find /home/vose/Pictures/Screenshots/ -type f -mtime +7 -delete
# Launch the browser (I use firefox for normal, so I'll use chrome for this)
# The "sudo -u vose ..." means "run the command as user `vose`". You'll
# You'll need to put your username in there...
# The "&" at the end means 'launch in the background', so the script
# can keep going.
echo "Opening the browser"
sudo -u vose chromium-browser http://google.com &
# This records the ProcessID (pid) of the last opened program
# (chromium) so we can kill it later
pid=$!
# Wait 10 seconds for the browser to open and page to load
# On a slow computer/connection/webpage you may need to wait longer
sleep 10
# Take the screenshot using scrot. Save it to this file
scrot /home/vose/Pictures/Screenshots/screenshot_`date +%F-%H-%M-%S`.jpg
echo "Created screenshot_`date +%F-%H-%M-%S`.jpg"
# Kill the browser
kill $pid
在您尝试走得太远之前,请停下来看看这是否有效。
首先,将上面的脚本保存为
takeScreenshot.sh
。然后从终端输入
chmod +x takeScreenshot.sh
(Chmod 更改文件的权限,“+ x”表示我们授予它“执行”脚本的权限。)从命令行运行
./takeScreenshot.sh
- 这将手动运行脚本。执行此操作后,查看文件是否出现在图片文件夹中。如果有效,我们现在需要将其添加到克罗恩。
在命令行中输入sudo crontab -e
。(如果它询问您使用哪个编辑器,请选择 Nano。如果您以前没有使用过它,请四处寻求帮助)。
在文件中,您需要在底部添加一行,如下所示:
# m h dom mon dow command
*/5 * * * * /home/vose/Scripts/takeScreenshot.sh
这说明了什么:
- 每 5 分钟
- 每小时、每月、每月、每周
- 运行“/home/vose/Scripts/takeScreenshot.sh”
(一个小问题:确保在 crontab 中输入后有一个空行。文件的最后一行会被忽略,因此您的命令后需要一个空行)。
好吧,我希望这篇长文能有所帮助!也许有不使用命令行的方法,但你得四处看看。
答案4
尝试一下这个工具:http://www.domdigger.com/ 它不是每 5 分钟一次,但如果一小时的间隔对您来说足够了,那么它就非常适合您的需求。