Lorsque je regarde une vidéo en ligne, l’écran s’éteint après quelques minutes.

sur certains sites, lorsque je regarde un film dans un navigateur et que je ne touche pas à l’ordinateur, l’écran s’éteint. Dans d’autres sites comme Youtube, je n’ai pas ce problème. J’ai essayé d’utiliser de la caféine mais je n’aime pas l’idée de devoir l’activer et la désactiver manuellement chaque fois que je regarde une vidéo. J’ai aussi essayé d’autres méthodes que j’ai trouvées sur Internet mais rien n’a fonctionné. Aucune suggestion? J’utilise chrome et exécute Ubuntu 16.04.

MISE À JOUR 2017/08/23: Le script a été remplacé par un script qui n’envoie pas de frappe au clavier, mais désactive dpms et l’économiseur d’écran pendant la lecture d’une vidéo en plein écran.

Cela ne fonctionne qu’avec les applications fonctionnant en plein écran et non maximisées.


Installez d’abord xdotool :

 sudo apt install xdotool 

J’ai ensuite créé un dossier de scripts dans mon dossier personnel dans lequel je pouvais insérer tous les scripts que je voulais conserver:

 mkdir -p ~/scripts 

J’ai ensuite créé un fichier appelé check_full.bsh dans mon dossier ~/scripts et y ai ajouté le contenu suivant:

Étant donné que mon économiseur d’écran est défini sur 20 minutes, je règle la timer d’arrêt dans le script sur 10 minutes (600 secondes). Vous pouvez modifier cela en fonction des parameters de votre économiseur d’écran.

 #!/bin/bash #Get DPMS settings dpms_set=$(xset -q | grep -i "dpms is" | awk '{print $NF}') #Get screensaver type and command scrnsvr=$(ps -ef | grep screensav | grep -v grep | awk '{print $8}') scrnsvrcmd=$(ps -ef | grep screensav | grep -v grep | awk '{print substr($0,index($0,$8))}') #Sleep Timer in seconds. SL=600 while true; do result=() #Get all window geomesortinges all=($(xdotool search --name - | while read win; do xdotool getwindowgeometry $win | grep Geometry | awk '{print $2}'; done)) #Get all screen resolutions detected and build array. SCREENS=($(xrandr | grep \* | awk '{print $1}')) SCRN=" ${SCREENS[*]} " #Get result of all windows and match for item in ${all[@]}; do if [[ $SCRN =~ " $item " ]] ; then result+=($item); fi; done #If a result exists disable power management and screensaver if [[ ${result[@]} ]]; then ps -ef | grep $scrnsvr | grep -v grep >/dev/null if [[ $? == 0 ]]; then kill $(ps -ef | grep $scrnsvr | grep -v grep | awk '{print $2}') fi if [[ $dpms_set == "Enabled" ]];then xset -dpms fi else ps -ef | grep $scrnsvr | grep -v grep >/dev/null if [[ $? == 1 ]]; then ${scrnsvrcmd} & fi if [[ $dpms_set != "Disabled" ]];then xset dpms fi fi result=() sleep $SL done 

rendre le script exécutable:

 chmod +x ~/scripts/check_full.bsh 

Pour une raison quelconque, un travail cron ne l’exécuterait pas correctement. J’ai donc ajouté une entrée à mon démarrage pour appeler ce script. Dans le dossier ~/.config/autostart/ , j’ai créé un fichier appelé Check_Full.desktop avec le contenu suivant:

J’aime que les retards soient ajoutés au démarrage car ils se chargent généralement mieux.

 [Desktop Entry] Type=Application Name=Check_Full Comment=Prevent screensaver from activating when full screen video is playing Exec=bash -c 'sleep 5 && /home//scripts/check_full.bsh' 

changez la ligne ci-dessus pour qu’elle corresponde à votre dossier

Définissez les permissions appropriées sur le fichier:

 chmod 664 ~/.config/autostart/check_full.desktop 

Après la check_full.bsh et la check_full.bsh , check_full.bsh est maintenant en cours d’exécution et vérifie toutes les 10 minutes si l’application active est en plein écran. Si ce n’est pas le cas, l’économiseur d’écran ou le locking de l’écran se lancent à des heures normales.


J’espère que cela t’aides!

Youtube n’a pas ce problème car il utilise le lecteur HTML5. Les sites avec lesquels vous rencontrez le problème utilisent plutôt Flash Player. Il s’agit d’ un bogue dans Adobe Flashplayer , qui, en bref, indique qu’il n’a jamais averti WM de son passage en plein écran. Vous avez peut-être entendu dire cependant qu’Adobe Flash est une application buggy en général; une solution consiste donc à la désactiver et à utiliser uniquement les sites contenant de la vidéo HTML5.

Comme vous avez mentionné la caféine, vous avez probablement déjà cherché une solution. Une autre chose à faire est de désactiver complètement «l’économie d’énergie» , c’est-à-dire de forcer l’écran à ne jamais s’éteindre.