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

Publicado por Perfil removido em 10/07/2010

[ Hits: 20.625 ]

 


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

Instalando uma webcam da Clone no Ubuntu

Iniciando no modo gráfico no Slackware

Habilitando o peteleco no aMSN

Impressora Canon Pixma IP1800 no Linux

Testando seu firewall com scan remoto via internet

Leitura recomendada

Montar partição em tempo de inicialização (Ubuntu 10.x)

Repositórios para Debian Jessie

Alterando e adicionando atalhos para aplicativos

Trocando o Gerenciador de Arquivos do Deepin para o Nautilus

Applet de volume de som no Ubuntu 10.04

  

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

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts