¿Cómo puedo configurar systemd para iniciar sesión automáticamente en mi entorno de escritorio, preferiblemente sin usar el administrador de inicio de sesión? Estoy usando Arch.
Respuesta aceptada:
Esto se describe en Arch Wiki:
Cree un nuevo archivo de servicio similar a [email protected]
copiándolo en /etc/systemd/system/
cp /usr/lib/systemd/system/[email protected] /etc/systemd/system/[email protected]
Básicamente, esto copia el [email protected]
ya existente a un nuevo archivo [email protected]
que se puede modificar libremente. Se copia a /etc/systemd/system
porque ahí es donde se almacenan los archivos de unidad específicos del sitio. /usr/lib/systemd/system
contiene archivos de unidad proporcionados por paquetes, por lo que no debe cambiar nada allí.
A continuación, deberá vincular ese [email protected]
al servicio getty para el tty en el que desea iniciar sesión automáticamente, por ejemplo, para tty1:
ln -s /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
Hasta ahora, sigue siendo el mismo que el habitual [email protected]
archivo, pero la parte más importante es modificar el [email protected]
para iniciar sesión automáticamente.
Para hacer eso, solo necesita cambiar el ExecStart
línea para leer
ExecStart=-/sbin/agetty -a USERNAME %I 38400
La diferencia entre ExecStart
línea en [email protected]
y [email protected]
es solo el -a USERNAME
que le dice a agetty que registre al usuario con el nombre de usuario NOMBRE DE USUARIO automáticamente.
Ahora solo tiene que decirle a systemd que vuelva a cargar sus archivos daemon e inicie el servicio:
systemctl daemon-reload
systemctl start [email protected]
(No estoy seguro de si el servicio se iniciará correctamente si ya ha iniciado sesión en tty1, la forma más segura probablemente sea reiniciar en lugar de iniciar el servicio).
Si luego desea iniciar X automáticamente, inserte el siguiente fragmento en su ~/.bash_profile
(tomado de la wiki de nuevo):
if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]]; then
exec startx
fi
Tendrás que modificar tu ~/.xinitrc
para iniciar su entorno de escritorio, cómo hacerlo depende del DE y probablemente también se describa en Arch wiki.