我已经为一堆 RP 提供了一个 systemd 服务,该服务在 kiosk 模式下运行一个 chromium 浏览器实例,但在一些看似随机的设备上它无法运行。我只是通过尝试启用它来检查状态,然后我得到了
$ sudo systemctl enable kiosk.service
Failed to enable unit: Unit file /lib/systemd/system/kiosk.service is masked.
我查了一下“被掩盖”意味着什么,以了解这是如何发生的,并且回应只是简单地说明“这些单位链接到/dev/null
”。好吧,但是为什么我的服务也发生过这种情况吗? ~~systemctl unmask kiosk.service
将揭露我的服务,但是~~(从头开始,请参阅下面的编辑)我想确保它不会继续发生。
这是实际的“kiosk.service”内容(如果相关):
[Unit]
Description=Chromium Kiosk
Wants=graphical.target
After=graphical.target
[Service]
ExecStartPre=/bin/sleep 20
Environment=DISPLAY=:0.0
Environment=XAUTHORITY=/home/pi/.Xauthority
Type=simple
ExecStart=/bin/bash /home/pi/kiosk.sh
Restart=on-abort
User=pi
Group=pi
[Install]
WantedBy=graphical.target
编辑:
其实sudo systemctl unmask kiosk.service
好像什么也没做。当我这样做时,sudo systemctl enable kiosk.service
它会返回与它被掩盖的相同的抱怨。
编辑2:
因此,我没有成功地取消屏蔽,只是删除了 lib/systemd/system/kiosk.service 并将其重新订阅为服务,现在它似乎保持启用状态。仍然不知道为什么它一开始就被蒙蔽了。