我尝试在启动时启动在我的用户上下文中运行的服务,但该服务不起作用多用户作为目标,但仅限于默认, IE,图形化的。
我为我的用户和服务启用了延迟
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
(目前是图形化的)并重新启用该服务,该服务自动启动。
然而,我原以为图形化的是下游多用户作为目标,即“稍后”,或者?
可能是什么阻止了服务启动多用户?
答案1
从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。