Ubuntu Server - Login e execução de comandos automaticamente

Publicado por Perfil removido em 10/07/2010

[ Hits: 18.261 ]

 


Ubuntu Server - Login e execução de comandos automaticamente



Olá, pessoal! Depois de um longo período, estou de volta. E para começar a falar de algo que eu já queria e deveria ter abordado antes, inclusive mais profundamente! Depois de mais de um ano usando só Ubuntu Linux no meu computador pessoal, hoje tenho o privilégio de usá-lo em mais de 90% do tempo em minhas atividades profissionais, satisfação esta que culminou quando eu implantei um servidor GNU/Linux com o Ubuntu 10.04 LTS na empresa em que trabalho atualmente. Nesse processo eu aprendi muitas coisas, e, modestamente, quero compartilhar com vocês.

Quero começar com esta dica simples, mas eu custei a encontrar como fazer isso que vou ensinar. Tive que juntar as partes fórum por fórum, principalmente nos editados em inglês. Indo ao assunto, quem conhece sabe que a versão server do Ubuntu só vem em modo texto! Pros "puxa-saco" da M$ isso não tem explicação, mas eu não tô a fim de explicar isso agora (olha a redundância). Afinal servidor é servidor, não foi feito pra ninguém acessar o Orkut...

Voltando ao que interessa, já tendo em mente que você tem um Ubuntu Server rodando, quando ele é ligado tudo já começa a funcionar, e na tela ele apenas exibe um prompt pra login como este:

Ubuntu 10.04 LTS meuservidor tty1

meuservidor login: _

É bem provável que você precise que o servidor inicie logado automaticamente com um determinado usuário. Isso não é regra, pode ser perfeitamente dispensável. Eu mesmo usei isso e depois voltei atrás. Mas independente das motivações é uma dica útil. Pra configurar este recursos, basta adicionar a seguinte linha ao final do arquivo tty1.conf em /etc/init/:

exec /bin/login -f nomeusuario < /dev/tty1 > /dev/tty1 2>&1

Edite-o pelo Nano e salve:

sudo nano /etc/init/tty1.conf

O arquivo completo deve ficar como este:

# tty1 - getty
#
# This service maintains a getty on tty1 from the point the system is
# started until it is shut down again.


start on stopped rc RUNLEVEL=[2345]
stop on runlevel [!2345]

respawn
exec /sbin/getty -8 38400 tty1
exec /bin/login -f nomeusuario < /dev/tty1 > /dev/tty1 2>&1

Isso faz com que o sistema comece com o usuário acima logado, e você pode executar um comando ou um programa após o login. Basta adicionar adicioná-los no fim do arquivo .profile que se encontra na pasta do usuário, por exemplo:

sudo nano /home/nome_usuario/.profile

É claro que isso pode variar, este seria o padrão. Mas observe as orientações nos comentários do próprio arquivo ~/.profile do usuário para mais detalhes. Simples, e por hoje é só pessoal.

Outras dicas deste autor

Como criar uma calculadora no QT Creator

Instalando HP Webcam Chicony no Debian Linux

Como instalar o plugin Flash Player no Firefox (testado no Slackware 14.1)

Vídeo aula: Trabalhando com o Quanta Plus

Instalando plugins para gráficos SVG no Mozilla/Firefox

Leitura recomendada

Crie o seu próprio modo de vídeo (modeline)

VNC como alternativa de login X (para servidores multi-usuários)

Utilizando Fontes TrueType no Linux

Emulação de Impressora Jetdirect

Travamentos aleatórios e constantes do Linux na arquitetura Intel Bay Trail [Resolvido]

  

Comentários
[1] Comentário enviado por julio_hoffimann em 10/07/2010 - 16:02h

Pedro,

Obrigado pela dica! Semana que vem estarei configurando um servidor e ela será lembrada se preciso for.

Abraço!

[2] Comentário enviado por removido em 10/07/2010 - 23:05h

Pedro,

Muito muito e muito obrigado! A sua dica acabou de resolver o meu problema que ninguém chegou a resolver pra mim.

http://www.vivaolinux.com.br/topico/Ubuntu-e-Kubuntu/Como-fazer-iniciar-o-LiveUSB-sem-o-usuario-ubun...

Valeu cara.

[3] Comentário enviado por removido em 11/07/2010 - 02:11h

Tem como você me dar uma mãozinha aqui?

Eu tentei tirar isso aqui
exec /bin/login -f ubuntu </dev/tty1 > /dev/tty1 2>&1

e coloca só isso aqui
exec /sbin/getty -8 38400 tty1

mas toda vez que reiniciou, ele está lá de volta. Já estou ficando louco!

[4] Comentário enviado por removido em 12/07/2010 - 08:34h

Observe as suas permissões de acesso, ou alguma configuração de segurança para este arquivo.
Comigo aconteceu algo semelhante, depois que publiquei esta dica: eu alterava o arquivo, mas por algum motivo que ainda desconheço, quando reiniciava, o arquivo estava o mesmo, porém as minhas alterações eram salvas num arquivo paralelo na mesma pasta com o nome de "tty1.conf.save".

[5] Comentário enviado por badriciobq em 10/10/2010 - 13:12h

Pedro,
aqui funcionou perfeitamente, porém tive que tira a linha "exec /sbin/getty -8 38400 tty1". Também não consegui entender perfeitamente o que esta parte do comando faz < /dev/tty1 > /dev/tty1, os sinais de "<" e ">" assumem somente a função de direcionadores? Tem como eu executar um script personalizado nesta linha mesmo? sem precisar utilizar o .profile?

vlw :)



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