延迟已启用
loginctl enable-linger
但是,在用户登录之前,用户服务不会启动。再次注销时,服务仍保持活动状态。
当用户不在 /etc/passwd 文件中但通过 NIS 提供时,是否需要额外的东西才能使其工作?
该服务已正确添加到default.target
,因此这似乎与为什么我的 systemd 用户单元没有在启动时启动?
答案1
有趣的。network-online.target
默认情况下不会被拉入,所以我认为systemd-logind
它不会做任何事情;我猜登录不知道它需要等待您的用户详细信息可用......
抬头nss-user-lookup.target
。也许您应该创建一个嵌入式文件,以便nss-user-lookup.target
获得Wants=
和。After=
network-online.target
中的评论nss-user-lookup.target
听起来不像您预期的需求。 “这主要是针对缺乏套接字/总线激活的实现而存在的。”
我相信SSSD实现了离线访问的缓存。因此,也许当您使用 SSSD 时,它就可以正常工作,而不必让一切都等待 wifi。
看起来非 SSSD 解决方案也可以为离线访问提供缓存,但默认设置可能缓存时间不够长:https://wiki.debian.org/LDAP/NSS#Offline_caching_of_NSS_with_nscd
答案2
该问题已通过将用户添加到 /etc/passwd 文件中解决,而不仅仅是依赖 NIS。