给定 UID 1000 的服务定义~/.config/systemd/user/do-something.service
,该服务会自动安装、启用和启动登录时,我想do-something.service
开始在系统启动时反而。
一种可能的解决方案是[email protected]
作为系统的依赖项进行安装multi-user.target
,但问题是这是否是推荐的设置以及它的缺点是什么。
答案1
据我了解ArchWiki 上的 systemd/User 条目,在启动时启动用户管理器是由 systemd-logind 处理的。对于当前用户:
loginctl enable-linger
对于不同的USER
(用户名或 ID):
sudo loginctl enable-linger USER
从手册页:
如果为特定用户启用,则会在启动时为该用户生成用户管理器,并在注销后保留。这允许未登录的用户运行长时间运行的服务。