我想在我的python脚本中为某些事件生成弹出窗口。我正在为此目的使用“通知发送”。
subprocess.Popen(['notify-send', "Authentication", "True/False"])
上面的命令在终端上执行正常,但是当我从systemd-service运行它时,它不会生成任何弹出窗口。当我看到日志时,没有错误。
不知道该怎么办。请帮助。
运行图形应用程序需要设置DISPLAY
环境变量,该变量在从CLI运行时将被设置,但是从systemd
运行时将被设置(除非您明确设置)。>
Writing a systemd service that depends on XOrg中将更多讨论此问题。
我同意一般建议,systemd
可能不是工作的最佳工具。使用桌面环境的“自动启动”功能运行您的应用程序可能会更好,它可以在所需的环境中设置正确的内容。
您需要首先设置环境变量,以便根可以与当前登录的用户进行通信。就我而言,我按如下方式进行: