`systemctl --user` 导致 Google 计算实例中出现“无法连接到总线”

`systemctl --user` 导致 Google 计算实例中出现“无法连接到总线”

我使用 Debian 9 通过 ssh 连接到 google 计算实例。当我尝试任何systemctl --user ...命令(systemctl --user status例如)时,我收到错误:“无法连接到总线:没有此文件或目录”。

我尝试设置 XDG_RUNTIME_DIR=/run/user/$(id -u) 并发现 /run/user 中没有创建目录。

我还安装了 dbusapt install dbus并确保 dbus.service 正在运行(它最初没有安装)。

sshd_config 默认有UsePAM yes

答案1

解决:

sudo apt install --reinstall libpam-systemd

安装了新软件包:dbus、libdbus-1-3

注销/登录后systemctl --user status,其他“systemctl --user”命令有效。无需设置“XDG_RUNTIME_DIR”。

答案2

我在重新启动 pipewire 服务时遇到了类似的问题,解决方案是在 systemctl 前面删除 sudo。 https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1608

答案3

启用逗留功能对我解决您的情况有帮助:

$ loginctl enable-linger $USER

现在我可以看到我的用户$XDG_RUNTIME_DIR被创建和使用:

$ ls -lant $XDG_RUNTIME_DIR
total 0
drwxr-xr-x 6 1177 1177 160 Aug  5 11:36 systemd
drwx------ 8 1177 1177 220 Aug  5 11:36 .
drwx------ 3 1177 1177  60 Aug  5 11:36 dbus-1
drwx------ 3 1177 1177  60 Aug  5 11:33 containers
drwx-----T 2 1177 1177  40 Aug  5 11:33 libpod
drwx------ 2 1177 1177 140 Aug  5 11:33 gnupg
srw-rw-rw- 1 1177 1177   0 Aug  5 11:33 pk-debconf-socket
drwxr-xr-x 2 1177 1177  60 Aug  5 11:33 podman
srw-rw-rw- 1 1177 1177   0 Aug  5 11:33 snapd-session-agent.socket
srw-rw-rw- 1 1177 1177   0 Aug  5 11:33 bus
drwxr-xr-x 3    0    0  60 Aug  5 11:33 ..

这要归功于podman的华丽警告信息中的这个建议:

$ podman run -u 1177 ubuntu bash -c "whoami"
WARN[0000] The cgroupv2 manager is set to systemd but there is no systemd user session available 
WARN[0000] For using systemd, you may need to login using an user session 
WARN[0000] Alternatively, you can enable lingering with: `loginctl enable-linger 1177` (possibly as root) 
WARN[0000] Falling back to --cgroup-manager=cgroupfs    
WARN[0000] The cgroupv2 manager is set to systemd but there is no systemd user session available 
WARN[0000] For using systemd, you may need to login using an user session 
WARN[0000] Alternatively, you can enable lingering with: `loginctl enable-linger 1177` (possibly as root) 
WARN[0000] Falling back to --cgroup-manager=cgroupfs    
1177

相关内容