如何阻止屏幕变黑/变黑?


14

一段时间后,我已经重新安装了Debian 7(Wheezy)。第一次,我将免费开放的Nvidia驱动程序(不是nouveau)和vesafb用于虚拟控制台。

对于我一生,我无法停止屏幕消隐。没有屏幕保护程序,什么也没有,只是静止了几分钟后,它才变成空白。这不仅是在VLC期间(过去曾发生过这样的问题),而且在任何时候。

更糟的是,它似乎是随机发生的。有时屏幕会在数小时内不会变黑,有时会。

到目前为止,我已采取的步骤:

  1. 添加了几行/etc/X11/xorg.conf来停止dpms:

    Section "ServerLayout"
         Option         "BlankTime"     "0"
         Option         "StandbyTime"   "0"
         Option         "SuspendTime"   "0"
         Option         "OffTime"       "0"
         ...
    Section "Monitor"
      ...
         Option          "DPMS" "false"
    
  2. 在我的.xinitrc文件中添加:

    xset s off         # don't activate screensaver
    xset -dpms         # disable DPMS (Energy Star) features.
    xset s noblank     # don't blank the video device
    
  3. 在KDE设置下禁用了所有屏保和省电模式。

  4. 在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. 我发现我的xdg-screensaver补丁迫使VLC生成一个屏幕保护程序。(此后,我已停止使用VLC并恢复为Dragon Player。)

这变成了一场噩梦,而且确实很烦人。在我对vesafb和setterm进行核对之前(我认为这是造成这种情况的原因),我想知道是否有人遇到过此问题,以及他们如何解决该问题。


尝试从〜/ .kde / share / config /中移出所有电源*文件,然后在所有选项卡上启用所有电源管理(在浏览它们时应用它),然后再次禁用它。
kirill-a

1
要缩小问题的范围,请xscreensaver-command -watch在某处的xterm中运行。在发生不必要的屏幕空白事件之后,请查看它是否输出了BLANK事件。如果确实如此,那么X服务器的动作肯定会掩盖它。否则,它在堆栈中的位置较低,您可以专注于视频驱动程序。
aecolley 2015年

@aecolley谢谢您的建议。不必要的屏幕消隐后,终端中无输出。我正在运行nvidia专有的视频驱动程序,在图形设置工具中没有看到有关节能的设置。顺便说一句,当只有一堆浏览器窗口并且打开Mendeley而不是VLC时,发生了消隐。
rumtscho

Answers:


6

DPMS可以抗织补!

试试这个命令:

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

如果可行,请将其添加到KDE使用的任何自动启动文件中。

顺便说一句,VLC具有选项首选项 >> 视频 >> 禁用屏幕保护程序。如果选中该选项,则VLC播放视频时屏幕不会空白,但之后DPMS将打开(无论是否在启动VLC之前打开)。因此,请不要选中该选项,并且VLC不会导致空白问题。


我不确定这是否可以解决整个问题(我的屏幕以不定期的间隔空白,因此每次测试都必须让我的计算机保持2个小时不变)。但是有关VLC本身开启DPMS的部分是一个非常有趣的线索,因此我决定悬赏您。
rumtscho 2015年

1
一定要让我们知道结果是否持久。我将Debian与openbox一起使用,这是我设法摆脱DPMS的唯一方法。Btw DPMS仅在未安装其他屏幕保护程序的情况下才处于活动状态,因此,如果所有其他屏幕保护程序均失败,则可以尝试(重新)安装xscreensaver并将其配置为禁用消隐。
MajorBriggs 2015年

@MajorBriggs:我还将Debian与Openbox一起使用。您是否建议将此行添加到〜/ .xinitrc之前exec openbox-session?谢谢。
user001 2016年

我刚刚将命令添加到Openbox的自动启动中:~/.config/openbox/autostart.sh效果很好。
MajorBriggs's

对于LXDE,我在~/.config/lxsession/LXDE/autostart
Monica中

2

为了重现此问题,我们需要知道xdg-screensaver正在做什么。

获取根窗口ID

  1. xdg-screensaver再次更新。
  2. 打开一个终端
  3. xwininfo -root
  4. 复制窗口ID,在这种情况下 0x131

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

禁用屏幕保护程序

现在运行

    xdg-screensaver suspend <window id>

您可以通过运行来确认工作正常 xdg-screensaver status

不错

奔跑

    xdg-screensaver resume <window id>

您可以通过运行来确认工作正常 xdg-screensaver status

当您suspend(禁止)屏幕保护程序时,屏幕保护程序是否为空白/黑屏?如果是这样,那就是的错误xdg-screensaver

其他注意事项

如果您想关闭DPMS,尽管我永远也不会这样做-除非显示器无法唤醒辛苦工作带来的不稳定现象,否则您可以运行

xset -dpms;

这将使它永远不会因掉电而消隐。一般来说,您不想禁用消隐(清除屏幕)或禁用电源管理。您想弄清楚是什么原因导致它空白或断电,而您又想修复它。


1

尝试运行此脚本heartbeat.sh,该脚本将每55秒重置X空闲时间。

#!/bin/bash

while sleep 55
do
    #xscreensaver-command -deactivate
    #xdg-screensaver reset
    xset s reset
done

1

该部分应为“ ServerFlags”,而不是“ ServerLayout”。

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

可以在Xorg的配置文件中找到更多信息


1

我张贴的答案,因为我已经有点设法解决这个问题。我说什么因为我仍然有问题。

Wheezy似乎需要使用屏幕保护程序。我禁用了所有我能找到的选项,甚至修补了xscreensaver,但无济于事。我在问题中尝试的上述修复方法,有时在我登录时会产生问题,有时却无法解决!

但是,似乎已经解决了该问题的两件事:

  1. 我停止使用VLC。我喜欢它,使用了很多年,但这是引发这些xscreensaver会话的罪魁祸首。我现在正在使用Dragon-player,并且可以在没有xscreensaver出现的情况下观看视频。

  2. 我强迫KDE使用我选择的屏幕保护程序。有时似乎会覆盖默认的xscreensaver 。

有时屏幕会自行变黑,而没有显示我选择的屏幕保护程序。这不是我的显示器(我使用双重设置,因此两者都关机很奇怪)。这似乎是随机的,因为有时屏幕会保持打开状态数小时而不会关闭电源。

我什至尝试修补xscreensaver,但没有任何效果。我希望在下一个稳定的Debian中解决此问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.