systemd erro de modo de usuário no servidor CentOS 7.0 (1406)

3

Estou tentando executar o modo de usuário systemd no servidor CentOS 7.0 (sem X11 instalado). por exemplo,

systemctl --user start hw.service

reage:

Failed to get D-Bus connection: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11

Se eu adicionar

export DISPLAY=:0

e execute novamente, ele informa:

Failed to get D-Bus connection: /bin/dbus-launch terminated abnormally without any error message

Alguém pode esclarecer isso? btw, systemctl - relatórios de versão:

systemd 208
+PAM +LIBWRAP +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ

Obrigado!

    
por Ralph Zhang 06.09.2016 / 10:40

1 resposta

6

O CentOS não suporta "systemd --user". Seus pacotes removem a parte do systemd. (Observe como não há [email protected] , entre outras coisas.)

Dito isto, a mensagem de erro autolaunch da libdbus é enganadora, e o seu $DISPLAY está errado.

A mensagem de erro realmente diz "[systemctl não pôde acessar o systemd no endereço privado, então pediu ao libdbus para usar o barramento da sessão, mas] não havia nenhum endereço de barramento de sessão explicitamente definido, então a libdbus tentou auto-iniciar um, mas não poderia fazer isso ".

Agora, se você estiver tentando usar o autolaunch de sessão do D-Bus, basta configurar $ DISPLAY não seria suficiente - seria de esperar que um servidor X11 como o Xorg já estivesse em execução em: 1 ou tal (nesse caso, $ DISPLAY já estaria definido).

Mas systemctl --user não quer realmente o autolaunch - ele espera encontrar o systemd em um local específico, /run/user/$UID/bus e /run/user/$UID/systemd/private - então, lançar um novo barramento seria inútil, já que ele não teria sido instalado lá. Portanto, versões recentes não usam mais o autolaunch (ou libdbus).

    
por 06.09.2016 / 12:14