Я хочу делать скриншот каждые пять минут с помощью «scrot». Чтобы сделать это по SSH-соединению, я могу либо запустить
ssh -X user@server
while true; do scrot -z; sleep 300; done
ИЛИ (после ручной проверки имени папки в / var / run / gdm / auth-for-XXX-YYY / database)
ssh user@server
export DISPLAY=:0
export XAUTHORITY=/var/run/gdm/auth-for-user-wUM1sV/database
while true; do scrot -z; sleep 300; done
Но если я хочу сделать это как задание cron, мне автоматически потребуется сопоставить переменную окружения XAUTHORITY со случайной папкой в / var / run / gdm /. Согласно этому посту Как мне создать файл .Xauthority? это сопоставление выполняется автоматически, но я полагаю, что это не относится к заданиям cron и, очевидно, не к сессиям SSH, если переадресация X не используется. 115]
Есть ли у кого-нибудь предложения о том, как создать эту работу cron?
Если ваш пользователь вошел в систему с сеансом X и является первым сеансом, он получит номер дисплея 0, в противном случае попытайтесь выяснить номер дисплея, на котором работает пользователь. Попробуйте вставить это в crontab пользователя
*/5 * * * * DISPLAY=:0 /usr/bin/scrot