系统服务未执行通知发送

问题描述 投票:0回答:2

我想在我的python脚本中为某些事件生成弹出窗口。我正在为此目的使用“通知发送”。

subprocess.Popen(['notify-send', "Authentication", "True/False"])

上面的命令在终端上执行正常,但是当我从systemd-service运行它时,它不会生成任何弹出窗口。当我看到日志时,没有错误。

不知道该怎么办。请帮助。

python linux systemd notify-send
2个回答
0
投票

运行图形应用程序需要设置DISPLAY环境变量,该变量在从CLI运行时将被设置,但是从systemd运行时将被设置(除非您明确设置)。>

Writing a systemd service that depends on XOrg中将更多讨论此问题。

我同意一般建议,systemd可能不是工作的最佳工具。使用桌面环境的“自动启动”功能运行您的应用程序可能会更好,它可以在所需的环境中设置正确的内容。


0
投票

您需要首先设置环境变量,以便根可以与当前登录的用户进行通信。就我而言,我按如下方式进行:

© www.soinside.com 2019 - 2024. All rights reserved.