使用“xset dpms Force off”關閉雙顯示器不起作用 - 為什麼?

使用“xset dpms Force off”關閉雙顯示器不起作用 - 為什麼?

我想透過運行來關閉我的雙顯示器: xset dpms force off但只有主顯示器被關閉,而另一個顯示器只是出現「黑屏」(就像它關閉一樣),但它沒有關閉。 LED 仍呈綠色閃爍,表示顯示器已開啟。

答案1

您到底想實現什麼目標?為了管理監視器的使用,您可以/應該使用 randr 擴展,這將xrandr是腳本中的首選武器。

xrandr -q顯示電腦的所有輸出以及有關連接的顯示器的一些資訊。要停用輸出,您可以輸入類似xrandr --output=HDMI1 --off.在您的情況下,您必須將“HDMI1”替換為xrandr -q告訴您輸出名稱的名稱。停用輸出後,X 不再(完全)使用該顯示器,並且很可能會進入睡眠狀態。

如果您確實希望關閉顯示器,那麼您的問題是xset既不知道也不關心您的電腦連接了多少個顯示器,因為xset與 Xserver 通信,而不是它們的組件,也絕對不是硬體。這意味著xset僅發送一個“dpms 強制關閉”請求,並且該請求由 Xserver(處理並)發送到您的監視器之一。我猜它會將其發送到您的主顯示器,即連接到顯示清單中第一個輸出的顯示器xrandr -q。如果您使用的是 gnome,那麼這就是您的 gnome 面板所在的顯示器。

實際上,我猜你必須發出xset兩次請求。如果這不能立即解決問題,我認為您需要明確說明所連接的顯示器中哪些是主要的,哪些不是主要的問題。

xrandr允許您使用該--primary選項設定主輸出/監視器。如果你的輸出是HDMI1HDMI2,我會嘗試:

xrandr --output HDMI2 --primary
xset dpms force off
xrandr --output HDMI1 --primary
xset dpms force off

檢查輸出xrandr -q並編寫一個腳本,以與列表相反的順序(即自下而上)關閉監視器。原因是,雖然 (x)randr 應該能夠任意使輸出成為預設輸出,但我不會/不相信它能夠完美地工作,特別是在涉及閉源驅動程式的情況下。透過以相反的順序操作監視器,您可以最後關閉「自然」主監視器,如果出現問題,擁有可用的「自然」主監視器是您擁有功能齊全的 Xserver 的最佳機會。

答案2

問題的澄清:我猜羅克斯想在他離開時關閉他的顯示器(但讓電腦保持運作)。這通常發生在螢幕保護程式顯示漂亮圖案一段時間後。使用「xset dpms Force off」指令是一種能夠測試一切是否正常運作的方法,而無需等待半小時讓 DPMS 螢幕保護程式啟動。測試速度的另一種方法)。

我剛剛在我的系統上測試了這個。它有:01:00.0 VGA 相容控制器:Advanced Micro Devices [AMD] nee ATI RV620 LE [Radeon HD 3450],當我輸入「xset dpms Force off」時,兩台顯示器都顯示「無訊號」三秒鐘,然後開啟LED琥珀色(即睡眠模式)。 「這個對我有用」!

所以...要找出您的情況出了什麼問題:您可以交換顯示器來驗證您的第二個顯示器是否支援 DPMS?如果是這樣的話,正如我所料,這可能是個錯誤。可能非常特定於您的晶片/軟體。您正在執行最新的軟體嗎? (例如 ubuntu 12.04)。

相關內容