使用notify-send远程Linux桌面通知

use*_*999 5 python linux dbus notify kde-plasma

我在 zmq 中制作了一个客户端-服务器系统,它将帮助向登录到网络上所有计算机的人员发送大量通知。

客户端守护进程在所有不同的计算机上以 root 身份运行。但是,当消息发送到此类客户端并且调用“通知发送”时,该消息不会在用户桌面上弹出。我看到的错误是:

(通知发送:8670):GLib-GObject-CRITICAL **:g_object_unref:断言“G_IS_OBJECT(对象)”失败

我相信这是因为通知发送只能通过图形界面发送。或者通过在该特定用户下运行守护程序而不是作为 root 并设置 DISPLAY=:0

1)有没有办法发送通知,如notify-send或kdialog等,在root下运行客户端守护进程而不是用户本身?

2)还有其他方法可以更优雅地实现这一点吗?

3)并且,可以以任何方式使用 dbus 来做到这一点吗?

tek*_*agi 1

您可以su以用户身份设置DISPLAY=:0并运行notify-send。我以前做过这个