如何调试:无法连接到总线:没有此文件或目录(systemctl--user status)?

如何调试:无法连接到总线:没有此文件或目录(systemctl--user status)?

我正在尝试从用户帐户运行,systemctl --user status以便不从 root 运行服务。

我的做法如下:

  1. loginctl enable-linger $USER
  2. export XDG_RUNTIME_DIR="/run/user/$UID"

然后当我运行时systemctl --user status出现以下错误:Failed to connect to bus: No such file or directory

我尝试调试这个。

  1. 通过以下方式设置DBUS_SESSION_BUS_ADDRESS环境变量:export DBUS_SESSION_BUS_ADDRESS="unix:path=${XDG_RUNTIME_DIR}/bus"这并没有解决问题。(来源
  2. 每次更改后重新启动服务器。
  3. 重新安装 dbussudo apt reinstall dbus-user-session

我还注意到该XDG_RUNTIME_DIR目录不存在,例如sudo ls -l /run/user/1001

我不确定还能尝试什么或如何更多地了解这个问题,以便能够以更明智的方式解决这个问题。

任何可以帮助我调试和理解这一点的信息都非常受欢迎。

PS 我正在运行 Ubuntu 20.04.5,问题很可能发生在sudo apt-get upgrade我运行之后。在此之前它运行良好。

答案1

我遇到了同样的问题,不过重启有帮助。你还应该知道你需要为用户编辑 .bashrc。查看我的 wiki 页面以获取说明

https://dw.exitstatus0.com/doku.php?id=wiki:systemd_user_service#troubleshooting

相关内容