Zenity отказывается работать в фоновом режиме

Я пытаюсь создать фоновый bash-скрипт, который создает всплывающее окно в определенных обстоятельствах, однако мой код работает только при запуске вручную в терминале (например, не в фоновом режиме). Я пробовал различные вещи, такие как:

screen env DISPLAY=:0.0 su $USER -c 'zenity --warning --text "Warning message here"' 

Или

 screen zenity --warning --text "Warning message here" 

Я потратил несколько часов на различные вещи, и я чувствую, что должно быть простое решение, и я просто что-то пропустил.

Ничего из того, что я пробовал, работает, пока сценарий запускается в фоновом режиме с помощью cron.

Я запускаю Lubuntu 12.04, LXDE.

Любые идеи, почему я не могу заставить его работать?

2 Solutions collect form web for “Zenity отказывается работать в фоновом режиме”

Раньше у меня была аналогичная проблема, когда я проверил $DISPLAY , я заметил, что у нее ничего не было, поэтому мне пришлось установить ее, а также мне пришлось использовать xhost + чтобы всплывающее сообщение xhost + .

Попробуйте выполнить следующую команду:

 xhost + zenity --warning --text "Warning message here" --display="yourmachine:0.0" 

Похоже, что OP решила его, но у меня был такой же базовый вопрос, так что это быстрое решение для кого-то еще. При запуске в фоновом режиме создается следующая ошибка:

Gtk-Message: GtkDialog отображается без временного родителя. Это не рекомендуется.

Я запускаю zenity в скрипте через команду at -f script.sh , поэтому перед запуском команды должна быть задана переменная среды $DISPLAY :

 env DISPLAY=:0.0 zenity --warning --text "TIME TO CLOCKOUT!" 

Теперь это работает.

  • Если команда достижения таймаута выполняет другую команду
  • Выход awk имеет дополнительные возвраты каретки и буферизуется
  • Окно сообщения GUI в SLES 11
  • Как создать диалог с несколькими текстовыми полями, используя zenity?
  • Что случилось с моим диалогом зенитности? селектор не распространяется по вертикали
  • Повторное использование пользовательского ввода в скрипте
  • Как отобразить диалоговое окно (zenity / GUI) пользователю после завершения задачи cron cron
  • Почему вход в канал хорошо подходит для zenity, но <файловые неполадки?
  • Закрепление скрипта немного больше
  • Сделать окно сообщения zenity масштабируемым?
  • YAD и Zenity - ввод времени начала / остановки для обрезания видео
  • Linux и Unix - лучшая ОС в мире.