我正在编写一个使用 sudo 权限运行的 python 脚本。在某些时候,我想向用户发送通知。我注意到 notify-send 不能作为 root 用户工作,所以我尝试通过 do 以实际用户身份运行它su $SUDO_USER -c notify-send ...
,但这也不起作用。
以下第一个函数在没有 sudo 权限的情况下运行。使用 sudo 运行时,它们都不起作用。知道为什么吗?
def notify(message):
subprocess.run(['notify-send', '-i', 'utilities-terminal', 'Notification Title', message],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
check=True)
def notifySudo(message):
subprocess.run(['su', os.environ['SUDO_USER'], '-c', 'notify-send', '-i', 'utilities-terminal', 'Notification Title', message],
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
check=True)