如何从 root 执行通知发送?

如何从 root 执行通知发送?

我正在编写一个需要 root 权限的 bash 脚本,但我希望能够通过notify-sendGNOME(或支持该命令的任何其他桌面 shell)向非 root 用户通知某些警报。正如预期的那样,仅从notify-sendroot shell 调用不会在非 root 用户的桌面上显示通知。

我尝试通过以下方式调用该命令:

su -c "notify-send 'my message'" -s /bin/sh someuser

(以及使用/bin/bash, /usr/zsh),但这些都没有任何效果。

如何notify-send从 root shell 调用,以便它在(指定的)非 root 用户的桌面上显示通知?

答案1

你必须做这样的事情:

DISPLAY=:0.0 su $USER -c "/usr/bin/notify-send 'my message'"

以上是我过去使用以root.当然,您需要在变量中指定实际用户$USER

相关内容