web-dev-qa-db-ja.com

xsetdpmsコマンドがモニターをシャットダウンしていません

このコマンドに問題があります:xset dpms force off。画面が真っ暗になりますが、モニターをシャットダウンしたり、(サスペンドコマンドで)サスペンドしたりすることはありません。

コマンド 'xset -q'は、モニターでDPMSが有効になっていることを示しています。

Raspbianを搭載したRaspberryPiを使用しており、モニターはhdmi-DVIケーブルで接続されています(データ接続を転送するピンが機能しています)。

助けてくれませんか、答えやログの場所を教えてください。モニターがスタンバイ、有効、またはオフのときにモニターに送信されるエネルギー量に関する情報を含む構成ファイルがどこかにあるのではないでしょうか。

私はその解決策を見つけました: http://shallowsky.com/linux/x-screen-blanking.html 、しかしPCIポートがないので(そしてVBETOOLをコンピューターにインストールできません)/pciフォルダー)。

1
tarzanno

このRaspberryPi固有の問題は、これで説明されていることがわかりました issue いくつかの回避策があります。

Piのフレームバッファードライバーは、モニターをビデオオフに設定するための適切なioctlFBIOBLANKを実装または実装していません。

回避策は、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
4
meuh

現在のバージョンのraspbianでは、これらの回避策は不要になり、dpms機能がドライバーに追加されました。唯一の問題:デフォルトでオフになっています。あなたが置く必要があります

hdmi_blanking=1

/boot/config.txtで有効にします。公式ドキュメントはまだこの設定を含むように更新されていないため、見つけるのは少し難しいです。

3
Martin Bene

もう1つの方法は、次を使用することです。

vcgencmd display_power 0
vcgencmd display_power 1

それでおしまい。

これはより効率的な方法です。すべてのフレームバッファの再初期化を必要とせず、解像度を変更しません。主に、tvserviceよりも高速です。最初はエラーが返されましたが、RPiのファームウェアをrpi-updateで更新し、再起動すると動作しました。

0
tarzanno