Назад | Перейти на главную страницу

Запустить приложение с графическим интерфейсом через cronjob в Ubuntu?

У меня есть удаленный сервер под управлением Ubuntu 10.04 Desktop. Из него я хочу запустить сценарий, который просматривает список веб-сайтов и снимает их скриншоты.

Скрипт рабочий и тщательно протестирован.

Когда я подключаюсь к серверу по SSH с ssh -X user@ip-adress Я могу запустить свой сценарий, позвонив ./myscript.py и все будет нормально работать.

Затем я изменил свой файл crontab и добавил ...
59 17 * * * env DISPLAY=:0 /path/to/myscript.py
... как рекомендовано Ubuntu WIKI.

Я вижу в /var/log/syslog что моя работа cron запущена, но не делает снимков экрана.

При беге env DISPLAY=:0 /path/to/myscript.py из оболочки я получаю
No protocol specified
myscript.py: cannot connect to X server :0

Если я подключу ssh к серверу без -X вариант, я получаю только вторую строку ошибки: myscript.py: cannot connect to X server :0

Что я могу попробовать сейчас?

Подробнее

Заранее спасибо!

Вы можете подумать о беге xvfb безголовый X-сервер.

вы запускаете скрипт через cron на сервере?

кроме того, этого не будет: 0, когда вы выполняете X через ssh, это будет что-то совершенно другое.

это было бы намного проще сделать локально или, по крайней мере, запустить локально из cron на машине, на которой работает X.

когда вы входите в систему и можете успешно запустить скрипт на сервере, попробуйте echo $DISPLAY чтобы увидеть, как он установлен. мой sshd_config имеет X11DisplayOffset 10, что означает, что это будет hostname:10.0