Buenas!
Galera, estou tentando criar um script que, após X minutos sem interação com o terminal, ele rode um outro programa - no caso, cmatrix
- para simular um “descanso de tela”.
O meu script atual está dessa forma:
#!/bin/bash
# Função que aguarda a inatividade por um certo tempo
wait_for_inactivity() {
local wait_time=$1
local last_activity=$(date +%s)
while true; do
# Calcula o tempo desde a última atividade
local current_time=$(date +%s)
local time_diff=$((current_time - last_activity))
# Se não houver atividade por $wait_time segundos, sai do loop
if [ "$time_diff" -ge "$wait_time" ]; then
break
fi
# Aguarda um segundo e verifica novamente
sleep 1
done
}
# Chama a função para aguardar 40 segundos de inatividade
wait_for_inactivity 40
# Executa o comando cmatrix após 40 segundos de inatividade
cmatrix
Mas, infelizmente, o cmatrix
não é exibido na saída do terminal quando o script é executado em segundo plano. Alguém tem alguma ideia de como posso resolver isso? Ou outra forma de chegar no mesmo resultado?