我试图在启动时启动在用户上下文中运行的服务,该服务不适用于以多用户为目标的服务,而仅适用于默认用户(即图形用户)。
我为我的用户和服务启用了缠绵
sudo loginctl enable-linger $USER
systemctl --user enable $SERVCE
systemctl --user start $SERVICE
但是,重新启动后该服务未启动。
该服务最初是针对多用户的
[Install]
WantedBy=multi-user.target
即,导致服务链接
$HOME/.config/systemd/user/multi-user.target.wants/SERVICE.service
与预期的不同,该服务在启动时未启动。
仅在将目标更改为默认值之后
WantedBy=default.target
(当前为图形)并重新启用该服务,该服务会自动启动。
但是,我以为图形是多用户下游的目标,即“以后”,还是?
是什么阻止了该服务从多用户启动?
来自man 7 systemd.special
,
特殊用户单位。
When systemd runs as a user instance, the following special units are available, which have similar definitions as their system counterparts: default.target, shutdown.target, sockets.target, timers.target, paths.target, bluetooth.target, printer.target, smartcard.target, sound.target.
因此,没有用户multi-user.target。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句