Comment faire pour empêcher l'écran de masquer / noircir?

14

J'ai réinstallé Debian 7 (Wheezy) après un certain temps. Pour la première fois, j'utilise les pilotes Nvidia libres (pas nouveau) et vesafb pour les consoles virtuelles.

Je ne peux pas, pour la vie de moi, empêcher l'écran de disparaître. Il n'y a pas d'économiseur d'écran, rien, il disparaît juste après quelques minutes d'inactivité. Ce n'est pas seulement pendant VLC (qui a eu un tel problème dans le passé) mais pendant n'importe quoi.

Pour aggraver les choses, cela semble se produire au hasard. Parfois, l'écran ne restera pas vierge pendant des heures, et parfois il le sera.

Mesures que j'ai prises jusqu'à présent:

  1. Ajout de quelques lignes /etc/X11/xorg.confpour arrêter les dpms:

    Section "ServerLayout"
         Option         "BlankTime"     "0"
         Option         "StandbyTime"   "0"
         Option         "SuspendTime"   "0"
         Option         "OffTime"       "0"
         ...
    Section "Monitor"
      ...
         Option          "DPMS" "false"
    
  2. Ajouté dans mon .xinitrcfichier:

    xset s off         # don't activate screensaver
    xset -dpms         # disable DPMS (Energy Star) features.
    xset s noblank     # don't blank the video device
    
  3. Tous les économiseurs d'écran et modes d'économie d'énergie désactivés sous les paramètres de KDE.

  4. Ajout de la boucle suivante dans my /etc/init.d/rc.local:

    for index in $(seq 1 6)
    do
            setterm -blank 0 -powerdown 0 -powersave off > /dev/tty${index}
    done
    
  5. J'ai corrigé mon économiseur d'écran xdg avec un correctif qui a forcé VLC à générer un économiseur d'écran. (J'ai depuis cessé d'utiliser VLC et suis revenu à Dragon Player.)

Cela se transforme en cauchemar, et c'est vraiment très ennuyeux. Avant de nuke vesafb et setterm (dont j'ai le sentiment d'être en quelque sorte responsable), je voudrais savoir si quelqu'un a déjà rencontré ce problème et comment il a réussi à le résoudre.

Alex
la source
Essayez de retirer tous les fichiers power * de ~ / .kde / share / config /, puis activez la gestion de l'alimentation sur tous les onglets (en les appliquant au fur et à mesure), puis désactivez-le à nouveau.
kirill-a
1
Pour réduire le problème, exécutez xscreensaver-command -watchquelque part dans un xterm. Après un événement vide d'écran indésirable, vérifiez s'il a généré l'événement BLANK. Si c'est le cas, il est définitivement supprimé par l'action du serveur X. Sinon, il est plus bas dans la pile et vous pouvez vous concentrer sur les pilotes vidéo.
aecolley
@aecolley merci pour votre suggestion. Aucune sortie dans le terminal après la suppression d'écran indésirable. J'utilise le pilote vidéo propriétaire nvidia, je n'ai vu aucun paramètre concernant l'économie d'énergie dans l'outil de configuration graphique. Soit dit en passant, la suppression s'est produite alors qu'il n'y avait qu'un tas de fenêtres de navigateur et que Mendeley était ouvert, pas VLC.
rumtscho
Voir ma mise à jour: unix.stackexchange.com/a/440648/3285
Evan Carroll

Réponses:

6

Le DPMS peut être extrêmement résistant!

Essayez cette commande:

xset dpms 0 0 0 && xset s noblank  && xset s off

Si cela fonctionne, ajoutez-le au fichier de démarrage automatique utilisé par KDE.

Soit dit en passant, VLC a l'option Préférences >> Vidéo >> Désactiver l'économiseur d'écran . Si cette option est cochée, l'écran ne se vide pas pendant que VLC lit une vidéo, mais DPMS sera activé par la suite (indépendamment du fait qu'il était activé avant de démarrer VLC). Par conséquent, laissez cette option décochée et VLC ne devrait pas causer de problèmes avec la suppression.

MajorBriggs
la source
Je ne suis pas sûr que cela résout tout le problème (mon écran s'efface à intervalles irréguliers, donc je vais devoir laisser mon ordinateur intact pendant 2 heures par test). Mais la partie sur VLC activant DPMS en elle-même est une piste très intéressante, j'ai donc décidé de vous donner la prime.
rumtscho
1
Assurez-vous de nous faire savoir si cela s'avère persistant. J'utilise Debian avec openbox, et c'est la seule façon dont j'ai réussi à me débarrasser de DPMS. Btw DPMS n'est actif que si aucun autre économiseur d'écran n'est installé, donc si tout le reste échoue, vous pouvez essayer de (ré) installer xscreensaver et le configurer pour désactiver la suppression.
MajorBriggs
@MajorBriggs: J'utilise également Debian avec Openbox. Recommandez-vous d'ajouter cette ligne à ~ / .xinitrc juste avant exec openbox-session? Merci.
user001
Je viens d'ajouter la commande au démarrage automatique d'Openbox: ~/.config/openbox/autostart.shet cela fonctionne bien.
MajorBriggs
Pour LXDE, j'ajoute ces commandes~/.config/lxsession/LXDE/autostart
Monica For CEO
2

Afin de reproduire ce problème, nous devons savoir ce qui xdg-screensaverse passe.

Obtenir l'ID de la fenêtre racine

  1. Mettre xdg-screensaverà jour à nouveau.
  2. Ouvrez un terminal
  3. Courir xwininfo -root
  4. Copiez l'identifiant de la fenêtre, dans ce cas, c'est 0x131

    xwininfo: Window id: 0x131 (the root window) (has no name)
    

Désactiver l'économiseur d'écran

Maintenant, lancez

    xdg-screensaver suspend <window id>

Vous pouvez confirmer que cela a fonctionné en exécutant xdg-screensaver status

Renable

Renable run

    xdg-screensaver resume <window id>

Vous pouvez confirmer que cela a fonctionné en exécutant xdg-screensaver status

Est-ce que l'économiseur d'écran est vide / noir lorsque vous suspend(inhibé) l'économiseur d'écran? Si c'est le cas, c'est un bug avec xdg-screensaver.

Autres notes

Si jamais vous souhaitez désactiver DPMS, bien que je ne le fasse jamais - à moins que le moniteur ne parvienne pas à réveiller quelque chose d'erratique avec le plus difficile - vous pouvez simplement exécuter

xset -dpms;

Cela l'empêchera de disparaître avec la mise hors tension. D'une manière générale, vous ne souhaitez pas désactiver la suppression (effacer l'écran) ou désactiver la gestion de l'alimentation. Vous voulez comprendre ce qui le fait effacer ou s'éteindre lorsque vous ne le souhaitez pas, et vous voulez résoudre ce problème.

Evan Carroll
la source
1

Essayez d'exécuter ce script heartbeat.shqui réinitialisera le temps d'inactivité X toutes les 55 secondes.

#!/bin/bash

while sleep 55
do
    #xscreensaver-command -deactivate
    #xdg-screensaver reset
    xset s reset
done
user.dz
la source
1

La section doit être "ServerFlags", pas "ServerLayout".

Section "ServerFlags"
     Option         "BlankTime"     "0"
     Option         "StandbyTime"   "0"
     Option         "SuspendTime"   "0"
     Option         "OffTime"       "0"
     ...

Plus d'informations peuvent être trouvées dans le fichier de configuration pour Xorg

chelahmy
la source
1

Je poste une réponse, car j'ai quelque peu réussi à résoudre le problème. Je dis un peu car j'ai toujours des problèmes.

Wheezy semble avoir besoin d'utiliser un économiseur d'écran. J'ai désactivé toutes les options que j'ai pu trouver, même les correctifs xscreensaver, mais en vain. Les correctifs ci-dessus que j'ai essayés dans ma question génèrent parfois des problèmes lorsque je me connecte, parfois pas!

Cependant, ce qui semble avoir résolu le problème, c'est deux choses:

  1. J'ai arrêté d'utiliser VLC. Je l'adore, je l'utilise depuis de nombreuses années, mais c'est le coupable qui donne naissance à ces sessions xscreensaver. J'utilise maintenant dragon-player et je peux regarder des vidéos sans que l'économiseur d'écran n'apparaisse.

  2. J'ai forcé KDE à utiliser un économiseur d'écran que j'ai choisi. Cela semble parfois remplacer l'économiseur d'écran par défaut .

Parfois, l'écran se vide tout seul, sans afficher l'économiseur d'écran que j'ai choisi. Ce ne sont pas mes moniteurs (j'utilise une configuration double, il serait donc étrange que les deux s'éteignent). Cela semble être aléatoire, car parfois l'écran reste allumé pendant des heures sans s'éteindre.

J'ai même essayé de patcher xscreensaver, mais rien n'a fonctionné. J'espère que cela sera corrigé dans la prochaine Debian stable.

Alex
la source