102 votes

Comment empêcher mon écran de s'assombrir ou le verrouillage de l'écran de se déclencher lorsque je regarde YouTube?

La luminosité de mon écran avait l'habitude de diminuer après quelques secondes pour préserver la batterie. C'est la valeur par défaut dans Ubuntu 12.04. Cependant, lorsque je regarde une vidéo, cela ne devrait pas diminuer.

Cela fonctionne correctement lorsque je regarde des vidéos en utilisant des applications natives comme VLC. Avec les vidéos dans le navigateur, cependant, l'écran n'est pas empêché de diminuer. C'est très ennuyeux 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 réglages de diminution et les vidéos Flash étaient prises en compte correctement.

Quelqu'un a une idée comment empêcher YouTube de diminuer l'écran?

2voto

Glutanimate Points 20429

Solution pour la lecture en HTML5 dans Chrome

Aperçu

Le script suivant désactive le mode veille de l'écran s'il trouve une session Chrome en plein écran active. Par défaut, il effectuera une vérification toutes les 5 minutes. Le script reprendra automatiquement le mode veille de l'é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 premier plan
  • la fenêtre n'existe plus

Script

#!/bin/bash

## Variables ##

ChromeWmClass="Google-chrome"
FullScreenProperty="_NET_WM_STATE_FULLSCREEN"
CheckInterval="300" # vérifier toutes les 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 "Suspension du mode veille de l'écran pour $ActiveWinID"
        xdg-screensaver suspend "$ActiveWinID"
        SuspendingID="$ActiveWinID"
      elif [[ "$ActiveWinID" = "$SuspendingID" ]]; then
        echo "$ActiveWinID est déjà en train de suspendre le mode veille de l'écran."
      elif [[ -n "$SuspendingID" ]]; then
        echo "Reprise du mode veille de l'écran pour $SuspendingID"
        xdg-screensaver resume "$SuspendingID"
        echo "Suspension du mode veille de l'écran pour $ActiveWinID"
        xdg-screensaver suspend "$ActiveWinID"
        SuspendingID="$ActiveWinID"
      fi
    else
      if [[ -n "$SuspendingID" ]] \
      && xprop -id "$SuspendingID" > /dev/null 2>&1
        then
          echo "Reprise du mode veille de l'écran pour $SuspendingID"
          xdg-screensaver resume "$SuspendingID"
          SuspendingID=""
        else
          echo "Aucun changement."
      fi
  fi
done

2voto

ccpizza Points 1294

La méthode la plus simple et non intellectuelle, indépendante du bureau et reposant sur xdotool, serait de simuler une frappe 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 ## montrer un signe de vie
    sleep 100
done

Je lance le script pendant que je regarde la vidéo, puis je l'arrête quand il n'est plus nécessaire.

xdotool peut être installé avec sudo apt-get install xdotool.

Si vous voulez également avoir une sorte de détection audio automatique, et que vous êtes d'accord avec une recette spécifique à PulseAudio, voici une variation de la solution ci-dessus qui vérifie si l'audio est en cours de lecture:

#!/bin/bash

while : 
do
    if [[ ! -z $(pacmd list-sink-inputs | grep RUNNING) ]] ; then
        echo 'L'audio est en cours de lecture. Inhibition du mode veille'
        nice -n 1 xdotool key shift ;
    else
        echo 'Pas de détection audio'
    fi
    date +%T ## montrer un signe de vie
    sleep 100
done

Si vous utilisez Alsa, alors le test serait probablement quelque chose comme (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 se mettra pas en veille même si vous écoutez de la musique ou la radio, mais je suppose que dans la plupart des cas, ce n'est pas un problème.

1voto

piyo Points 267

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

1voto

Bill K Points 32115

Pour ceux qui aiment avoir le plein contrôle ou contrôle manuel entre leurs mains

Cette ligne de commande peut définir le délai du mode veille de l'écran :

gsettings set org.gnome.settings-daemon.plugins.power sleep-display-ac 0

Utilisez "0" (zéro) pour le laisser allumé ou une autre valeur pour définir le délai en secondes.

Le script suivant maintiendra l'écran allumé jusqu'à ce qu'une touche soit pressée.

#!/bin/bash

# 
# Pour désactiver le temps d'attente de l'écran pour un moment puis le réactiver
#
# par desgua 27/01/2013
#

# Récupérer la configuration précédente
back=$(gsettings get org.gnome.settings-daemon.plugins.power sleep-display-ac)

# Définition de la fonction de restauration
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 "Le temps d'attente de l'écran a été restauré à $bmin minutes."
echo
echo "Le temps d'attente de l'écran a été restauré à $bmin minutes."
echo 

exit 0
}

# S'assurer que l'utilisateur ne met pas le bazar...
trap 'RESTORE && exit 0' INT HUP

# Désactivation du temps d'attente
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 "Le temps d'attente de l'écran est désactivé."
echo 

#notify-send "Le temps d'attente de l'écran est désactivé."

# Attendre que l'utilisateur appuie sur une touche et ensuite restaurer la configuration précédente
read -n 1 -p 'Appuyez sur une touche pour le réactiver. ' b

RESTORE

exit 0

Comment exécuter un script :

  1. Copiez le texte dans un fichier vide,
  2. Enregistrez le fichier,
  3. Rendez le fichier exécutable,
  4. Exécutez-le à partir d'un terminal.

0voto

BMDan Points 7059

Il dépend quelque peu de la version d'Ubuntu que vous utilisez. Dans la version 11.10, vous pouvez trouver les "Paramètres Système" en cliquant sur l'icône en forme d'engrenage en haut à droite de l'écran. Sélectionnez ceci, et dans la fenêtre qui apparaît, choisissez "Écran". Vous pouvez régler le temps d'inactivité avant que l'écran se mette en veille avec le menu déroulant, ou désactiver cette fonction en cliquant sur le bouton "Verrouiller".

Si vous avez un système plus ancien, vous devrez peut-être chercher ailleurs ce paramètre, mais il est là quelque part.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X