web-dev-qa-db-fra.com

Comment éviter que mon écran s'assombrisse ou que l'écran ne se verrouille lorsque je regarde YouTube?

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?

100
Steven Roose

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:

  1. Exécutez le programme "Applications de démarrage"
  2. Cliquez sur "Ajouter"
  3. Sous le nom "FlashMonitor" ou quelque chose que vous reconnaîtrez
  4. Sous le type de commande ~/bin/flash_saver.sh
  5. Sous commentaire (si vous le souhaitez), tapez une brève description. Par exemple. "Arrête la désactivation de l'écran lorsque Flash est en cours d'exécution"

Source: HOWTO: Désactiver l'économiseur d'écran lorsque Flash est en cours d'exécution - ubuntuforums

54
njallam

MODIFIER

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.

Caffeine Preferences

J'espère que ça aide.

31
Salem

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
14
fossfreedom

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/

10
KentGeek

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/

7
andybuckley

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
6
Garry

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.

5
daniel kullmann

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:

  1. Frappé Alt + F2, puis tapez caffeine.

  2. Cliquez sur l'icône "Caféine", puis sur "Désactiver l'économiseur d'écran".

2
user128712

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.

Désactiver l'économiseur d'écran gnome lorsque YouTube utilise Flash Player

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.
  • Copiez et 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
  • Enregistrez le fichier et fermez-le.
  • Retournez dans le terminal et exécutez: chmod +x gnome_screensaver_off.sh - pour accorder un accès en exécution au script.
  • Pour exécuter votre nouveau script, exécutez ~/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:

  1. Recherchez dans tiret pour applications de démarrage , ouvrez-le et cliquez sur Ajouter .
  2. Sous le nom, tapez "YouTube Monitor" ou quelque chose que vous reconnaîtrez.
  3. Dans la commande, tapez "/home/$USER/bin/gnome_screensaver_off.sh" (changez USER avec votre nom d'utilisateur).
  4. Sous commentaire (si vous le souhaitez), saisissez une brève description (par exemple, "l'écran s'éteint lorsque Flash Player est en cours d'exécution dans le navigateur").

Désactiver l'économiseur d'écran gnome lorsque YouTube utilise le lecteur HTML5

La question reste ouverte dans ce sens ...

Merci pour les suggestions proposées par: fossfreedom , Plus d'infos , njallam , desgua et autres.

2
Radu Rădeanu

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:

  • la fenêtre n'est pas en plein écran
  • la fenêtre n'est pas au point
  • la fenêtre n'existe plus

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
2
Glutanimate

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).

2
Sheljohn

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.

2
ccpizza

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
1
Rob

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:

  1. Copiez le texte dans un fichier vide,
  2. Enregistrer le fichier,
  3. Rendre le fichier exécutable,
  4. Exécutez-le depuis un terminal.
1
desgua

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.

0
K. P. MacGregor

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/

0
jasikevicius23

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.

0
Andriy

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?

0
karan

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
0
Thomas Sejr Jensen

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.

0
yanyingwang