¿Cómo evitar que la pantalla se ponga en blanco / se oscurezca?

14

He reinstalado Debian 7 (Wheezy) después de un tiempo. Por primera vez, estoy usando los controladores de Nvidia abiertos (no nouveau) y vesafb para consolas virtuales.

No puedo, por mi vida, evitar que la pantalla quede en blanco. No hay protector de pantalla, nada, solo se queda en blanco, solo después de un par de minutos de inactividad. Esto no es solo durante VLC (que ha tenido un problema en el pasado) sino durante cualquier cosa.

Para empeorar las cosas, parece suceder al azar. A veces la pantalla no se queda en blanco durante horas, y otras veces sí.

Pasos que he tomado hasta ahora:

  1. Se agregaron algunas líneas /etc/X11/xorg.confpara detener dpms:

    Section "ServerLayout"
         Option         "BlankTime"     "0"
         Option         "StandbyTime"   "0"
         Option         "SuspendTime"   "0"
         Option         "OffTime"       "0"
         ...
    Section "Monitor"
      ...
         Option          "DPMS" "false"
    
  2. Agregado en mi .xinitrcarchivo:

    xset s off         # don't activate screensaver
    xset -dpms         # disable DPMS (Energy Star) features.
    xset s noblank     # don't blank the video device
    
  3. Deshabilitó TODOS los salvapantallas y modos de ahorro de energía en la configuración de KDE

  4. Se agregó el siguiente bucle en mi /etc/init.d/rc.local:

    for index in $(seq 1 6)
    do
            setterm -blank 0 -powerdown 0 -powersave off > /dev/tty${index}
    done
    
  5. Parcheé mi protector de pantalla xdg con un parche que encontré que estaba obligando a VLC a generar un protector de pantalla. (Desde entonces, dejé de usar VLC y volví a Dragon player).

Esto se está convirtiendo en una pesadilla, y es realmente muy molesto. Antes de atacar a vesafb y setterm (que tengo la sensación de que de alguna manera son responsables de esto), me gustaría saber si alguien se ha topado con este problema y cómo lograron resolverlo.

Alex
fuente
Intente mover todos los archivos de power * desde ~ / .kde / share / config / y luego habilite toda la administración de energía en todas las pestañas (aplicándola a medida que avanza), luego desactívela nuevamente.
kirill-a
1
Para reducir el problema, ejecuta xscreensaver-command -watchun xterm en alguna parte. Después de un evento en blanco de pantalla no deseado, mire para ver si genera el evento EN BLANCO. Si lo hizo, entonces definitivamente está en blanco por la acción del servidor X. De lo contrario, está más abajo en la pila y puede concentrarse en los controladores de video.
aecolley
@aecolley gracias por tu sugerencia. No hay salida en el terminal después de la pantalla en blanco no deseada. Estoy ejecutando el controlador de video propietario de nvidia, no vi ninguna configuración relacionada con el ahorro de energía en la herramienta de configuración gráfica. Por cierto, la supresión se produjo cuando solo había un montón de ventanas del navegador y Mendeley abierto, no VLC.
rumtscho
Vea mi actualización: unix.stackexchange.com/a/440648/3285
Evan Carroll

Respuestas:

6

¡DPMS puede ser muy resistente!

Prueba este comando:

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

Si funciona, agréguelo a cualquier archivo de inicio automático que use KDE.

Por cierto, VLC tiene la opción Preferencias >> Video >> Deshabilitar protector de pantalla . Si esa opción está marcada, la pantalla no se dejará en blanco mientras VLC reproduce un video, pero DPMS se activará después (independientemente de si estaba activado antes de iniciar VLC). Por lo tanto, deje esa opción sin marcar y VLC no debería causar ningún problema con la supresión.

MajorBriggs
fuente
No estoy seguro de que esto resuelva todo el problema (mi pantalla queda en blanco a intervalos irregulares, por lo que tendré que dejar mi computadora intacta durante 2 horas por prueba). Pero la parte sobre VLC activando DPMS por sí mismo es una pista muy interesante, así que decidí darte la recompensa.
rumtscho
1
Asegúrese de informarnos si resulta ser persistente. Utilizo Debian con openbox, y esta es la única forma en que he logrado quitarme el DPMS. Por cierto, DPMS solo está activo cuando no hay otro protector de pantalla instalado, por lo que si todo lo demás falla, puede intentar (re) instalar xscreensaver y configurarlo para deshabilitar la supresión.
MajorBriggs
@MajorBriggs: también uso Debian con Openbox. ¿Recomienda agregar esta línea a ~ / .xinitrc justo antes exec openbox-session? Gracias.
user001
Acabo de agregar el comando al inicio automático de Openbox: ~/.config/openbox/autostart.shy eso funciona bien.
MajorBriggs
Para LXDE, agrego estos comandos en~/.config/lxsession/LXDE/autostart
Monica For CEO
2

Para reproducir este problema, necesitamos saber qué xdg-screensaverestá haciendo.

Obtener el ID de la ventana raíz

  1. Actualizar de xdg-screensavernuevo.
  2. Abrir una terminal
  3. correr xwininfo -root
  4. Copie la identificación de la ventana, en este caso es 0x131

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

Deshabilitar el protector de pantalla

Ahora corre

    xdg-screensaver suspend <window id>

Puede confirmar que funcionó ejecutando xdg-screensaver status

Renable

Para ejecutar renable

    xdg-screensaver resume <window id>

Puede confirmar que funcionó ejecutando xdg-screensaver status

¿El protector de pantalla quedó en blanco / apagado cuando usted suspend(inhibió) el protector de pantalla? Si es así, eso es un error con xdg-screensaver.

Otras notas

Si alguna vez desea desactivar el DPMS, aunque nunca haría esto, a menos que el monitor no pueda reactivar algo errático con el hardward, simplemente puede ejecutar

xset -dpms;

Eso evitará que se quede en blanco con el apagado. En términos generales, no desea deshabilitar la supresión (borrar la pantalla) o deshabilitar la administración de energía. Desea averiguar qué está causando que se quede en blanco o se apague cuando no lo desee, y desea solucionarlo.

Evan Carroll
fuente
1

Intente ejecutar este script heartbeat.shque restablecerá el tiempo de inactividad X cada 55 segundos.

#!/bin/bash

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

La sección debe ser "ServerFlags", no "ServerLayout".

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

Se puede encontrar más información en el archivo de configuración para Xorg

chelahmy
fuente
1

Estoy publicar una respuesta, como he tanto conseguido resolver el problema. Digo algo porque todavía tengo problemas.

Wheezy parece tener la necesidad de usar un protector de pantalla. Deshabilité todas las opciones que pude encontrar, incluso parcheado xscreensaver, pero fue en vano. Las correcciones anteriores que probé en mi pregunta, a veces generan problemas cuando inicio sesión, ¡otras no!

Sin embargo, lo que parece haber resuelto el problema son dos cosas:

  1. Dejé de usar VLC. Me encanta, lo usé durante muchos años, pero es el culpable que genera esas sesiones de xscreensaver. Ahora estoy usando dragon-player, y puedo ver videos sin que aparezca xscreensaver.

  2. Obligé a KDE a usar un protector de pantalla que elegí. Esto parece anular el xscreensaver predeterminado a veces .

A veces, la pantalla se queda en blanco por sí sola, sin mostrar el protector de pantalla que elegí. Este no es mi monitor (uso una configuración dual, por lo que sería extraño que ambos se apaguen). Esto parece ser aleatorio, ya que a veces la pantalla permanece encendida durante horas sin apagarse.

Incluso intenté parchear xscreensaver, pero nada funcionó. Espero que esto se arregle en el próximo Debian estable.

Alex
fuente