Inicia um programa para exibir texto na inicialização antes do login

2

Então eu escrevi uma interface simples em C. É somente leitura e exibe informações do sistema, como espaço em disco, informações de rede, etc.

Estou executando o servidor Ubuntu 14.04 e, atualmente, quando o dispositivo é iniciado, sou solicitado com o prompt de login e senha do texto do ubuntu clássico. Em vez disso, gostaria que meu executável do programa (compilado com o gcc) fosse executado e exibido antes desse prompt de login. Qual seria a melhor maneira de fazer isso?

Por favor, perdoe a minha falta de "terminologia". Sou relativamente novo nessa área e não tenho muita experiência com scripts de shell. Deixe-me saber se há mais alguma informação necessária para responder à pergunta .. Eu estava tendo um pouco de dificuldade me redação .. :) Agradecemos antecipadamente!

Editar: Imagem para ter a ideia. É algo semelhante, embora isso seja apenas algo que encontrei enquanto pesquisava para demonstrar a ideia.

Editar 2: Preferencialmente, a TUI será exibida antes que o usuário faça o login; no entanto, na realidade, não importa se é antes de um usuário solicitar o login e a senha ou imediatamente após.

    
por Funsaized 18.07.2016 / 19:42

1 resposta

1

O programa que espera que um usuário efetue login em um console de texto é conhecido genericamente como getty . (A propósito, o tipo de programa correspondente para logins GUI é um gerenciador de exibição ) Este também é o programa que solicita o nome do usuário. O programa que solicita a senha é login . Existem várias implementações do getty; o padrão no Ubuntu 14.04 é agetty .

No seu caso, acho que a solução mais simples seria dizer à agetty 1. não solicitar um nome de usuário e 2. chamar um script que executa o programa chama login e informa login para exibir um prompt de nome de usuário .

O script:

#!/bin/sh
yourprogram
exec /bin/login

Como configurar o getty: edite /etc/init/tty1.conf e arquivos semelhantes para outros consoles. Altere a linha exec para

exec /sbin/getty -l /path/to/script --skip-login -8 38400 tty1

Outra possibilidade é aproveitar o fato de que o getty exibe o arquivo /etc/issue antes do prompt de login. Se você deseja exibir somente texto que não muda com frequência, você pode escrever esse texto em /etc/issue . Embora você possa organizar o conteúdo dinâmico do arquivo , é um pouco mais difícil do que alterar a invocação getty. Mas então funcionaria para outros serviços de login, como o SSH.

    
por 19.07.2016 / 20:51

Tags