¿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.
arch-linux
boot
systemd
fhucho
fuente
fuente
Respuestas:
Esto se describe en Arch Wiki :
Básicamente, esto copia lo ya existente
[email protected]
a un nuevo archivo[email protected]
que se puede modificar libremente. Se copia/etc/systemd/system
porque 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á vincularlo
[email protected]
al servicio getty para el tty en el que desea iniciar sesión automáticamente, por ejemplo, para tty1:Hasta ahora, sigue siendo el mismo que el
[email protected]
archivo habitual , pero la parte más importante es modificar el archivo[email protected]
para iniciar sesión automáticamente. Para hacer eso, solo necesita cambiar laExecStart
línea para leerLa diferencia entre la
ExecStart
línea[email protected]
y[email protected]
solo es la-a USERNAME
que le dice a agetty que inicie sesión automáticamente con el nombre de usuario USERNAME.Ahora solo tiene que decirle a systemd que vuelva a cargar sus archivos daemon e inicie el servicio:
(No estoy seguro de si el servicio se iniciará correctamente si ya inició sesión en tty1, la forma más segura es simplemente reiniciar en lugar de iniciar el servicio).
Si luego quieres iniciar X automáticamente, inserta el siguiente fragmento en tu
~/.bash_profile
(tomado de la wiki nuevamente):Tendrá que modificar su
~/.xinitrc
para iniciar su entorno de escritorio, cómo hacerlo depende del DE y probablemente también se describa en Arch wiki.fuente
File exists
cuando hago el enlace simbólicoln -sf /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
para sobrescribirlo.Modifique directamente el archivo
/etc/systemd/system/getty.target.wants/[email protected]
(que es un enlace simbólico/lib/systemd/system/getty@service
):Añadir
-a/--autologin USERNAME
a la línea:Por lo tanto:
También puede eliminar
-o '-p -- \\u'
(como está presente en la instalación actual de Arch), ya que esto iniciaría el inicio de sesiónUSERNAME
pero aún le pedirá la contraseña.Después de reiniciar, iniciará sesión automáticamente.
Ps Cambie el nombre del archivo
[email protected]
altty
que desea iniciar sesión.fuente
OMI, Arch Wiki actualmente recomienda una solución mucho más simple:
Ejecute el ayudante (
systemctl edit getty@tty1
) o haga lo que hice manualmente:El texto que desea ingresar (por cualquier método) es ( asegúrese de cambiar el nombre de usuario adecuadamente ):
NOTA : ¡La línea vacía es importante! (Es cierto que no estoy seguro de por qué ...)
Ahora, reinicie (
shutdown -r 0
) y... login: username (automatic login)
sucederá algo que bloqueó previamente esperando la entrada de nombre de usuario / contraseñaUna vez reiniciado e iniciado sesión automáticamente, si eres como yo y quieres ingresar a SSH en este sistema ahora, probablemente necesites ejecutar:
Lo que creará el enlace simbólico (por ejemplo
ln -s '/usr/lib/systemd/system/sshd.service' '/etc/systemd/system/multi-user.target.wants/sshd.service'
)fuente
/sbin/agetty
, por lo que vale la pena verificar/etc/systemd/system/getty.target.wants/[email protected]
primero el archivo original .