以用户身份运行任何 systemd 命令时出现此错误:
admin@Xroklaus:~ $ systemctl --user list-units
Failed to get D-Bus connection: Connection refused
如果没有用户参数,该命令运行正常。
admin@Xroklaus:~ $ systemctl list-units
UNIT LOAD ACTIVE SUB DESCRIPTION
proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point
sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0-rfkill1.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/rfkil
sys-devices-platform-soc-3f201000.serial-tty-ttyAMA0-hci0.device loaded active plugged /sys/devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0
...
To show all installed unit files use 'systemctl list-unit-files'.
lines 102-129/129 (END)
并且 Dbus 正在运行。
admin@Xroklaus:~ $ ps -ef | grep dbus
message+ 443 1 0 Jan06 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
admin 9082 9040 0 11:42 pts/0 00:00:00 grep --color=auto dbus
Systemd 似乎没有为该用户运行
admin@Xroklaus:~ $ ps -ef | grep systemd
root 142 1 0 Jan06 ? 00:00:08 /lib/systemd/systemd-journald
root 147 1 0 Jan06 ? 00:00:00 /lib/systemd/systemd-udevd
message+ 443 1 0 Jan06 ? 00:00:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
root 520 1 0 Jan06 ? 00:00:00 /lib/systemd/systemd-logind
admin 10255 9040 0 16:53 pts/0 00:00:00 grep --color=auto systemd
我不知道如何让它运行。
这似乎也不正常:
admin@Xroklaus:~ $ systemd --test
Trying to run as user instance, but $XDG_RUNTIME_DIR is not set.
答案1
看起来有一个包裹丢失了:
admin@Xroklaus:~ $ sudo apt-get install libpam-systemd
重新启动后它又可以工作了。