Você pode usar a saída de w
em uma tarefa cron. Veja a linha IDLE
. Este é o tempo desde que o último toque de tecla é feito no shell:
user@host:~# w
20:29:12 up 4:04, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 1.2.3.4 18:24 0.00s 0.23s 0.00s w
user@host:~# sleep 10 && w
20:29:26 up 4:04, 1 user, load average: 0.00, 0.00, 0.00
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 1.2.3.4 18:24 10.00s 0.23s 0.00s w
Então, escreva um cron job que leia esta linha e quando o número estiver acima de 300 (5 min), execute seu comando.