Я пытаюсь запланировать вызов фантома js с помощью chron. Призрак js откроет веб-сайт и сохранит снимок экрана, и я хочу настроить его регулярно. Моя машина работает без головы, дисплей не подключен. Я использую сценарий bash для вызова фантома js, например,
phantomjs snapshot.js website.com snap.png
Этот код работает нормально, если его вручную выполнить в оболочке. Теперь, когда я настраиваю для него хронтаб, возникает ошибка.
qt.qpa.screen: QXcbConnection: Не удается подключиться к дисплею Не удается подключиться к любому дисплею X.
Я могу решить эту ошибку, изменив код на:
DISPLAY=localhost:11.0
phantomjs snapshot.js website.com snap.png
Это работает нормально, если я вошел в систему через оболочку и запущен crontab. Когда я выхожу из системы, он выдаст ту же ошибку, что и выше.
Когда я устанавливаю дисплей на
DISPLAY=:0
, как я видел в некоторых решениях для подобных проблем, он читает
qt.qpa.screen: QXcbConnection: Не удалось подключиться к дисплею: 0 Не удалось подключиться ни к одному дисплею X.
, как локально, так и под crontab.
Я установил PATH и XAUTHORITY = 'home / usr / .Xauthority' в своем сценарии оболочки.
Большое спасибо за предложения