Login automático com a GUI desativada no Raspbian


15

Como posso fazer o login automático da RPi quando inicializado, quando a GUI está desativada?

Você não precisa digitar uma senha ao fazer login quando a GUI está ativada; portanto, provavelmente existe uma maneira fácil de desativar o prompt de senha no console.


Muito perigoso, eu errei um pouco por não ter uma senha e parecia ter estragado o cartão SD. Esteja avisado!

Respostas:


19

Para Raspbian Wheezy:

Você deve poder editar o arquivo / etc / inittab para ativar o login automático.

Encontre uma linha como esta em / etc / inittab

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

Isso inicia o processo getty em tty1. Você pode adicionar a --autologinopção getty a essa linha:

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

Substitua {USERNAME} pelo usuário que você deseja fazer login.

Nota: Eu não testei isso, consulte a página de manual do getty para obter mais detalhes.

Atualização: Jessie Raspbian usa systemd para que o inittab não seja usado. Aqui está uma FAQ que pode ajudar a Jessie: https://fedoraproject.org/wiki/Systemd#How_do_I_set_automatic_login_on_a_virtual_console_terminal.3F

O FAQ é para o Fedora, mas deve ser muito parecido com o Raspbian Jessie.

UPDATE2: A página acima agora desapareceu, e aqui está o conteúdo da máquina Wayback:

Como definir o login automático em um terminal do console virtual?

Primeiro, crie um novo serviço semelhante ao 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

edite os valores ExecStart, Restart e Alias, assim:

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

e finalmente recarregue o daemon e inicie o serviço:

systemctl daemon-reload
systemctl start getty@tty8.service

Observe que, se você sair da sessão tty8, não poderá usá-la até a próxima reinicialização ou inicialização manual pelo systemctl, exceto se você deixar Reiniciar como 'sempre', mas eu recomendo evitá-lo por motivos de segurança.


11
Eu testei; Funciona bem. Além disso, coloque algo em ~ / .bash_profile e que será executado automaticamente depois que você estiver conectado.
greggo

2
Atualize a resposta! Não há nenhum /etc/inittabarquivo raspbian jessie.
Oki Erie Rinaldi

@OkiErieRinaldi Adicionei um link que pode ajudar com Jessie.
Craig

Não, ainda recebo o prompt de login na inicialização.
IgorGanapolsky

A solução Raspbian Jessie não funciona.
piepi

5

existe uma maneira mais fácil de fazer isso usando raspi-config Este artigo explica http://www.opentechguides.com/how-to/article/raspberry-pi/5/raspberry-pi-auto-start.html

mostrando:

  1. como fazer login automático no prompt do shell (usando um método semelhante ao acima)
  2. Executar scripts na inicialização
  3. Iniciar automaticamente a área de trabalho usando raspi-config

11
este artigo mostra como fazer login automático na área de trabalho usando raspi-config, mas a pergunta é perguntar como fazer login automaticamente quando não há GUI ou área de trabalho (para exibir o prompt do shell). No entanto, este artigo também mostra como fazer login automático no shell também.
Kolin

2

Isso funcionou para mim com Jessie Lite:

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

conteúdo:

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

O único problema é que não consigo mais fazer logon usando SSH - acesso negado. :-(


11
Uma boa resposta deve dar uma indicação do porquê funciona. O que esses dois passos fazem? Você pode realmente dizer que funciona se quebrar o SSH?
Jacobm001

Isso não funciona! Ainda me força a entrar na linha de comando.
IgorGanapolsky

usar $ TERM funciona para você? ExecStart=-/usr/bin/agetty --autologin username --noclear %I $TERM
esharp

0

Se você deseja fazer login automático no Raspberry Pi na linha serial, precisará editar o arquivo / etc / inittab no pi com permissões sudo.

Encontre uma linha como esta em / etc / inittab

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

Adicione a opção getty --autologin a essa linha.

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

Salve e reinicie.


O que é T0:23?? Eu pensei que deveria ser 1:2345.
IgorGanapolsky

0

Estou executando o NOOBS e tinha um arquivo inittab um pouco diferente. Aqui está o que eu mudei que combinava o "--autologin" na linha T0 e na linha 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

então o método lightdm.conf não funcionou para mim, depois de brincar um pouco com o método mais fácil que encontrei abaixo.

cd / etc / systemd / system /

a partir daí digite: ls

você verá autologin @ .service

apenas sudo nano autologin @ .service

e altere a linha ExecStart = - / sbin / agetty --autologin pi --noclear% I $ TERM

para

ExecStart = - / sbin / agetty --autologin [Nome de usuário] --noclear% I $ TERM

onde [Nome de usuário] é o usuário que você deseja fazer login sem os colchetes.

agora eu tinha o login automático pi funcionando usando a configuração raspi-config, mas usei o método acima para alterar o login automático para um novo usuário.

espero que isto ajude

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.