login en consola (sin display manager)

fundamentos GNU/Linux  fun-gnu


loginTodas la distros vienen por defecto con un gestor de pantalla (display manager) donde, como mínimo, hacer el login (usuario y contraseña) y en algunos casos elegir tipo de sesión a iniciar (qué entorno de escritorio arrancar).

Los gestores de pantalla más conocidos son:

GDM (Gnome Display Manager)
KDM (KDE Display Manager)
LXDM (Gestor de inicio de sesión de LXDE)

además de MDM, LightDM, SDDM, Slim, etc.

Esta forma de logarse (¡qué palabro!) en el sistema puede ser bonita y gráfica, pero a mí personalmente no me vale para nada, el ordenador tarda más en arrancar y el proceso consume memoria RAM.

Si quieres que el equipo arranque en modo consola y hacer el login en el shell directamente, y tu equipo funciona con systemd, haz lo siguiente:

1. si no está ya instalado, instala el paquete xinit de tu distribución (lo necesitaremos para arrancar). Puede que se llame xinit, xorg-xinit, o algo que contenga xinit, depende de la distro).

2. en tu home (home/pepito/) debes de crear, si no lo hay, un archivo que se llame .xinitrc (como ves por el punto es un archivo oculto).

3. la configuración básica del archivo .xinitrc es esta: exec sesión-a-arrancar

por ejemplo:

exec startxfce4 (arranca XFCE)
exec gnome-session (arranca Gnome)
exec startkde (arranca KDE)
exec cinnamon-session (arranca Cinnamon)
exec startlxde (arranca LXDE)
exec mate-session (arranca MATE)

.xinitrc lógicamente admite configuraciones más complejas, en las que aquí no podemos entrar. En una configuración básica para arrancar un único entorno de escritorio instalado, basta con que contenga una línea como esta (que es mi caso para arrancar mi XFCE de Manjaro):

exec startxfce4

Pues ya tenemos configurado nuestro xinit para arrancar en consola, sólo nos resta deshabilitar nuestro display manager con sistemd.
1. método ostodoxo:

en un terminal hacemos:

sudo systemctl disable display-manager.service

(si nuestro gestor de pantalla es por ejemplo GDM, también podríamos hacer:

sudo systemctl disable gdm.service
2. método heterodoxo:

Nota: este método no gustará a los puritanos linuxeros, pero a mí me gusta usarlo con el fin de tener registrado un control de cambios en las configuraciones de hago. Nunca me ha gustado hacer las cosas como se dice que hay que hacer las cosas. Soy así.

entramos como root en el directorio: /etc/systemd/system/

vemos que ahí está un enlace simbólico que se llama display-manager.service y que apunta a (en mi caso) /usr/lib/systemd/system/gdm.service que lo que hace, lógicamente, es cargar en el arranque GDM.

yo lo que hago es crear una capeta en /etc/systemd/system/ que se llama NO, así:
/etc/systemd/system/NO/

y dentro de ella meto el enlace simbólico display-manager.service, por lo que al arrancar no estará donde debe, y por lo tanto no apuntará a GDM y, por lo tanto, no arrancará GDM  🙂

y ya está, sólo tienes que reiniciar el sistema y verás que no arranca ningún login manager gráfico.
Te encontrarás la bonita, pura y prístina pantalla negra del shell, que te pide un nombre de usuario y la contraseña.
Una vez logueado (¡cielo santo, qué palabro!) sólo te resta teclear:

startx

(startx es el comando de xinit que arrancará el entorno de escritorio que hayamos definido en nuestro .xinitrc)

y eureka, arrancará tu entorno de escritorio sin estúpidos intermediarios gráficos.

Sólo para los que aman la pureza de la consola y su cursor parpadeante…

11 opiniones en “login en consola (sin display manager)”

  1. joer, pensaba que era el único que veía la inutilidad de cargar un gestor de inicio en un entorno de escritorio pudiéndote loguear en la shell….gracias por compatir

  2. hola, a mi me gustaria arracar el escritorio desde consola logueandome con mi usuario y contraseña pero no he podido, he seguido los pasos que has descrito y no lo he conseguido siempre aparece el gestor de pantalla para acceder al escritorio de plasma del kubuntu 15.10,yo quite el plymouth para que arracara mas rapido y eso , pero despues aparece para iniciar sesion el display manager (no se si es el kdm o tiene otro nombre) del kubuntu 15.10.

    1. hola,
      pues es que Kubuntu aún no incorpora Systemd, al igual que todos los UBUNTUs. Ubuntu ha anunciado el cambio a systemd, no sé si lo incorporará ya la versión 16.04 que será LTS. Pero el sistema es el mismo, lo que ocurre es que en la familia UBUNTU aún se usa Upstart, que se encarga de hacer lo mismo que Systemd. Nunca he mirado nada de Upstart, pero sólo tienes que deshabilitar el display manager con Upstart, sea como fuere que se haga.
      Un saludo.

  3. Hola Essaú, ya he conseguido arracar el escritorio desde consola logueandome con mi usuario y contraseña y lo he hecho atraves de consola mediante el comando systemctl disable sddm.service porque con Upstart no he podido, ya que, al instalarlo no sabia como hacerlo y buscando por google poniendo como logearme atraves de consola deshabilitando display manager, etc, me he topado con los siguientes enlaces que explican como hacerlo, y la verdad tienes que entender un poco del tema si no te pierdes.
    https://wiki.archlinux.org/index.php/Systemd_%28Espa%C3%B1ol%29#Cambiar_el_target_predeterminado_para_arrancar

    https://wiki.archlinux.org/index.php/Display_manager_%28Espa%C3%B1ol%29

    https://wiki.archlinux.org/index.php/CDM

    https://wiki.archlinux.org/index.php/Systemd_%28Espa%C3%B1ol%29#Cambiar_el_target_predeterminado_para_arrancar

  4. Hola:
    ¿ Se podría hacer que arrancase directamente tu usuario y escritorio un autologin sin display manager?
    Saludos.

    1. Buena pregunta,
      pues nunca había pensado en ello pero yo así de pronto no sabría hacerlo. Se puede hacer un autologin en una distro desde Gnome, etc, pero creo que necesita GDM, u otro display manager.
      Pero sin DM yo creo que no, pues el shell siempre te pide lo primero un usuario y contraseña en sistemas UNIX, pero habría que investigarlo.
      Un saludo.

  5. hay display managers que son basicamente un login de consola, como ‘xlogin display manager’ (y obliga a seguir setups seguros)

Deja un comentario