Inicio de sesión automático con GUI deshabilitado en Raspbian


15

¿Cómo puedo hacer que el inicio de sesión automático de RPi se inicie cuando la GUI está desactivada?

No es necesario que escriba una contraseña cuando inicie sesión cuando la GUI esté habilitada, por lo que probablemente haya una manera fácil de desactivar la solicitud de contraseña en la consola.


Muy peligroso, me perdí un poco por no tener una contraseña y parecía haber arruinado la tarjeta SD. ¡Ten cuidado!

Respuestas:


19

Para Raspbian Wheezy:

Debería poder editar el archivo / etc / inittab para habilitar el inicio de sesión automático.

Encuentre una línea como esta en / etc / inittab

1:2345:respawn:/sbin/getty --noclear 38400 tty1

Esto inicia el proceso getty en tty1. Puede agregar la --autologinopción getty a esa línea:

1:2345:respawn:/sbin/getty --autologin {USERNAME} --noclear 38400 tty1

Reemplace {USERNAME} con el usuario que desea iniciar sesión.

Tenga en cuenta que no he probado esto, consulte la página de manual de getty para obtener más detalles.

Actualización: Raspbian Jessie usa systemd, por lo que no se usa inittab. Aquí hay un FAQ que puede ayudar a Jessie: https://fedoraproject.org/wiki/Systemd#How_do_I_set_automatic_login_on_a_virtual_console_terminal.3F

Las preguntas frecuentes son para Fedora, pero deberían ser muy similares en Raspbian Jessie.

ACTUALIZACIÓN2: la página anterior ya no está, así que aquí está el contenido de la máquina Wayback:

¿Cómo configuro el inicio de sesión automático en un terminal de consola virtual?

Primero cree un nuevo servicio similar a getty @ .service:

# cp /lib/systemd/system/getty@.service \
     /etc/systemd/system/autologin@.service
# ln -s /etc/systemd/system/autologin@.service \
     /etc/systemd/system/getty.target.wants/getty@tty8.service

luego edite los valores ExecStart, Restart y Alias, de esta manera:

...
ExecStart=-/sbin/mingetty --autologin USERNAME %I
Restart=no
...
Alias=getty.target.wants/getty@tty8.service

y finalmente recarga el demonio e inicia el servicio:

systemctl daemon-reload
systemctl start getty@tty8.service

Tenga en cuenta que si sale de la sesión tty8, no podrá usarla hasta el próximo reinicio o inicio manual mediante systemctl, excepto si deja Reiniciar como 'siempre', pero le recomiendo evitar esto por razones de seguridad.


1
Lo he probado funciona bien. También, poner algo en ~ / .bash_profile y que obtendrá ejecutar automáticamente después de que se ha identificado.
Greggo

2
Por favor actualice la respuesta! No hay /etc/inittabarchivo en raspbian jessie.
Oki Erie Rinaldi

@OkiErieRinaldi He agregado un enlace que puede ayudar con Jessie.
Craig

No, sigo recibiendo el mensaje de inicio de sesión al iniciar
IgorGanapolsky

La solución Raspbian Jessie no funciona.
piepi 01 de

5

Hay una manera más fácil de hacer esto usando raspi-config. Este artículo lo explica http://www.opentechguides.com/how-to/article/raspberry-pi/5/raspberry-pi-auto-start.html

mostrando:

  1. cómo iniciar sesión automáticamente en el indicador de comandos de shell (usando un método similar al anterior)
  2. Ejecute scripts al inicio
  3. Inicio automático del escritorio usando raspi-config

1
Este artículo muestra cómo iniciar sesión automáticamente en el escritorio usando raspi-config, pero la pregunta es cómo iniciar sesión automáticamente cuando no hay GUI o escritorio (por lo que aparece el indicador de comandos de la shell). Sin embargo, este artículo también muestra cómo iniciar sesión automáticamente en el shell.
kolin

2

Esto funcionó para mí con Jessie Lite:

sudo -i
mkdir -pv /etc/systemd/system/getty@tty1.service.d
nano /etc/systemd/system/getty@tty1.service.d/autologin.conf

contenido:

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

El único inconveniente es que ya no puedo iniciar sesión con SSH: acceso denegado. :-(


1
Una buena respuesta debería indicar por qué funciona. ¿Qué hacen los dos pasos? ¿Realmente puedes decir que funciona si rompe SSH?
Jacobm001

¡Esto no funciona! Todavía me obliga a iniciar sesión en la línea de comando.
IgorGanapolsky

¿el uso de $ TERM funciona para usted? ExecStart=-/usr/bin/agetty --autologin username --noclear %I $TERM
esharp

0

Si desea iniciar sesión automáticamente en Raspberry Pi en la línea de serie, debe editar el archivo / etc / inittab en pi con permisos sudo.

Encuentre una línea como esta en / etc / inittab

T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100

Agregue la opción getty --autologin a esa línea.

T0:23:respawn:/sbin/getty --autologin {username} -L ttyAMA0 115200 vt100

Guardar y reiniciar.


Que es T0:23?? Pensé que debería ser 1:2345.
IgorGanapolsky

0

Estoy ejecutando NOOBS y tenía un archivo inittab ligeramente diferente. Esto es lo que cambié que combinó tanto la "--autologin" en la línea T0 como la línea 1: 2345:

#1:2345:respawn:/sbin/getty --noclear 38400 tty1"
1:2345:respawn:/bin/login -f pi tty1 <dev/tty1 >/dev/tty1 2>&1
T0:23:respawn:/sbin/getty --autologin pi - L ttyAMA0 115200 vt100

0

así que el método lightdm.conf no funcionó para mí, después de jugar un poco, el método más fácil que encontré fue el siguiente.

cd / etc / systemd / system /

a partir de ahí escriba: ls

verá autologin @ .service

solo sudo nano autologin @ .service

y cambie la línea ExecStart = - / sbin / agetty --autologin pi --noclear% I $ TERM

a

ExecStart = - / sbin / agetty --autologin [Nombre de usuario] --noclear% I $ TERM

donde [Nombre de usuario] se coloca el usuario que desea iniciar sesión sin los corchetes.

ahora tenía el inicio de sesión automático pi trabajando con la configuración raspi-config, pero utilicé el método anterior para cambiar el inicio de sesión automático para un nuevo usuario.

espero que esto ayude

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.