Como posso configurar o systemd para efetuar login automaticamente no meu ambiente de área de trabalho, de preferência sem usar o gerenciador de login? Estou usando o Arch.
arch-linux
boot
systemd
fhucho
fonte
fonte
Respostas:
Isso é descrito no Arch Wiki :
Isso basicamente copia o que já existe
[email protected]
para um novo arquivo[email protected]
que pode ser modificado livremente. É copiado/etc/systemd/system
porque é onde os arquivos de unidades específicas do site são armazenados./usr/lib/systemd/system
contém arquivos de unidade fornecidos pelos pacotes, portanto você não deve alterar nada.Você precisará vincular isso
[email protected]
ao serviço getty para o tty no qual deseja se registrar automaticamente, por exemplo, para tty1:Até o momento, ainda é o mesmo que o
[email protected]
arquivo usual , mas a parte mais importante é modificar o[email protected]
arquivo para efetivamente fazer login automaticamente. Para fazer isso, você só precisa alterar aExecStart
linha para lerA diferença entre a
ExecStart
linha[email protected]
e[email protected]
é apenas a-a USERNAME
que diz à agetty para efetuar logon automaticamente no usuário com o nome de usuário USERNAME.Agora você só precisa dizer ao systemd para recarregar seus arquivos daemon e iniciar o serviço:
(Não tenho certeza se o serviço iniciará corretamente se você já estiver conectado ao tty1, a maneira mais segura é provavelmente reinicializar em vez de iniciar o serviço).
Se você deseja iniciar automaticamente o X, insira o seguinte trecho no seu
~/.bash_profile
(retirado do wiki novamente):Você precisará modificá-lo
~/.xinitrc
para iniciar o ambiente da área de trabalho, pois isso depende do DE e provavelmente também está descrito no wiki do Arch.fonte
File exists
quando eu faço a ligação simbólicaln -sf /etc/systemd/system/[email protected] /etc/systemd/system/getty.target.wants/[email protected]
para substituí-lo.Modifique diretamente o arquivo
/etc/systemd/system/getty.target.wants/[email protected]
(que é um link simbólico para/lib/systemd/system/getty@service
):Anexar
-a/--autologin USERNAME
à linha:Conseqüentemente:
Você também pode remover
-o '-p -- \\u'
(como presente na instalação atual do Arch), pois isso iniciaria o login,USERNAME
mas ainda solicitará a senha.Após a reinicialização, você entrará automaticamente.
Ps Altere o nome do arquivo
[email protected]
para o qualtty
você deseja fazer login.fonte
IMO, o Arch Wiki atualmente recomenda uma solução muito mais simples:
Execute o helper (
systemctl edit getty@tty1
) ou faça o que eu fiz manualmente:O texto que você deseja inserir (por qualquer método) é ( certifique-se de alterar o nome de usuário adequadamente ):
NOTA : A linha vazia é importante! (é certo que não sei por que ...)
Agora, restart (
shutdown -r 0
) e algo com efeito... login: username (automatic login)
acontecerá onde ele bloqueou anteriormente a espera da entrada de nome de usuário / senhaDepois de reiniciado e de login automático, se você é como eu e deseja fazer o SSH neste sistema agora, provavelmente precisará executar:
O que criará o link simbólico (por exemplo
ln -s '/usr/lib/systemd/system/sshd.service' '/etc/systemd/system/multi-user.target.wants/sshd.service'
)fonte
/sbin/agetty
, então vale a pena conferir o/etc/systemd/system/getty.target.wants/[email protected]
arquivo original primeiro.