
Preciso executar meu aplicativo na tela quando usuários específicos estiverem desconectados e encerrar a tela quando alguém da minha lista de usuários fizer login. Então, estou pensando no script bash, que será chamado periodicamente do cron e:
- Verifica se usuários específicos estão logados.
- Se ninguém estiver logado - gere a tela e salve o pid no arquivo ou não faça nada se o arquivo pid já existir
- Se alguém estiver logado - leia o pid do arquivo e mate a tela
Estou procurando alternativas mais sofisticadas, que eliminem a execução periódica de scripts do cron.
Responder1
Várias opções óbvias:
- modifique
/etc/profile
para adicionar um gancho de logout (ou se o seu sistema já tiver um arquivo de gancho de logout, modifique-o) - modifique a configuração do PAM do sistema para adicionar um controlador de sessão extra (a biblioteca pam_script aborda especificamente isso)
- modifique o shell de login dos usuários em consideração para algo que mate seu outro programa na inicialização, gere o shell de login real e, em seguida, inicie o programa de tela quando o shell de login real sair
- (se você se preocupa apenas com logins do console) substitua getty