Para aqueles que estão usando um protetor de tela diferente do gnome-screensaver (que é o protetor de tela padrão no Ubuntu começando com a versão 11.10), esta resposta pode ser útil.
Pessoalmente, não troquei o protetor de tela de gnomo por outra coisa e, não sei por que razões, a cafeína não funciona para mim de forma alguma (talvez esteja desatualizada).
Dito isto, a partir de roteiros de outros Bash ( este , este e este ), eu consegui fazer um novo roteiro, gnome_screensaver_off.sh
que funciona perfeitamente para o que eu pretendia quando o YouTube está usando Flash player para renderizar vídeos.
Desativar protetor de tela gnome enquanto o YouTube estiver usando o Flash player
Abra um terminal e execute os próximos comandos seguidos por instruções:
mkdir -p bin
- este comando criará um bin
diretório na sua home
pasta se você ainda não o tiver.
gedit ~/bin/gnome_screensaver_off.sh
-Isso criará o novo arquivo gnome_screensaver_off.sh
no gedit.
- Copie e cole no próximo script:
#!/bin/bash
# Getting the previous configuration
back=$(gsettings get org.gnome.settings-daemon.plugins.power sleep-display-ac)
screensaver_is_off=0
delay=$[$back - 10]
# Defining the restore function
function restore {
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac $back
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-battery $back
gsettings set org.gnome.desktop.session idle-delay $back
bmin=$[$back / 60]
#notify-send "Screen sleep time restored to $bmin minutes."
notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "Screen sleep time restored to $bmin minutes."
}
# Defining the disable_screensaver function
function disable_screensaver {
# Making sure the user don't mess up...
trap 'restore && exit 0' INT HUP
# Disabling sleep time
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac 0
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-battery 0
gsettings set org.gnome.desktop.session idle-delay 0
notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "Screen sleep time turned off."
}
while true; do
if [ "$delay" -le "50" ]; then
sleep 50
else
sleep $delay
fi
flash_on=0
#Check if Chrome, Chromium or Firefox is open with a flash video running on it
if pgrep -lfc ".*((c|C)hrome|chromium|firefox|).*flashp.*" > /dev/null ; then
flash_on=1
else
flash_on=0
fi
if [ "$flash_on" -eq "1" ] && [ "$back" -ne "0" ] && [ "$screensaver_is_off" -eq "0" ]; then
disable_screensaver
screensaver_is_off=1
elif [ "$flash_on" -eq "0" ] && [ "$screensaver_is_off" -eq "1" ]; then
restore
screensaver_is_off=0
fi
done
exit 0
- Salve o arquivo e feche-o.
- Volte ao terminal e execute:
chmod +x gnome_screensaver_off.sh
- para conceder acesso de execução ao script.
- Para executar seu novo script, execute
~/bin/gnome_screensaver_off.sh
.
Se preferir, você pode definir esse script para executar no logon, fazendo o seguinte:
- Pesquise no Dash por aplicativos de inicialização , abra-o e clique em Adicionar .
- Sob o nome, digite "YouTube Monitor" ou algo que você reconhecerá.
- Sob o comando, digite "/home/$USER/bin/gnome_screensaver_off.sh" (altere $ USER com seu nome de usuário).
- Em comentário (se desejar), digite uma breve descrição (por exemplo, "Interrompe a tela quando o Flash player está sendo executado no navegador").
Desativar protetor de tela gnome enquanto o YouTube estiver usando o player HTML5
A questão permanece em aberto nesse sentido ...
Obrigado pelas sugestões oferecidas por: fossfreedom , Meer Borg , njallam , desgua e outros.