La luminosité de mon écran diminuait après quelques secondes pour préserver la batterie. C'est la valeur par défaut dans Ubuntu 12.04. Cependant, lorsque vous regardez une vidéo, il ne devrait pas s'assombrir.
Cela fonctionne correctement lorsque je regarde des vidéos à l'aide d'applications natives telles que VLC. Cependant, avec la vidéo dans le navigateur, l’éclairage de l’écran n’est pas empêché. Ceci est très agaçant car vous devez déplacer votre curseur toutes les 10 secondes environ.
J'avais l'habitude d'utiliser Mac OSX où j'avais les mêmes paramètres de gradation et les vidéos Flash étaient correctement prises en compte.
Quelqu'un a une idée de comment faire en sorte que YouTube empêche l'assombrissement de votre écran?
HOWTO: Désactivez l'économiseur d'écran lorsque Flash est en cours d'exécution
Exécutez la commande suivante dans le terminal:
mkdir -p ~/bin
Ouvrez gedit ou votre éditeur de texte préféré et tapez ceci:
#!/bin/bash
# Cleanup any bad state we left behind if the user exited while flash was
# running
gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool true
we_turned_it_off=0
while true; do
sleep 60
flash_on=0
for pid in `pgrep firefox` ; do
if grep libflashplayer /proc/$pid/maps > /dev/null ; then
flash_on=1
fi
ss_on=`gconftool-2 -g /apps/gnome-screensaver/idle_activation_enabled`
if [ "$flash_on" = "1" ] && [ "$ss_on" = "true" ]; then
gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled \
--type bool false
we_turned_it_off=1
Elif [ "$flash_on" = "0" ] && [ "$ss_on" = "false" ] \
&& [ "$we_turned_it_off" = "1" ]; then
gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled \
--type bool true
we_turned_it_off=0
fi
done
done
Enregistrez ce fichier sous ~/bin/flash_saver.sh
.
Retournez dans le terminal et lancez:
chmod +x ~/bin/flash_saver.sh
Pour exécuter ceci, allez dans terminal et tapez:
~/bin/flash_saver.sh
Si vous préférez, vous pouvez configurer l'exécution de ce script à l'ouverture de session en procédant comme suit:
~/bin/flash_saver.sh
Source: HOWTO: Désactiver l'économiseur d'écran lorsque Flash est en cours d'exécution - ubuntuforums
Cela ne fonctionnera probablement pas si vous utilisez une version d'Ubuntu plus récente que la version 12.04 (essayez dans les versions 13.04 et 13.10 et cela ne fonctionne tout simplement pas). Il semble que le développeur principal ne travaille plus dans ce projet, donc les chances de le réparer ne sont pas bonnes.
Dans mon système (Ubuntu 11.10), j'utilise caféine . Vous pouvez essayer si cela fonctionne aussi dans Xubuntu. Il ajoute une icône de zone de notification où vous pouvez activer/désactiver l'économiseur d'écran pour certains programmes. Pour installer Caffeine, procédez comme suit:
Sudo add-apt-repository ppa:caffeine-developers/ppa
Sudo apt-get update
Sudo apt-get install caffeine
Puis exécutez dans un terminal:
caffeine -p &
Vous pouvez ensuite choisir les programmes devant désactiver l’économiseur d’écran:vlc
pour VLC, mplayer
pour Movie Player, etc.
J'espère que ça aide.
Il y a un joli petit script sur GitHub appelé lightsOn qui devrait faire l'affaire.
Fondamentalement, il recherche la vidéo en plein écran (flash dans firefox ou chrome, mplayer ou vlc) et, si tel est le cas, désactivez xscreensaver ainsi que la fonctionnalité d’écran de dim. Auto power-manager.
du script lui-même:
COMMENT UTILISER: Lancez le script avec le nombre de secondes pendant lequel vous souhaitez que les vérifications Pour le plein écran soient effectuées. Exemple: "./LightsOn.sh 120 &" vérifiera toutes les 120 secondes si Mplayer, VLC, Firefox ou Chromium sont en plein écran et économisent l’écran de veille et la gestion de l’alimentation, le cas échéant. Vous voulez que le nombre de secondes soit environ 10 secondes inférieur au temps qu'il faut À l'activation de votre économiseur d'écran ou de votre gestion d'énergie. Si vous ne passez pas un argument, les vérifications sont effectuées toutes les 50 secondes. secondes.
Appelez donc le script depuis votre dossier de démarrage automatique comme selon ma réponse ici .
Ajustez le script pour savoir si vous utilisez flash/vlc/mplayer
n'oubliez pas de donner au script les droits d'exécution pour exécuter i.e.
chmod +x lightsOn.sh
Ce n'est pas tout à fait ce que vous cherchez, mais ce petit script enregistre un mouvement de la souris à chaque exécution. Vous pouvez le déposer dans cron pour qu'il s'exécute une fois par minute. Cela empêcherait l’écran de s’éteindre, et un mouvement de la souris est à peine perceptible s’il fonctionne lorsque vous ne regardez PAS de vidéo
#!/bin/bash
#move the mouse
xte 'mousermove 1 1'
Au fait, j'ai eu cette idée d'un comic xkcd. http://xkcd.com/196/
Pour un équivalent au script fourni par @njallam, avec un petit élément d’interface graphique Gnome, essayez l’applet Caffeine:
https://launchpad.net/caffeine
http://ubuntu-Tweak.com/app/caffeine/
Webupd8 avait un article sur la caféine et Lightson.sh pour désactiver l'économiseur d'écran pendant la lecture de vidéos Flash ou HTML5. Le script Lightson fonctionne pour Firefox et Chrome et peut être configuré pour inclure VLC. J'espère que cela aidera.
Au cas où le code fourni par Webupd8 pour installer le script suit:
mkdir -p ~/scripts && cd ~/scripts
wget https://raw.github.com/hotice/lightsOn/master/lightsOn.sh
chmod +x lightsOn.sh
Vous devez non seulement vérifier les options de l'écran de veille, mais également les options de gestion de l'alimentation, notamment l'option "Mettre l'affichage en veille lorsqu'il est inactif pour ...".
Notez que sur les ordinateurs portables, deux paramètres portant ce nom sont utilisés: lorsque l'ordinateur portable fonctionne sur le secteur et lorsqu'il fonctionne sur batterie.
Utilisez de la caféine: page ppa .
Comment installer:
Sudo apt-add-repository ppa:caffeine-developers/ppa
Sudo apt-get update
Sudo apt-get install caffeine
Comment courir:
Frappé Alt + F2, puis tapez caffeine
.
Cliquez sur l'icône "Caféine", puis sur "Désactiver l'économiseur d'écran".
Pour ceux qui utilisent un économiseur d'écran autre que gnome-screensaver (qui est l'économiseur d'écran par défaut sous 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, je ne sais pas pour quelles raisons, la caféine ne fonctionne pas pour moi (il est peut-être dépassé).
Cela étant dit, en partant des scripts bash des autres ( this , this et this ), j'ai réussi à créer un nouveau script, gnome_screensaver_off.sh
qui fonctionne. parfaitement pour ce que je voulais quand YouTube utilise Flash Player pour le rendu de vidéos.
Ouvrez un terminal et exécutez les commandes suivantes, suivies des instructions:
mkdir -p bin
- cette commande créera un répertoire bin
dans votre dossier home
si vous ne l'avez pas déjà.gedit ~/bin/gnome_screensaver_off.sh
-this créera le nouveau fichier gnome_screensaver_off.sh
dans gedit.#!/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
chmod +x gnome_screensaver_off.sh
- pour accorder un accès en exécution au script.~/bin/gnome_screensaver_off.sh
.Si vous préférez, vous pouvez configurer l'exécution de ce script à l'ouverture de session en procédant comme suit:
La question reste ouverte dans ce sens ...
Merci pour les suggestions proposées par: fossfreedom , Plus d'infos , njallam , desgua et autres.
Solution pour la lecture HTML5 dans Chrome
Vue d'ensemble
Le script suivant désactive l'économiseur d'écran s'il détecte une session active Chrome en plein écran. Par défaut, une vérification est effectuée toutes les 5 minutes. Le script reprendra automatiquement l'économiseur d'écran si l'une des trois conditions suivantes est remplie:
Script
#!/bin/bash
## Variables ##
ChromeWmClass="Google-chrome"
FullScreenProperty="_NET_WM_STATE_FULLSCREEN"
CheckInterval="300" # check every 5 minutes
## Main ##
while true; do
sleep "$CheckInterval"
ActiveWinID=$(xdotool getactivewindow)
if [[ -z "$ActiveWinID" ]]; then
continue
fi
ActiveWinProp=$(xprop -id "$ActiveWinID")
if echo "$ActiveWinProp" | grep "$FullScreenProperty" > /dev/null 2>&1 \
&& echo "$ActiveWinProp" | grep "WM_CLASS" | grep "$ChromeWmClass" > /dev/null 2>&1
then
if [[ -z "$SuspendingID" ]]; then
echo "Suspending screensaver for $ActiveWinID"
xdg-screensaver suspend "$ActiveWinID"
SuspendingID="$ActiveWinID"
Elif [[ "$ActiveWinID" = "$SuspendingID" ]]; then
echo "$ActiveWinID is already suspending screensaver."
Elif [[ -n "$SuspendingID" ]]; then
echo "Resuming screensaver for $SuspendingID"
xdg-screensaver resume "$SuspendingID"
echo "Suspending screensaver for $ActiveWinID"
xdg-screensaver suspend "$ActiveWinID"
SuspendingID="$ActiveWinID"
fi
else
if [[ -n "$SuspendingID" ]] \
&& xprop -id "$SuspendingID" > /dev/null 2>&1
then
echo "Resuming screensaver for $SuspendingID"
xdg-screensaver resume "$SuspendingID"
SuspendingID=""
else
echo "No change."
fi
fi
done
Un peu vieux, mais le voici avec le support de plusieurs navigateurs:
#!/bin/bash -eu
# List your browsers here
browsers_list=( "firefox" "chrome" "chromium" "opera" )
# Cleanup any bad state we left behind if the user exited while flash was running
gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool true
idle_off=0
while true; do
sleep 60
for browser in "${browsers_list[@]}" ; do
for pid in `pgrep $browser` ; do
flash_on=0
if [ -O /proc/$pid/maps ] && grep libflashplayer /proc/$pid/maps > /dev/null ; then
flash_on=1
fi
ss_on=`gconftool-2 -g /apps/gnome-screensaver/idle_activation_enabled`
if [ "$flash_on" = "1" ] && [ "$ss_on" = "true" ]; then
gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool false
idle_off=1
Elif [ "$flash_on" = "0" ] && [ "$ss_on" = "false" ] && [ "$idle_off" = "1" ]; then
gconftool-2 -s /apps/gnome-screensaver/idle_activation_enabled --type bool true
idle_off=0
fi
done
done
done
Enregistrez simplement le script quelque part, chmod +x
, et ajoutez-le à StartupApplications. Il pourrait y avoir un moyen de lister tous les navigateurs disponibles en utilisant quelque chose comme:
update-alternatives --list x-www-browser
Mais je ne sais pas comment gérer le fait que certains exécutables n’ont pas le même nom que leurs processus (par exemple, /usr/bin/google-chrome
s’exécute en tant que chrome
).
L’approche non intellectuelle la plus simple qui soit indépendante du poste de travail et sur laquelle xdotool consisterait à simuler un trait de touche toutes les N secondes.
J'utilise un script appelé heartbeat.sh
:
#!/bin/bash
while :
do
Nice -n 1 xdotool key shift
date +%T ## show some sign of life
sleep 100
done
Je lance le script pendant la lecture de la vidéo, puis je l'arrête dès que ce n'est plus nécessaire.
xdotool
peut être installé avec Sudo apt-get install xdotool
.
Si vous souhaitez également une sorte de détection audio automatique, et vous êtes d'accord avec une recette spécifique à PulseAudio, voici une variante de la solution. au-dessus, vérifie si le son est en cours de lecture:
#!/bin/bash
while :
do
if [[ ! -z $(pacmd list-sink-inputs | grep RUNNING) ]] ; then
echo 'Audio is playing. Inhibiting screensaver'
Nice -n 1 xdotool key shift ;
else
echo 'No audio detected'
fi
date +%T ## show some sign of life
sleep 100
done
Si vous utilisez Alsa, le test ressemblera probablement à (non testé):
if [[ ! -z $(grep RUNNING /proc/asound/card*/pcm*/sub*/status) ]] ; then...
Un inconvénient potentiel de cette solution est que votre écran ne dormira pas même si vous écoutez simplement de la musique ou la radio, mais je suppose que dans la plupart des cas, ce n'est pas un problème.
Le VLC dans ce PPA , en plus d'être une version actuelle de VLC, implémente également correctement l'inhibition de l'économiseur d'écran.
Vous pouvez ajouter ce PPA en utilisant cette commande
Sudo add-apt-repository ppa:n-muench/vlc
Pour ceux qui aiment le contrôle total ou manuel entre leurs mains
Cette ligne de commande peut définir le délai de l’économiseur d’écran:
gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac 0
Utilisez "0" (zéro) pour le garder activé ou une autre valeur pour définir le délai en secondes.
Le script suivant gardera l'écran allumé jusqu'à ce que vous appuyiez sur une touche.
#!/bin/bash
#
# To turn screen sleep time off for a while then back on
#
# by desgua 2013/01/27
#
# Getting the previous configuration
back=$(gsettings get org.gnome.settings-daemon.plugins.power sleep-display-ac)
# 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=$(echo "$back / 60" | bc)
#notify-send "Screen sleep time restored to $bmin minutes."
echo
echo "Screen sleep time restored to $bmin minutes."
echo
exit 0
}
# 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
echo
echo "Screen sleep time turned off."
echo
#notify-send "Screen sleep time turned off."
# Waiting for user to press some key and then restore the previous configuration
read -n 1 -p 'Press any key to turn it on again. ' b
RESTORE
exit 0
Comment exécuter un script:
Cela dépend un peu de la version d'Ubuntu que vous utilisez. Dans 11.10, vous pouvez trouver "Paramètres système" en cliquant sur l'icône représentant une roue dentée dans le coin supérieur droit de l'écran. Sélectionnez ceci et dans la boîte de dialogue qui apparaît, sélectionnez "Écran". Vous pouvez définir la durée d'inactivité de votre ordinateur avant que l'écran ne soit vide avec le menu déroulant, ou désactiver cette fonctionnalité en cliquant sur le bouton "Verrouiller".
Si vous utilisez un système plus ancien, vous devrez peut-être rechercher ce paramètre ailleurs, mais il existe quelque part.
Pour ceux qui utilisent Ubuntu-Gnome 14.04 , il existe une extension simple mais utile appelée Caffeine, qui fournit une icône de bascule qui vous permet de désactiver l'éclairage et l'économiseur d'écran. comportement de la barre supérieure avec un clic.
L’extension peut être installée en suivant ce lien vers le site Web des extensions Gnome-Shell:
https://extensions.gnome.org/extension/517/caffeine/
Source: section des commentaires dans cet article:
http://www.maketecheasier.com/prevent-ubuntu-sleep-while-watching-video/
Le script ci-dessus ne fonctionne pas pour moi sur Ubuntu 14.04 LTS Unity. Voici sa variante mise à jour qui fonctionne:
#!/bin/bash
id_saved=0
sac_saved=0
sbat_saved=0
dim_saved=false
ss_save()
{
id_saved=`gsettings get org.gnome.desktop.session idle-delay`
sac_saved=`gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout`
sbat_saved=`gsettings get org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout`
dim_saved=`gsettings get org.gnome.settings-daemon.plugins.power idle-dim`
}
ss_set()
{
gsettings set org.gnome.desktop.session idle-delay "$1"
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout "$2"
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout "$3"
gsettings set org.gnome.settings-daemon.plugins.power idle-dim "$4"
}
ss_on()
{
ss_set "$id_saved" "$sac_saved" "$sbat_saved" "$dim_saved"
}
ss_off()
{
ss_set 0 0 0 false
}
trap ss_on EXIT
already_off=0
flash_on=0
ss_save
while true; do
if top -bcw 200 | sed -e '1,/PID/d' | head -1 | grep flash > /dev/null
then
flash_on=1
off_count=0
else
off_count=`expr $off_count + 1`
echo "flash_off_count=$off_count"
if [ $off_count -gt 5 ]; then
flash_on=0
fi
fi
if [ "$flash_on" = "1" -a "$already_off" = "0" ]; then
echo "screensaver: off"
ss_off
already_off=1
Elif [ "$flash_on" = "0" -a "$already_off" = "1" ]; then
echo "screensaver: on"
ss_on
already_off=0
Elif [ "$already_off" = "0" ]; then
echo "screensaver: save possibly new params"
ss_save # user may update the values
fi
sleep 30
done
En passant, ce script désactive l’économiseur d’écran UNIQUEMENT lorsque la vidéo est en cours de lecture, c’est-à-dire lorsque flashplayer est l’un des meilleurs utilisateurs de CPU.
Vous pouvez simplement exécuter/définir cette commande au démarrage:
gconftool --type string --set /apps/compiz-1/plugins/fade/screen0/dim_unresponsive false
Aussi pouvez-vous essayer de décocher l'accélération matérielle sur firefox?
J'utilise le script suivant comme solution de contournement:
#!/bin/bash
while true
do
xdotool key Shift_L
sleep 1m
done
Il simule une pression sur la touche de décalage gauche une fois par minute, ce qui empêche l'écran de s'assombrir. Bien entendu, l’inconvénient est que vous devez exécuter le script chaque fois que vous regardez YouTube. Par contre, il est simple et fonctionne avec la plupart des configurations, sinon toutes.
Vous devrez peut-être installer cette
Sudo apt-get install xdotool
Ceci est ma solution:
https://github.com/yanyingwang/shanghai-tools/blob/master/kit/the-bund-light.md
https://github.com/yanyingwang/shanghai-tools/blob/master/kit/the-bund-light.sh
Il suffit de télécharger le the-bund-light.sh
et de l'ajouter à l'application de démarrage:
Sudo apt-get install xdotool
cd ~ && wget https://raw.githubusercontent.com/yanyingwang/shanghai-tools/master/kit/the-bund-light.sh
cat >> ~/.config/autostart/the-bund-light.sh.desktop <<EOF
[Desktop Entry]
Type=Application
Exec=$HOME/shanghai-tools/kit/the-bund-light.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name[zh_CN]=TheBundLight
Name=TheBundLight
Comment[zh_CN]=
Comment=
EOF
ATTENTION: la valeur de Exec
dans le code doit être chemin de the-bund-light.sh
sur votre ordinateur.