
我對這個命令有一個問題:
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 上的固件,重新啟動後它就工作了。