InicioLinuxSystemd.Autologin e inicio automático de las X.

Systemd.Autologin e inicio automático de las X.

Linux10/18/2015
Si bien el material de este post está tomado de la wiki de ArchLinux lo más probable es que también funcione en otras distribuciones dado que systemd es el mismo en cualquiera de ellas, de hecho lo escrito aquí es válido para Debian.

Como dice el título tenemos dos cuestiones: 1) El autologin 2) Lanzamiento automático de las X

Autologin:

Para el autologin con systemd tenemos dos alternativas:

a) En consola virtual.

b) En consola serial.


Consideraciones generales sobre las tty en systemd:


a)Consolas virtuales:

Por defecto las ttyx (consolas virtuales) habilitadas son seis, incluyendo tty1, por tanto puedo lanzar una tty con el comando

 [Ctl] [Alt] [Fx]

Donde x puede ser de 2 a 6 y por lo tanto utilizar de F7 a F12 no va a tener ningún efecto, solamente una pantalla negra con un guión titilante.

Si quiero aumentar el número de tty's disponibles debo editar el archivo /etc/systemd/logind.conf
para descomentar y/o cambiar el valor de NAutoVTs a 11.

Dejamos la tty12 libre porque es recomendable que se utilice para el forwarding de journald que se efectúa de la siguiente manera:


1) Creación del directorio /etc/systemd/journald.conf.d:

sudo mkdir /etc/systemd/journald.conf.d

2) Creación del archivo /etc/systemd/journald.conf.d/fw-tty12.conf

sudo nano /etc/systemd/journald.conf.d/fw-tty12.conf

Aquí agregamos al fw-tty12.conf el siguiente contenido:

[Journal]
ForwardToConsole=yes
TTYPath=/dev/tty12
MaxLevelConsole=info



Para agregar gettys preactivadas que se van instanciar en el inicio debemos crear un symlink en el directorio /etc/systemd/system/getty.target.wants/ para la tty que deseamos.

Esto lo hacemos de la siguiente manera suponiendo que quiero activar la tty9:

ln -sf /usr/lib/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]


Para desactivar una tty lo hacemos borrando su symlink en /etc/systemd/system/getty.target.wants/.

El ejemplo:

 rm /etc/systemd/system/getty.target.wants/getty@{tty5,tty6}.service

b) Consolas seriales:

Las consolas seriales se designan como ttySx, donde x es el número de consolas habilitadas.

Para saber de cuantas consolas seriales disponto lo puedo hacer con el comando

ls -l /dev | grep ttyS

Autologin en consola virtual:

Como voy a utilizar la tty1 para el login automático, lo habitual, el comando a usar es el siguiente:

sudo systemctl edit getty@tty1

En la ventana que aparece agregamos el siguiente contenido reemplazando username por su nombre de usuario:

[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin username --noclear %I 38400 linux


Una captura de lo que se ve en mi equipo con el contenido indicado agregado:

Systemd.Autologin e inicio automático de las X.

Como el editor de texto es nano guardo con ctrl+o y cierro con ctrl+x.

Luego de este paso voy a tener creado /etc/systemd/system/[email protected]/override.conf y si reinicio voy a loguear como cesarzeta en tty1.

Para loguear en una tty diferente a tty1 en el comando habría puesto getty@ttyx donde x sería el número de consola

Autologin en consola serial:

Para el ejemplo voy a utilizar ttyS0 y los pasos a seguir son los siguientes:

a) Crear el directorio /etc/systemd/system/[email protected]

sudo mkdir /etc/systemd/system/[email protected]

b) Crear y editar el archivo conf necesario:

sudo nano /etc/systemd/system/[email protected]/autologin.conf

En este archivo escribimos estas líneas reemplazando username por su nombre de usuario:

[Service]
ExecStart=
ExecStart=-/usr/bin/agetty --autologin username -s %I 115200,38400,9600 vt102


Como el editor de texto es nano guardo con ctrl+o y cierro con ctrl+x.

Si se reinicia el logueo como username se va a producir en ttyS0.


Inicio automático de las X, pasos necesarios:

a) Debemos tener en /home/usuario el archivo oculto .xinitrc indicando que sesión se va a iniciar.

Único contenido de mi .xinitrc (tengo instalado un solo DE):

exec startxfce4

Si no tienen y no quieren crear el .xinitrc manualmente lo pueden copiar y luego editarlo:

cp /etc/X11/xinit/xinitrc ~/.xinitrc

b) Para lanzar las X en una sola tty se debe agregar al /home/usuario/.bash_profile la siguiente línea:

[[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && exec startx

El comando anterior indica con '-eq 1' que las X se van a lanzar en vt1 (tty1).
Para conservar la integridad de la sesión se debe iniciar la X en la misma tty que el autologin.

Si hubiera utilizado '-eq 7' solamente habría tenido entorno gráfico en la tty7.

c)Según la wiki para contar con entorno gráfico en más de una tty se puede cambiar el '-eq 1' por ejemplo por '-le 3'.

Con esta modificación, dado que -le 3 significa menor o igual que 3, vamos a tener X en tty1, tty2 y tty3.

Aclaro que esta característica a mí no me ha funcionado con las X lanzadas en otra tty con el mensaje de error de que el servidor X ya se está ejecutando en otra instancia.

Teóricamente se puede terminar con las X con los comandos

pkill -15 Xorg

o

killall Xorg

Pero con esta configuración la X se reinician automáticamente y estos comandos no son útiles

d) No es imprescindible pero si conveniente cambiar el runlevel y desactivar el gestor de sesiones.

sudo systemctl disable lightdm.service

sudo systemctl set-default -f multi-user.target


Bueno... eso es todo. Espero que el contenido del post esté claro. Como siempre se aceptan las sugerencias y/o correcciones pertinentes.

Sé que a muchos compañeros linuxeros les disgusta systemd, me incluyo entre ellos, pero systemd llegó para quedarse y es mejor conocerlo porque, según entiendo, de las distros principales la única que verdaderamente nos da la opción de no utilizarlo es Gentoo.

Muchas gracias por su paciencia y atención.
Datos archivados del Taringa! original
100puntos
277visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
4visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

c
cesarzeta🇦🇷
Usuario
Puntos0
Posts10
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.