Pour ceux qui utilisent un économiseur d'écran autre que gnome-screensaver (qui est l'économiseur d'écran par défaut dans Ubuntu à partir de la version 11.10) cette réponse peut être utile.
Personnellement, je n'ai pas remplacé gnome-screensaver par autre chose et, pour une raison inconnue, Caffeine ne fonctionne pas du tout pour moi (peut-être est obsolète).
Cela étant dit, en partant des scripts bash d'autres personnes (celui-ci, celui-ci et celui-ci), j'ai réussi à créer un nouveau script, gnome_screensaver_off.sh
qui fonctionne parfaitement pour ce que je voulais quand YouTube utilise le lecteur Flash pour afficher les vidéos.
Désactiver gnome-screensaver lorsque YouTube utilise le lecteur Flash
Ouvrez un terminal et exécutez les commandes suivantes en suivant les instructions :
-
mkdir -p bin
- cette commande va créer un répertoire bin
dans votre dossier home
si vous ne l'avez pas déjà.
-
gedit ~/bin/gnome_screensaver_off.sh
- cela va créer le nouveau fichier gnome_screensaver_off.sh
dans gedit.
-
Collez le script suivant :
!/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
-
Sauvegardez le fichier et fermez-le.
-
Retournez dans le terminal et exécutez : chmod +x gnome_screensaver_off.sh
- pour accorder l'accès en lecture et exécution au script.
-
Pour exécuter votre nouveau script, lancez ~/bin/gnome_screensaver_off.sh
.
Si vous préférez, vous pouvez paramétrer ce script pour s'exécuter au démarrage en suivant ces étapes :
- Cherchez dans Dash pour Applications au démarrage, ouvrez-le et cliquez sur Ajouter.
- Sous nom, tapez "YouTube Monitor" ou quelque chose que vous reconnaîtrez.
- Sous commande, tapez "/home/$USER/bin/gnome_screensaver_off.sh" (remplacez $USER par votre nom d'utilisateur).
- Sous commentaire (si vous voulez), tapez une brève description (par exemple "Empêche l'écran de s'éteindre lorsque le lecteur Flash est en cours d'exécution dans le navigateur").
Désactiver gnome-screensaver lorsque YouTube utilise le lecteur HTML5
La question reste ouverte à ce sujet...
Merci pour les suggestions offertes par : fossfreedom, Meer Borg, njallam, desgua et d'autres.