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.