GUI 准备好后 Systemd 运行脚本?

GUI 准备好后 Systemd 运行脚本?

我在 pi 上运行 raspbian。我创建了一个 systemd 脚本,它在启动时运行 node.js 应用程序。

脚本:

#!/usr/bin/env bash
cd /home/pi/pop_machine && /usr/bin/npm start

系统服务:

[Service]
ExecStart=/home/pi/pop_machine/start_pop.sh

[Install]
WantedBy=default.target

如果我手动运行该脚本,但在启动时无法运行,则该脚本可以运行。我想知道这是否是因为它尝试在其依赖项之前运行。

我见过人们在运行之前需要联网,方法是添加一行,是否[install]有类似的东西,我可以等到运行 GUI 应用程序的一切准备就绪?

我想我只需要x-window?

答案1

通过将这些添加到服务中来解决:

[Service]
Environment="DISPLAY=:0"
Environment="XAUTHORITY=/home/pi/.Xauthority"

[Install]
WantedBy=graphical.target

相关内容