Ral*_*ang 4 linux centos systemd
我正在尝试在 CentOS 7.0 服务器(未安装 X11)上运行 systemd 用户模式。例如
systemctl --user start hw.service
Run Code Online (Sandbox Code Playgroud)
它的反应是:
Failed to get D-Bus connection: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Run Code Online (Sandbox Code Playgroud)
如果我添加
export DISPLAY=:0
Run Code Online (Sandbox Code Playgroud)
再次运行,它报告:
Failed to get D-Bus connection: /bin/dbus-launch terminated abnormally without any error message
Run Code Online (Sandbox Code Playgroud)
任何人都可以阐明这一点吗?顺便说一句, systemctl --version 报告:
systemd 208
+PAM +LIBWRAP +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ
Run Code Online (Sandbox Code Playgroud)
谢谢!
CentOS 不支持“systemd --user”。他们的软件包完全删除了 systemd 的那部分。(请注意如何没有user@.service,等等。)
也就是说,libdbus 的自动启动错误消息具有误导性,您$DISPLAY错了。
错误消息确实说“[systemctl 无法在私有地址到达 systemd,因此它要求 libdbus 使用会话总线,但是] 没有明确设置会话总线地址,因此 libdbus 尝试自动启动一个,但不能要么这样做”。
现在,如果你是试图使用d总线的AutoLaunch会话,那么就设置$ DISPLAY是不够的-它会像期待的的Xorg X11服务器已经在运行:1或例如(在这种情况下,$ DISPLAY会已经设置)。
但systemctl --user并不真正想要自动启动——它希望在特定位置找到 systemd,/run/user/$UID/bus并且/run/user/$UID/systemd/private——因此启动新总线将毫无用处,因为它不会在那里使用 systemd。所以最近的版本不再使用自动启动(或 libdbus)。
| 归档时间: |
|
| 查看次数: |
1460 次 |
| 最近记录: |