Обратные галочки работают в скрипте ruby ​​при запуске из командной строки, но не из Crontab - PullRequest
1 голос
/ 18 марта 2019

У меня есть скрипт Ruby с командой

`notify-send "Error in EYW Spaces script" "#{Shellwords.escape(message)}"`

Если я просто запускаю скрипт из командной строки, я получаю всплывающее сообщение, но если я помещаю скрипт в crontab

*/5 * * * * ruby ~/software_dev/scripts/new_script.rb

тогда ничего не происходит.Я точно знаю, что скрипт работает правильно, так как я получаю вывод скрипта по электронной почте, но всплывающее окно не появляется.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Похоже, что это не проблема с рубином, а потому, что она вызывает вызов-уведомление из crontab.

https://askubuntu.com/questions/298608/notify-send-doesnt-work-from-crontab

Одним из решений было добавить DISPLAY=:0 в ваш скрипт:

`DISPLAY=:0 notify-send "Error in EYW Spaces script" "#{Shellwords.escape(message)}"`
0 голосов
/ 18 марта 2019

Возможные проблемы:

  • Пользователь, запустивший crontab (root, вы, ???) и его системные разрешения
  • ruby версия и notify-send в этом пользователе PATH
  • Не указывается переменная DISPLAY в вашем cron

Попробуйте это (измените номер на правильное значение DISPLAY) ->

*/5 * * * * DISPLAY=:0 ruby ~/software_dev/scripts/new_script.rb

Может быть полезно: https://unix.stackexchange.com/questions/10121/open-a-window-on-a-remote-x-display-why-cannot-open-display

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...