GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿cómo iniciar sesión automáticamente en el escritorio con Systemd?

¿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.


Linux
  1. Cómo construimos una aplicación de escritorio Linux con Electron

  2. Cómo instalar red5 en un servidor dedicado Linux

  3. Cómo obtener su geolocalización desde la línea de comandos en Linux

  4. Cómo instalar GNS3 en Linux Desktop

  5. Cómo actualizar Kernel en Linux Desktop

Cómo compartir la pantalla con Linux KDE Plasma Desktop

Cómo navegar por su escritorio GNOME Linux con solo un teclado

Cómo habilitar el inicio de sesión automático en Kali Linux

Cómo crear accesos directos en el escritorio de Linux

Cómo configurar el cortafuegos con Gufw en el escritorio de Linux

Cómo asegurar servidores Linux con SE Linux