Как на CRON запустить BASH скрипт который выведет окно с текстом в Ubuntu Linux

Не могу понять почему не работает вывод окна пользователю, если команда по его выводу находится в BASH скрипте, который запускается на CRON.

Содержимое скрипта happy.sh

#!/bin/bash
zenity --info --text="Happy birthday!"

Команда в crontab

*/1 * * * * /bin/sh /home/toorr2p/happy.sh >> /home/toorr2p/happy.log

При этом если я команду запускаю просто из консоли zenity --info --text="Happy birthday!" то окно выводится

Или если вызываю скрипт из консоли ./happy.sh то тоже все ок, а вот на cron отказывается работать...

Помогите разобраться пожалуйста!


Ответы (2 шт):

Автор решения: toorr2p

Просмотреть переменные среды введя команду env в консоли, и там увидим DISPLAY и его значение, берем его и прописываем в скрипте так

#!/bin/bash
DISPLAY=:1 zenity --info --text="Happy birthday!"
→ Ссылка
Автор решения: Ivan

Посмотреть help к zenity:

$ zenity --help
Использование:
  zenity [ПАРАМЕТР…]
  ...
  --display=DISPLAY                X display to use

Итоговая команда:

$ zenity --info --display=:1 --text="Happy birthday!"
→ Ссылка