-
Instale o xmacro (sudo apt-get install xmacro)
-
Crie um arquivo chamado "myxmacro" e forneça o seguinte conteúdo:
Código:
MotionNotify 90 90
MotionNotify 120 120
3. Crie um arquivo "no.idle.sh" e torne-o executável:
Código:
touch no.idle.sh
chmod +x no.idle.sh
4.4. Crie um arquivo "no.idle.sh" e torne-o executável: Código:
touch no.idle.sh
chmod +x no.idle.sh
Dê o seguinte conteúdo:
Código
#!/bin/bash
# No.idle.sh prevents GNOME to turn IDLE
# if there is any sound sent to speakers
# This script requires the package "xmacro"
# (apt-get install xmacro)
###########################################
# This script requires a textfile called "myxmacro"
# with the following (dummy) content:
# ------------ myxmacro ------------
# MotionNotify 90 90
# MotionNotify 120 120
# ----------------------------------
# You need to fix the path to "myxmacro" in line 31
#
#############################################
# set Log-File
LOG=/home/YOUR_USERNAME/noidle.log
sound=0
silence=0
while true; do
sleep 1
Datum='date +%d.%m.%Y-%H:%M:%S'
# check if sound is sent to speaker
if pactl list | grep RUNNING > /dev/null; then
echo "[$Datum] Sound (Ping: $sound)" >> $LOG
sound=$((sound+1));
xmacroplay :0 </path/to/myxmacro
silence=0
else
echo "[$Datum] Silence (Ping: $silence)" >> $LOG
silence=$((silence+1));
sound=0
fi
#----------------------------------------------------
done
Você precisa: - corrija o caminho para o arquivo de log na linha 18
-
conserte o caminho para "myxmacro" na linha 31
- Adicione o script "no.idle.sh" aos itens de inicialização do GNOME, para que o no.idle.sh esteja sendo executado em todas as inicializações.
Feito.
O que o script faz: O script verifica cada segundo, se houver algum som enviado para os alto-falantes (usando o comando terminal pactl list | grep RUNNING).
Se a música estiver rodando, ela simula o movimento do mouse (usando xmacroplay). Isso tem o efeito de que sua sessão do GNOME não executará o IDLE (e, como resultado, seu PC não suspenderá).
Se não houver música tocada, ela não faz nada (então sua sessão PODERÁ correr IDLE e depois disso é suspensa)
Você pode assistir ao script verificando músicas digitando em um terminal:
tail -f /path/to/noidle.log