¿Qué le ha pasado a init?

Hace unas 2 semanas que algo cambió en systemd (creo que viene de ahí).

Antes, arrancaba cuando me hacia falta añadiendo un 3 al final de la línea linux de la entrada del grub (mediante la e de edición) y hacía F10 para seguir el arranque con lo que iniciaba en runlevel 3 (modo multi usuario sin escritorio).

Tras recompilar el driver gráfico (el propio driver reconstruye el ramfs) hacía init 5 para cambiar al runlevel 5 (modo gráfico con escritorio) y que apareciera sddm.

Hace 2 semanas que no funciona lo que hacía. init 5 me dice que demasiados argumentos y he de reiniciar por narices para entrar en modo gráfico.

Leyendo el manual no sacaba nada en claro.


Busqué en Internet y parecía que ahora la forma de hacer un init 5 era teclear systemctl isolate runlevel5.target pero tampoco me ha funcionado (me dice algo de que no se puede isolate lo que fuera).

Así que me ha tocado hacer un reboot de nuevo.

¿Alguien sabe que ha pasado con init 5 y cómo se hace ahora?

PD: Probé a teclear startx y entró en Plasma de forma directa (sin sddm) pero con usuario root. Lo cerré, volví a teclear startx porqué pensé “podía haber intentado a darle a cambiar usuario” pero ya no se inició nunca más Plasma en root.

Saludos

Estoy con la última actualización de Slowroll, primera noticia de que eso haya cambiado.

De todas formas, varias cosas:

  • En realidad no se hace init 5, sino que esto es un mero atajo para mantener la compatibilidad para quienes usábamos el sistema antes de Systemd. El comando es similar al que has puesto, aunque también podrías usar graphical.target.
  • Para reiniciar el software tienes algo mejor: sudo systemctl soft-reboot, que lo que hace es recargar todo el software pero sin llegar a reinicar por completo el equipo.
  • A veces al acabar de actualizar el sistema se queda en estado tonto y hay que reiniciar para que vuelva a su estado normal :grinning:

startx ejecuta el servidor gráfico y el cliente gráfico que tengas configurado. Obviamente se ejecuta con la cuenta usuaria en curso, ya que no deja de ser un comando ejecutado por la persona que usa esa cuenta, y no permite cambiar de usuario ni nada de eso porque no ejecuta ningún sistema de gestión de usuarios, escritorios ni nada de eso. Hubo un tiempo que era normal arrancar así, pero entre otras cosas no permite arrancar sin clave: arrancas, se queda el sistema en modo texto, tecleas el comando y ya está.

Una cosa que tiene el comando es que como ahora nadie se molesta en usarlo, por defecto requiere de root para ejecutarse. Mejor dicho, el servidor gráfico requiere root. Puedes divertirte y hacer algo nuevo si estás en modo texto (el antiguo runlevel 3), asumiendo que te has registrado como root:

xinit
su krovikan
startplasma-x11

Oh, vaya, parece que las configuraciones recientes no dejan arrancar Plasma o al menos sin ningún cambio :rofl:

Sí puedes probar algo curioso:

xinit
kwin_x11 &
startplasma_wayland &

Eso ejecutará un terminal para conectarte a un sistema plama con Wayland…

En lugar de arrancar todo Plasma de esa forma, puedes ejecutar paso a paso. xinit es una sesión X11, creo que puede hacerse algo similar con wayland pero ignoro cómo. Si ejecutas un gestor de ventanas, pues tendrás el gestor de ventanas. Usa & para que se ejecute el comando en segundo plano y te devuelva la línea de comandos.

[edito]
init 5 sigue funcionando con normalidad en mi máquina.

2 Likes

Me quedo igual con la explicación. :sweat_smile:

Cuando arranco con el parámetro 3 en la línea del kernel es para hacer login como root (no uso el login de usuario nunca en mi sistema, no me es necesario normalmente).

Hago mis cosas en root (el driver gráfico) y a continuación quiero pasar a ejecutar sddm (lo que hacía con init 5 pero que ahora me dice que hay “demasiados argumentos”).

Saludos

Eso es cargar el “multiuser.target”, que permite registrar cuentas usuarias y usar la red.

Usas root y podrías usar tu cuenta de usuario normal con sudo. Usas root por simplicidad: entras, haces lo que sea, y en cuanto acabas vuelves al sistema gráfico (graphical.target).

Ni idea, al menos en Slowroll nonse ha hecho el cambio que sea.

Haz systemctl soft-reboot

2 Likes

En mi openSUSE Leap 15.6, los comando init 3 y init 5 me funciona perfectamente.

Es como te dice mi compañero: El comando init de System V init (runlevels) debería funcionar para guardar la compatibilidad en Systemd. En este ultimo sistema se utiliza el comando systemctl y sus targets.

Aquí en el forum tienes una tabla de equivalencia para openSUSE:

1 Like

Ya lo probé, sólo que en mi caso systemctl isolate runlevel5.targetque es lo mismo que systemctl isolate graphical.target y me salió error de que no se podía isolate lo que fuera (lo menciono en mi primer mensaje).

Saludos

En Slowroll dispongo del target runlevel5 (que en esencia es un alias de graphical.target y ambos simplemente lanzan el servicio display-manager.service) pero en Leap no.target.

Si el texto que ves es:

lo más probable es que no dispongas de ese servicio, lo que no nos indica tampoco por qué no funciona init 5 para empezar. Habría que ver el texto que te pone exactamente.

Puedes usar comandos como systemctl status graphical.target, systemctl status runlevel5.target, o incluso YAST → Miscelánea → Entradas de diario.

Tienes TW?

Que raro que no te funciona la opción isolate. Lo de runlevel5 me parece raro, nunca lo he usado.

Mira los targets que soportan

systemctl list-units --type target

PD: Igual lo de runlevel5.target es equivalente a set-default graphical.target , es decir, poner el sistema por defecto al runlevel5 en el arranque y, entonces, tocaría reiniciar.
isolate graphical.target sería levantar temporalmente el entorno gráfico sin necesidad de reiniciar.

1 Like

He mirado los comandos usados en root y por lo que veo sólo probé con systemctl isolate runlevel5.target. Me olvidé de probar a sustituir el runlevel5 por graphical.

Igual es por eso que no me funcionó. En la lista de targets no están los runlevel pero sí los equivalentes (graphical, multi-user).

La próxima vez probaré con systemctl isolate graphical.target.

Saludos

He probado en el arranque de esta mañana (añadiendo el parámetro 3 como si fuera a compilar el driver gráfico).

He hecho log in como root (como siempre que arranco de esa forma) y

systemctl isolate graphical.target

ha hecho lo que hacía init 5. Me ha lanzado sddm. Asunto resuelto.

Saludos

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.