使用 notify-send 的远程 linux 桌面通知

Posted

技术标签:

【中文标题】使用 notify-send 的远程 linux 桌面通知【英文标题】:Remote linux desktop notification using notify-send 【发布时间】:2015-02-19 21:03:03 【问题描述】:

我在 zmq 中创建了一个客户端 - 服务器系统,这将有助于向登录到网络上所有机器的人发送大量通知。

客户端守护程序在所有不同的机器上都在 root 下运行。但是,当一条消息被发送到一个这样的客户端并且当它调用“通知发送”时,该消息不会在用户桌面上弹出。我看到的错误是:

(notify-send:8670): GLib-GObject-CRITICAL **: g_object_unref: 断言 `G_IS_OBJECT (object)' 失败

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

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

2) 还有其他更优雅的方法吗?

3) 而且,可以以任何方式使用 dbus 来执行此操作吗?

【问题讨论】:

【参考方案1】:

您可以su 作为用户,设置DISPLAY=:0 并运行notify-send。我有done this before。

【讨论】:

以上是关于使用 notify-send 的远程 linux 桌面通知的主要内容,如果未能解决你的问题,请参考以下文章

linux里面如何利用crontab 和 notify-send ,实现每秒钟发送一次通知到桌面?

日常开发技巧:使用notify-send发送通知

如何在我的桌面(Windows 7)上使用我的python程序在没有notify2,notify-send,pqt5的桌面上显示简单的通知?

创建Emacs版的notify-sender

Linux休息提醒

PHP exec |尝试设置DBUS_SESSION_BUS_ADDRESS时出现空字节错误