Обновления START
Мой друг просто ответил на это. Мне нужно это сделать export DISPLAY=:0 && <my GUI dependent command here> Ожидание ответа на этот пост. Я пробовал /opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL & без &. Все еще не удается. Превышается непосредственно в командной строке. На моей машине нет файла /var/log/cron. Вспомогательный вопрос: как я могу его получить?Обновления END
У меня есть Документ Google, который мне нужно обновлять с регулярными интервалами несколько раз в день. Содержимое, которое будет формировать конкретное обновление, не может быть предсказано или определено программно. Итак, лучшим решением для меня является то, что страница Google Doc открывается автоматически с фиксированными интервалами, а затем я вручную добавляю к ней данные.
Теперь проблема в том, что то, что работает непосредственно с командой линия не работает при использовании в crontab. Ниже я попробовал (используя интервал 2mins только для тестирования) -
*/2 * * * * date >> /tmp/crontest
*/2 * * * * /opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL &
Один мой друг просто ответил на это. Мне нужно это сделать export DISPLAY=:0 && <my GUI dependent command here> Ожидание ответа на этот пост. Если я просто попробую /opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL на оболочке, он работает как ожидалось Я пробовал /opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL & без & тоже. Все еще не удается. Прерывается непосредственно в командной строке. Что я делаю неправильно? Как мне это исправить? Любой альтернативный способ достижения того, что мне нужно сделать?
Спасибо заранее.
cron предназначен для заданий командной строки и запускает команды с очень ограниченным набором переменных окружения - только HOME, LOGNAME, PATH и SHELL.
По крайней мере, chrome потребует установки DISPLAY. Он также может быть недоволен без других переменных (например, DBUS связанных). Запустите env в терминале, чтобы увидеть текущую среду.
Окружающая среда, которую вы получаете для кроны, очень ограничена. Например, вы не получаете вариацию DISPLAY, которая требуется для открытия chrome.
Оберните свою команду в скрипте
#!/bin/sh
export DISPLAY=:0
/opt/google/chrome/chrome PARTICULAR_GOOGLE_DOC_URL
Не совсем уверен, если вам нужно больше переменных, чтобы получить их Работа. Я сделал аналогичный сценарий, который запустил konsole (терминал в KDE), который работал в cron.