Pular para o conteúdo

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

Dica publicada em Linux / Configuração
Perfil removido removido
Hits: 21.884 Categoria: Linux Subcategoria: Configuração
  • Indicar
  • Impressora
  • Denunciar

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.

Como criar uma calculadora de IMC no Lazarus [Vídeo]

Ouvindo música com SnackAmp no Kurumin

Salvando fotos no Orkut mesmo bloqueada

Solucionando o erro de "Bind on TCP/IP port" no MySQL

Fazendo o aMSN piscar na barra de tarefas no Ubuntu 8.04 (iniciante)

Desabilitar "A start job is running for dev-disk-by..." no início do Manjaro

Geany - Dark Theme e Colorschemes - Tutorial [Vídeo]

Como extrair arquivos compactados no Debian 7

NAGIOS 3 - Error: Could not open command file '/usr/local/nagios/var/rw/nagios.cmd' for update

Resolvendo problema de screen tearing nas placas de vídeo Intel no Ubuntu, Mint e derivados

#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!
#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

Entre na sua conta para comentar.