Autologin no Linux sem o uso do KDM

Tendo o Linux como desktop doméstico, às vezes é incomodo ter que se logar toda vez que se vai simplesmente acessar um site na Internet. O KDM resolve este problema com o sistema de autologin, mas e se o espaço ocupado por ele for muito grande para o computador? Neste artigo tento mostrar uma maneira de contornar este problema e atingir o mesmo objetivo.

[ Hits: 56.094 ]

Por: MMaximo em 10/03/2005


Alterando o /etc/inittab



Antes de executar estes passos é melhor fechar o ambiente gráfico e usar um dos terminais textos, menos o tty2, que será usado daqui em diante.

Como root, edite o arquivo /etc/inittab, este arquivo é lido pelo programa init e controla várias funções durante o início do Linux, inclusive quais terminais estarão abertos e qual o programa é usado para se logar no sistema. Deve-se ter muito cuidado ao lidar com este arquivo, é a partir dele que todo o sistema do Linux começa a funcionar, qualquer erro e o sistema pode parar.

Procure por uma sessão parecida com esta:

1:12345:respawn:/sbin/getty 38400 tty1
2:2345:respawn:/sbin/getty 38400 tty2
3:2345:respawn:/sbin/getty 38400 tty3
4:2345:respawn:/sbin/getty 38400 tty4
5:2345:respawn:/sbin/getty 38400 tty5
6:2345:respawn:/sbin/getty 38400 tty6

As linhas podem variar um pouco de acordo com a distribuição.

Uma breve descrição destas linhas.

Formato: <id>:<runlevels>:<ação>:<processo>
  • id: uma seqüencia única para cada linha de comandos do inittab;
  • runlevels: em quais runlevels a linha vai ser executada;
  • ação: palavras-chave que fazem as linhas serem executadas de certas maneiras. Exemplo: respawn, que faz a linha ser re-executada quando o processo é terminado.
  • processo: um comando ou programa a ser executado pelo init.

No nosso caso vamos alterar a linha de:

2:2345:respawn:/sbin/getty 38400 tty2

para:

2:2345:respawn:/sbin/mingetty --autologin usuarioqualquer tty2

Claro que você terá que alterar "usuarioqualquer" para o usuário de sua máquina que você queira que entre sem se logar (logicamente, não o root!!!).

Entre o comando:

# init q

Isso fará as atualizações no inittab serem executadas. Se você entrar no console tty2 (ALT+CTRL+2), haverá um shell aberto para o usuário escolhido.

Para mais informações sobre init, inittab e runlevels, dê uma olhada nas man pages:

$ man init

$ man inittab

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. O que é necessário
   3. Alterando o /etc/inittab
   4. Acerto nos scripts do usuário e pondo pra funcionar
Outros artigos deste autor

Kdrive, um X em miniatura

Leitura recomendada

Instalando o PostgreSQL no Slackware

Como criar pacotes "task" para o APT

Eu aprendi!

Porque o PC popular é ruim?

Configurando o more.groupware no GNU/Debian

  
Comentários
[1] Comentário enviado por agk em 10/03/2005 - 03:30h

Parabéns, essa dica vai poupar a digitação de senhas um montão de vezes. Tem gente que não gosta muito de digitar a senha toda hora que vai usar o sistema, então está aí mais uma solução.
[ ]'s

[2] Comentário enviado por maurelio em 10/03/2005 - 10:34h

não sei se no linux existe essa diferenciação mas no FreeBSD os comandos executados após o startx ficam no .xinitrc. No arquivo .xsession ficam os comandos executados após o X.

[3] Comentário enviado por mmaximo em 10/03/2005 - 13:25h

maurelio,
Pode ser q seja diferente no FreeBSD.
Olhei nas manpages do startx, xinit e Xsession, e me parece q a ordem é startx, que chama o Xsession, este verifica o conteudo e executa os comando no arquivo .xsession. Pelos testes que eu fiz, os comando dos programas q vao rodar no X estão podem estar tanto no .xinitrc ou no .xsession.

Não vou dizer q não há outras maneiras de se fazer isso, só que eu acho esta a forma mais simples de iniciar alguns programas e o gerenciador de janelas.

Mas obrigado pelos comentarios,
Marcel

[4] Comentário enviado por gremlin em 11/03/2005 - 01:24h

Muito boua a dica, pelo menos agora aqui em casa pararam as discuções e encomodações para comigo em relação a toda vez qualquer um que fosse usar o pc tivesse que logar! Valeu mesmo!
[ ]'s

[5] Comentário enviado por ffidelis em 11/03/2005 - 09:46h

Cara chou de bola seu artigo! Aqui na facult onde eu trabalho estamos com um projeto de recuperar computadores paleozóicos para acesso somente a infernet. O projeto já está funcionando, porém fazíamos com o KDM, o que fica pesado com 32MB de RAM, mas já espalhei o seu artigo pra cabecada aqui fazer os teste botar pra funfar ontem!!!!

Valeu grande, parebéns um grande abraco!
Fidelis

[6] Comentário enviado por slacker_ddsckt em 20/03/2005 - 15:25h

cara, bt o mingetty no inittab, tudo certo! mas em vez de da o login automatico, aparece...

login: ddsckt (automatic login)
password:

e tenho que digitar a senha ainda, nao aparece nenhuma shell.

onde é que eu errei? eu uso slackware 10.1

[7] Comentário enviado por mmaximo em 20/03/2005 - 19:31h

Ddsckt,
Não errou em nada, o Slackware trabalha um pouco diferente
de outras distros que conheço e estas usam um sistema chamado PAM ( Pluggable Authentication Modules) para autenticação e ai só o truque do mingetty funciona.
Mas não se preocupe, por causa da sua pergunta acabei de pesquisar e achei um jeito :).
abra o arquivo /etc/login.defs e procura por uma linha assim

#NO_PASSWORD_CONSOLE tty1:tty2:tty3:tty4:tty5:tty6

mude para

NO_PASSWORD_CONSOLE tty2

e de um init q.

se so assim nao funcionar faça mais isso:
Crie um chamado autologin.c, e nele digite:
int main()
{
execlp("login", "/login/", "-f", "ddsckt", 0);
}

e depois compile, assim

gcc -lm -o autologin autologin.c

De agora em diante como root
Copie autologin para /sbin/

No /etc/inittab vc coloca a linha que era do mingetty assim:
2:2345:respawn:/sbin/agetty -n -l /sbin/autologin 38400 tty2

e depois init q

Espero ter ajudado,
Marcel

[8] Comentário enviado por sandro_mf em 05/05/2005 - 17:12h

cara!!! este artigo para mim foi uma luz no fim do tunel!!, estou a dias montando um servidor (p200/48mb/3.0gb) cmo slackware 9.1 e como não vou deixar teclado nem monitor, precisava de um ambiente grafico para rodar o vnc para quando fosse preciso alguma modificação no sistema, assim acesso por uma estacao. 10!!! pra vc.

[9] Comentário enviado por samuel em 20/11/2005 - 18:14h

Creio que o linux em breve estará totalmente preparado para o desktop, assim que conseguir resolver problemas como por exemplos os arquivos midis e ampliar o suporte a hardware aí sim ele estará pleno para o uso em desktop.

[10] Comentário enviado por bad_feelings em 05/01/2007 - 18:33h

muito bom artigo kra soh q no slackware 11 ele ta fazendo o login automatico mas continua ainda pedindo a senha do usuario
se souber o q q pode ser isso manda a soluçao ai pra mim
obrigado t++

[11] Comentário enviado por Tilzao em 04/10/2007 - 16:54h

Valeu mesmo ! Estou montando um servidor sem teclado e esta dica foi uma mão na roda !

[12] Comentário enviado por paulopugin em 05/12/2007 - 17:38h

bad_feelings ,
Não sei se vaou poder te ajudar mas olha só
como root roda o comando pwunconv dai entra no arquivo /etc/passwd, e apaga tudo que aparecer entre o primeiro ":" e o segundo ":", depois roda o comando pwconv, e vê se funciona
t+

[13] Comentário enviado por fsampaio em 26/12/2008 - 15:15h

Tenho quer montar 2 estações com leitores de códigos de barra, que vão ler os códigos e executar
um SQL INSERT em um banco em um servidor remoto. O Shell Script que roda o comando eu
já fiz. Faltava descobrir como fazer a estação logar o terminal sozinho. Artigo 10 companheiro.
Parabéns!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts