我在 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