Verifique a atividade do usuário em um script Bash

1

Estou escrevendo um script ( para ser executado em uma máquina de área de trabalho multifuncional ) no qual desejo verificar se não há atividade do usuário.

A não atividade seria definida como:

  1. Qualquer usuário que use a GUI não interage com ele (= sem entrada de mouse ou teclado) nos últimos N minutos.
  2. Qualquer usuário conectado remotamente ao ssh não executou nenhum comando ou transferiu dados nos últimos N minutos.

Onde eu cheguei tão longe

ad 1) A única coisa que me veio à mente é xprintidle , que usei no passado e é uma maneira confiável de verificar o tempo ocioso do usuário atual, mas não parece para ser utilizável no cenário "any current or future logged-in ou not user".

ad 2) Posso estabelecer se há alguma sessão aberta usando:

sudo netstat -tnpa | grep 'ESTABLISHED.*sshd'

Isso funciona muito bem, mas não verifica exatamente a atividade e eu gostaria de ignorar as sessões que são abertas, mas não usadas ativamente.

Perguntas

  1. Você poderia sugerir uma solução para qualquer uma das 2 verificações?
  2. Existe alguma maneira abrangente / universal melhor (por exemplo, programa) para fazer essas verificações?
por tmt 14.11.2016 / 13:21

0 respostas