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

Рейтинг: 0Ответов: 2Опубликовано: 08.05.2023

Не могу понять почему не работает вывод окна пользователю, если команда по его выводу находится в 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 отказывается работать...

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

Ответы

▲ 1Принят

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

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

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

$ zenity --info --display=:1 --text="Happy birthday!"
▲ 1

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

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