На этот вопрос уже есть ответ здесь:
Я пользователь Ubuntu 12.04 и хочу, чтобы моя машина автоматически делала снимки экрана моей работы каждые 2 минуты . Итак, какое программное обеспечение вы предпочитаете. Пожалуйста, посоветуйте мне.
Я бы предпочел ImageMagick.
Примечание: ознакомьтесь с действующим законодательством о конфиденциальности, так как на скриншотах могут содержаться конфиденциальные данные.
Теперь о том, как это сделать:
Вам необходимо иметь пакет ImageMagick:
# apt-get install imagemagick
Затем создайте скрипт Bash, чтобы сделать снимок экрана, сохраните его где-нибудь (я Я использую пример имени файла /path/to/your/script.sh
) и сделаю его исполняемым (chmod +x /path/to/your/script.sh
):
#!/bin/bash
# change this for a different date format - see: man date
export DATE=`date '+%Y-%m-%d_%H%M%S'`
# display to take the screenshot of
export DISPLAY=:0
# filename to screenshot
export SCREENSHOT_FILENAME="/tmp/screenshot-$DATE.png"
/usr/bin/import -window root "$SCREENSHOT_FILENAME"
Наконец, настройте скрипт cron, чтобы сделать это для вас (crontab -e
, добавьте эту строку до конца):
*/2 * * * * /path/to/your/script.sh
Это будет каждые две минуты пытаться делать снимки экрана с дисплеем 0 (который является настройкой по умолчанию; если у вас есть настройка на несколько мест, вам может понадобиться узнать, какое окно вам нужно) и сохраните их как PNG с метками времени в / tmp (это пример местоположения, которое, вероятно, существует; вы можете использовать другой каталог).
Предупреждения: нет проверки свободного места, поэтому сценарий может заполнить все пространство в целевом местоположении. Сценарий предполагает, что пользователь вошел в систему при отображении: 0 (если другой пользователь вошел в систему, пользователь вошел в систему при другом отображении или X-сеанс отсутствует, сценарий завершится ошибкой).