![从 systemd 守护进程发送通知](https://linux22.com/image/1153572/%E4%BB%8E%20systemd%20%E5%AE%88%E6%8A%A4%E8%BF%9B%E7%A8%8B%E5%8F%91%E9%80%81%E9%80%9A%E7%9F%A5.png)
我知道我可以向用户发送一个通知,该通知将出现在屏幕的右上角并自行消失,如下所示:
notify-send "Device detected correctly"
gnome-terminal
但是,只有当我在图形环境中运行它时它才有效。
我想从守护进程发送通知。它以不同的用户身份运行,并由 systemd 启动。我该如何实现?
答案1
简短的回答是,您不能。通知是一种 dbus 服务,它在用户的会话总线上运行。如果您想从系统服务向用户发送通知,您需要有一个以用户身份运行并与系统服务和用户的会话总线通信的守护进程来发送通知。
使用任何黑客手段绕过这个设计,几乎肯定会造成安全漏洞。