4

Я пытаюсь запустить пользовательский режим 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 ответ1

7

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 в этом отношении).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .