我对此命令有疑问:
xset dpms force off
。它使屏幕变黑,但不会关闭或暂停(使用暂停命令)显示器。
该命令'xset -q'
显示我的显示器中已启用 DPMS。
我正在使用装有 Raspbian 的 Raspberry Pi,并且显示器通过 hdmi - DVI 电缆连接(并且传输数据连接的引脚正在工作)。
您能帮我一下吗?也许能告诉我在哪里可以找到答案或一些日志?也许某个地方有一个配置文件,其中包含有关显示器处于待机、启用或关闭状态时发送到显示器的能量的信息?
我找到了解决方案:http://shallowsky.com/linux/x-screen-blanking.html ,但我无法在我的计算机上安装 VBETOOL,因为它没有 PCI 端口(和 /pci 文件夹)。
答案1
我发现这个树莓派的具体问题在这里被讨论问题 并采取一些解决方法。
pi 上的帧缓冲区驱动程序没有或没有实现适当的 ioctl FBIOBLANK 来将显示器设置为视频关闭。
解决方法是使用tvservice
命令关闭视频信号的电源,最终显示器应该会关闭。tvservice
但是,当您使用 打开视频电源时会出现一个小问题,您也需要解决这个问题,方法是使用chvt
从 X11 切换到控制台虚拟终端,然后再切换回来。
演示:
sudo tvservice -o # turn off video
sleep 5
sudo tvservice -p # turn on video
whichvt=$(sudo fgconsole) # which vt are we on
let othervt=which==1?2:1
sudo chvt $othervt; sudo chvt $whichvt
答案2
在当前版本的 raspbian 中,这些解决方法不再需要,dpms 功能已添加到驱动程序中。唯一的问题是:默认情况下它处于关闭状态。您需要将
hdmi_blanking=1
在您的 /boot/config.txt 中启用。官方文档尚未更新以包含此设置,因此有点难找到。
答案3
另一种方法是使用:
vcgencmd display_power 0
vcgencmd display_power 1
就是这样。
这是一种更有效的方法。它不需要重新初始化所有帧缓冲区,也不会改变分辨率。主要是,它比 tvservice 更快。起初,它返回了一个错误,但我用 rpi-update 更新了 RPi 上的固件,重启后它就起作用了。