Pregunta error del modo de usuario del sistema en el servidor CentOS 7.0 (1406)


Estoy intentando ejecutar el modo de usuario systemd en el servidor de CentOS 7.0 (no hay X11 instalado). p.ej.

systemctl --user start hw.service

reacciona:

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

Si agrego

export DISPLAY=:0

y ejecutar nuevamente, informa:

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

¿Alguien puede arrojar luz sobre esto? por cierto, systemctl - informes de versión:

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

¡Gracias!


3


origen




Respuestas:


CentOS no es compatible con "systemd --user". Sus paquetes eliminan por completo esa parte de systemd. (Observe cómo no hay user@.service, entre otras cosas.)


Dicho esto, el mensaje de error de autolaunch de libdbus es engañoso y tu $DISPLAY Está Mal.

El mensaje de error realmente dice "[systemctl no pudo llegar a systemd en la dirección privada, por lo que pidió a libdbus usar el bus de sesión, pero] no había una dirección de bus de sesión explícitamente establecida, por lo que libdbus intentó autoiniciar uno, pero no pudo haz eso tampoco ".

Ahora, si tu fueron tratando de usar el autolaunch de la sesión D-Bus, entonces simplemente establecer $ DISPLAY no sería suficiente - se esperaría que un servidor X11 como Xorg ya se esté ejecutando en: 1 o tal (en cuyo caso, $ DISPLAY ya estaría configurado).

Pero systemctl --user realmente no quiere el autoarranque: espera encontrar systemd en una ubicación específica, /run/user/$UID/bus y /run/user/$UID/systemd/private - Entonces, lanzar un nuevo autobús sería inútil ya que no se habría instalado allí. Por lo tanto, las versiones más recientes ya no usan autolaunch (o libdbus).


6



Volví a subir la respuesta, aunque realmente no me gusta. - TNT