Cron

Zenity 系統托盤通知是否不適用於 Cron?

  • August 25, 2020

我正在製作一個小腳本,在其中我多次呼叫 Zenity。手動執行腳本或從終端執行命令可以正常工作。但是,當我從 Cron 執行它們時,它們會給我帶來問題。為了測試它,我在crontab中輸入了兩個命令:

export DISPLAY=:0 && zenity --info --text "Window test"
export DISPLAY=:0 && zenity --notification --text "Notification test"

第一個命令顯示一個沒有問題的獨立通知視窗,但第二個命令應該顯示一個浮動系統托盤通知,只有當我從crontab執行它時才顯示任何內容。

如果crontab在另一個非圖形 TTY 上沒有任何問題,我該怎麼做zenity --notification

我的系統是帶有 Ubuntu 20.04 和 Plasma 桌面 5.19.4 的 KDE-Neon 5.19。Zenity 的版本是 3.32.0。

我將此添加到使用者的 crontab 中;這已經用 python(notify2 庫)和 zenity 進行了測試:

DISPLAY=":0.0"
XAUTHORITY="/home/my_username/.Xauthority"
XDG_RUNTIME_DIR="/run/user/1000"
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus

對我來說,只需添加到我的腳本頂部就足夠了:

export DISPLAY=:0
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus

非常感謝!!!

引用自:https://unix.stackexchange.com/questions/606166