Executar script quando usuários específicos efetuam logout

6

Eu preciso executar meu aplicativo na tela quando usuários específicos estão desconectados e matar a tela quando alguém da minha lista de usuários está logado. Então, estou pensando no script bash, que será chamado periodicamente do cron e:

  1. Verifica se usuários específicos estão conectados.
  2. Se ninguém estiver logado - desova a tela e salve o pid em arquivo ou não faça nada se o arquivo pid já existir
  3. Se alguém estiver logado - leia pid do arquivo e mate a tela

Estou procurando alternativas mais sofisticadas, que eliminarão periodicamente o script em execução do cron.

    
por Krzysztof Bzowski 16.04.2012 / 22:52

1 resposta

3

Várias opções óbvias:

  1. modifique /etc/profile para adicionar um gancho de logoff (ou se o seu sistema já tiver um arquivo de gancho de logout, modifique isso)
  2. modificar a configuração do PAM do sistema para adicionar um controlador de sessão extra (a biblioteca pam_script aborda especificamente isso)
  3. modifica o shell de login dos usuários em consideração para algo que mata seu outro programa na inicialização, gera o shell de login real e, em seguida, inicia o programa de tela quando o shell de login real sai
  4. (se você se importa apenas com logins de console) substitua getty
por 17.04.2012 / 02:42