Saltar al contenido

Iniciar sesión automáticamente en la línea de comandos de Debian 9.2.1

este problema se puede abordar de variadas maneras, pero nosotros te damos la que en nuestra opinión es la resolución más completa.

Solución:

Edita tu /etc/systemd/logind.conf cambio #NAutoVTs=6 a NAutoVTs=1

Crear un /etc/systemd/system/[email protected]/override.conf mediante ;

systemctl edit [email protected]

Pega las siguientes lineas

[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux

habilitar el [email protected] luego reiniciar

systemctl enable [email protected]
reboot

Documentos de Arch Linux: getty

Me gustaría agregar una respuesta un poco más completa, especialmente dado el comentario sobre romper su sistema de @Keelan.

Primero, si desea tener solo un TTY que esté ejecutando el programa y no poder iniciar sesión en ningún otro tty, ENTONCES edite su /etc/systemd/logind.confy cambio #NAutoVTs=6 a NAutoVTs=1. ¡Hacer esto evitará que inicies sesión en la terminal!

A continuación, cree un directorio y un override.conf expediente:

mkdir -p /etc/systemd/system/[email protected]1.service.d
echo "[Service]" > /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=" >> /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=-/sbin/agetty --autologin root --noclear %I 38400 linux" >> /etc/systemd/system/[email protected]/override.conf

No reinicies. En lugar de reiniciar, como se describe en la otra respuesta, inicie sesión en otro TTY, luego ejecute los siguientes comandos para probar las cosas:

systemctl daemon-reload
systemctl restart [email protected]

Si todo va bien, reinicie.

Pero, ¿qué pasa si quiero ejecutar un programa en lugar de iniciar sesión automáticamente?
Entonces usarías lo siguiente:

mkdir -p /etc/systemd/system/[email protected]
echo "[Service]" > /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=" >> /etc/systemd/system/[email protected]/override.conf
echo "ExecStart=-/path/program -arg1 -arg2" >> /etc/systemd/system/[email protected]/override.conf
echo "StandardInput=tty"  >> /etc/systemd/system/[email protected]/override.conf
echo "StandardOutput=tty"  >> /etc/systemd/system/[email protected]/override.conf

Ahora tenga en cuenta que esto se ejecutará sin un bashrc. Esto significa que si usas algo como screen entonces no obtendrá todos sus alias habituales/etc. Para solucionarlo, use el inicio de sesión automático estándar anterior, pero agréguelo a su .bashrc:

[ `tty` == /dev/tty1 ] && /path/program -arg1 -arg2

Esto significa que el programa sólo se ejecutará en tty1pero le dará un caparazón completo debajo.

Solo quiero agregar a esta discusión que la respuesta aceptada se refiere a terminales virtuales. En mi caso, tuve que editar un archivo de servicio separado que se usa para terminales en serie. El archivo se encuentra en /lib/systemd/system/[email protected] y el mismo procedimiento de agregar --autologin a la línea apropiada hace el truco.

[Service]
ExecStart=-/sbin/agetty --keep-baud 115200,38400,9600 --autologin root %I $TERM

Si conservas alguna sospecha o forma de medrar nuestro noticia te insinuamos realizar un paráfrasis y con mucho gusto lo estudiaremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *