systemctl --user 对于桌面用户来说似乎工作正常:
dev@dev-VirtualBox:~$ systemctl --user > /dev/null
dev@dev-VirtualBox:~$ echo $?
0
Run Code Online (Sandbox Code Playgroud)
但是当在 www-data 用户下运行相同的命令时,我得到了一个意外的响应
dev@dev-VirtualBox:~$ sudo su www-data -s /bin/bash
www-data@dev-VirtualBox:~$ systemctl --user > /dev/null
Failed to connect to bus: No such file or directory
www-data@dev-VirtualBox:~$ echo $?
1
Run Code Online (Sandbox Code Playgroud)
systemctl --user这里怎么启用?
运行 Ubuntu 16.04
sudo名为的用户在尝试重新加载Amazon Linux 2 EC2 映像my-host时收到以下错误消息。systemctl
[my-host@ip-12-3-4-56 ~]$ systemctl --user daemon-reload\nFailed to get D-Bus connection: Connection refused\nRun Code Online (Sandbox Code Playgroud)\n\n\n具体需要做什么来解决和消除此错误?
\n
我发现的关于此错误消息的其他帖子要么与 Debian 相关,其apt-get解决方案不适用于此处,要么与 Docker 映像相关,该解决方案也不适用于此处。
\n\n如果问题与用户权限有关,需要采取什么措施来修复该问题?
\n
这台机器有一个要求,systemctl像这样的一些命令不能作为sudo.
根据 @Stewart 和 @JdeBP 的建议再次尝试直接登录用户:
\n然后我们尝试使用具有来自外部世界的直接 ssh 能力的 sudo 用户,但仍然得到以下结果:
\n[ssh-login-user@ip-12-3-4-567 ~]$ systemctl --user daemon-reload\nFailed to get D-Bus connection: No such file or directory\n[ssh-login-user@ip-12-3-4-567 ~]$ echo $XDG_RUNTIME_DIR $UID\n/run/user/1001 1001\n[ssh-login-user@ip-12-3-4-567 ~]$ systemctl --user status\nFailed to …Run Code Online (Sandbox Code Playgroud)