我正在尝试设置一个单元,以普通用户身份在 Debian Stretch 上运行。我通过 连接到它ssh
。
我首先以 root 身份执行此操作(用户名是相关用户):
# loginctl enable-linger username
然后当我跑步时:
# systemctl --user
我得到:
Failed to connect to bus: Permission denied
我该如何解决?
答案1
在 Debian Stretch 上,这个问题还有另一种可能的解决方案(至少):如果libpam-systemd
未安装该软件包,则 PAM 永远不会触发 systemd 创建 systemd-user 守护程序。
答案2
事实证明,在我安装的 debian stretch 中,XDG_RUNTIME_DIR
所有非 root 用户的环境变量配置错误,被设置为/run/user/0
。
相反,它应该设置为当前用户的 ID。要实现这一点,您可以将以下内容添加到.bashrc
:
export XDG_RUNTIME_DIR=/run/user/`id -r -u`