LINUX.ORG.RU
ФорумAdmin

zenity & crontab

 


0

1

Почему-то не работает zenity из под crontab?

$ sudo crontab -l
13 2 * * * /usr/bin/zenity --question --timeout=600 --text="Завершить работу?"; if [ "$?" -eq 5 -o "$?" -eq 0 ] ; then /sbin/poweroff; else /usr/bin/notify-send   -t  50000  -u  low -i  gtk-dialog-info "Вы отменили отключение компьютера"; fi
$ sudo cat syslog
210007 Feb  5 02:13:01 user CRON[7949]: (root) CMD (/usr/bin/zenity --question --timeout=600 --text="\320\227\320\260\320\262\320\265\321\200\321\210\320\270       \321\202\321\214 \321\200\320\260\320\261\320\276\321\202\321\203?"; if [ "$?" -eq 5 -o "$?" -eq 0 ] ; then /sbin/poweroff; else /usr/bin/notify-send          -t  50000  -u  low -i  gtk-dialog-info "\320\222\321\213 \320\276\321\202\320\274\320\265\320\275\320\270\320\273\320\270 \320\276\321\202\320\272\320       \273\321\216\321\207\320\265\320\275\320\270\320\265 \320\272\320\276\320\274\320\277\321\214\321\216\321\202\320\265\321\200\320\260"; fi)

Это же X-овая утилита, она должна подключаться к X-cерверу, её нужены переменные среды DISPLAY и XAUTHORITY. Это всё множество раз рассмотрено и гуглится — запуск чего-то из-под cron, допустим http://unix.stackexchange.com/questions/80310/how-to-display-a-zenity-gui-dia... . Главное в таком скрипте найти где запущена сессия пользователя, в одну строчку такое лучше не писать.

mky ★★★★★ ()
Ответ на: комментарий от mky

Спасибо, кстати достаточно перед командой прямо в строке для cron написать DISPLAY=:N

ntanchik ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.