Zenityシステムトレイ通知はCronでは機能しませんか?

Aug 25 2020

Zenityを何度か呼び出す小さなスクリプトを作成しています。スクリプトを手動で実行するか、端末からコマンドを実行すると、正しく機能します。ただし、Cronから実行すると、問題が発生します。それをテストするために、私はcrontabに2つのコマンドを入れました:

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

最初のコマンドは問題なく独立した通知ウィンドウを表示しますが、2番目のコマンドはフローティングシステムトレイ通知を表示するはずですが、crontabから実行した場合にのみ何も表示されません。

別の非グラフィックTTYから問題なく動作する場合zenity --notificationcrontabから動作させるにはどうすればよいですか?

私のシステムはKDE-Neon5.19とUbuntu20.04およびPlasmaデスクトップ5.19.4です。Zenityのバージョンは3.32.0です。

回答

2 ajgringo619 Aug 25 2020 at 05:32

これをユーザーの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
FenrirWolfwood Aug 25 2020 at 19:26

スクリプトの先頭に追加するだけで十分でした。

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

どうもありがとう!!!