Ошибка режима пользователя systemd на сервере CentOS 7.0 (1406)
Я пытаюсь запустить пользовательский режим systemd на сервере CentOS 7.0 (X11 не установлен). например
systemctl --user start hw.service
это реагирует:
Failed to get D-Bus connection: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Если я добавлю
export DISPLAY=:0
и запустить снова, он сообщает:
Failed to get D-Bus connection: /bin/dbus-launch terminated abnormally without any error message
Кто-нибудь может пролить свет на это? кстати, systemctl - версия отчетов:
systemd 208
+PAM +LIBWRAP +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ
Спасибо!
1 ответ
CentOS не поддерживает "systemd --user". Их пакеты полностью удаляют эту часть systemd. (Обратите внимание, как нет user@.service
кроме всего прочего.)
Тем не менее, сообщение об ошибке автозапуска libdbus вводит в заблуждение, и ваш $DISPLAY
неправильно.
Сообщение об ошибке действительно гласит: "[systemctl не смог связаться с systemd по частному адресу, поэтому он попросил libdbus использовать шину сеанса, но] адрес шины сеанса не был задан явно, поэтому libdbus попытался запустить один из них, но не смог сделать это либо ".
Теперь, если вы пытаетесь использовать автозапуск сеанса D-Bus, тогда просто установить $DISPLAY будет недостаточно - можно ожидать, что сервер X11, такой как Xorg, уже будет работать с:1 или около того (в этом случае $DISPLAY будет уже будет установлен).
Но systemctl --user
на самом деле не хочет автозапуска - он ожидает найти systemd в определенном месте, /run/user/$UID/bus
а также /run/user/$UID/systemd/private
- поэтому запуск нового автобуса был бы бесполезен, потому что там не было бы системы. Поэтому последние версии больше не используют автозагрузку (или libdbus в этом отношении).