Existe a pasta /etc/pm/sleep.d
que é freqüentemente usada para executar scripts ao suspender / retomar .
A forma típica é esta:
#!/bin/bash
case "$1" in
suspend)
# executed on suspend
;;
resume)
# executed on resume
;;
*)
;;
esac
Eu sugiro que você defina opção de suspensão para gravar o tempo de suspensão em um arquivo (o comando date
, mais fácil será date +%s
para obter o horário Unix) e a mesma ideia para retomar, exceto que você estar lendo o arquivo de formulário em uma variável e calculando a diferença com o tempo atual.
Algo parecido com isto:
#!/bin/bash
case "$1" in
suspend)
# executed on suspend
date +%s > /tmp/suspend_time.txt
;;
resume)
# executed on resume
suspend_time=$(< /tmp/suspend_time.txt)
current_time=$(date +%s)
difference=$(($current_time-$suspend_time))
if [ $difference -gt 60 ]; # greater than 1 minute (60 seconds)
then
# put some kind of command you want to run here
fi
;;
*)
;;
esac
Note que este é apenas um rascunho, e não testado, mas é uma sugestão provável que se pode seguir.