我正在编写一个需要 root 权限的 bash 脚本,但我希望能够通过notify-send
GNOME(或支持该命令的任何其他桌面 shell)向非 root 用户通知某些警报。正如预期的那样,仅从notify-send
root 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
。