Мне нужен способ обновить определенную веб-страницу и делать снимок экрана примерно каждые 5 минут. Я новичок в Ubuntu, но готов использовать терминал и т. Д. Если даны шаги, я использовал его раньше, я просто не знаю, как писать собственные сценарии.
В идеале, у меня была бы открытая веб-страница, и страница обновлялась бы и делала снимок экрана каждые 5 минут. Любая помощь с этим?
Скриншот приложения «Затвор» имеет то, что вы ищете.
В терминале выполните 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 kbd> + C kbd> на клавиатуре. Если вы хотите, чтобы оно продолжалось до тех пор, пока вы не выйдете из системы, вы можете просто ввести выбранное имя после нажатия Alt kbd> + F2 kbd>, и оно будет работать вечно в фоновом режиме. 1114] Чтобы сохранить файлы в другом месте или со специальным именем, вы можете добавить флаг Это сохранит в папку с именем «Снимки (должна существовать!)» В вашей домашней папке, и назовите файл с указанием времени и даты. В качестве альтернативы вы можете открыть затвор и перейти в «Правка»> «Настройки» и выбрать каталог там, где вы хотите сохранить. Примером скриншота сегодняшнего каракуля Google является здесь. --output
к команде затвора (перед -e!). Поэтому измените эту строку, например, следующим образом: shutter --web='WWW-HERE' --output='~/Shots/Web%Y%m%d%T' -e
У меня когда-то был сценарий, чтобы делать фотографию моего экрана каждую минуту и загружать его. Я попытался создать что-то подобное для Вас здесь. Как упомянутый Mordoc, можно использовать scrot . Вы будете иметь к 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
Что это говорит:
(один маленький глюк: удостоверьтесь, что существует пустая строка после Вашей записи в crontab. Последняя строка файла проигнорирована, таким образом, Вам нужна пустая строка после Вашей команды).
Ну, я надеюсь, что это длинное сообщение помогает! Могли бы быть способы сделать это без командной строки, но необходимо будет озираться.
Дайте попытке этот инструмент: http://www.domdigger.com/, который Это не каждые 5 минут, но если одночасовой интервал достаточно для Вас, это идеально подходит для Ваших потребностей.
Примечание : я не пробовал этого, но вы могли бы использовать что-то вроде 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