使用“xset dpms force off”關閉雙顯示器不起作用 - 為什麼?
我想通過執行關閉我的雙顯示器:
xset dpms force off
但只有主顯示器正在關閉,而另一個只是“黑屏”(就像它被關閉一樣)但它沒有關閉。LED 仍然閃爍綠色,表示顯示器已打開。
你到底想完成什麼?為了管理監視器的使用,您可以/應該使用 randr 擴展,
xrandr
這將是腳本中的首選武器。
xrandr -q
顯示您電腦的所有輸出以及有關已連接顯示器的一些資訊。要禁用輸出,您可以輸入類似xrandr --output=HDMI1 --off
.xrandr -q
在你的情況下,你必須用任何告訴你你的輸出被命名的東西來替換“HDMI1” 。禁用輸出後,X 不再使用此顯示器(根本),它很可能會進入睡眠狀態。如果您確實希望關閉顯示器,那麼您的問題是
xset
它既不知道也不關心您連接了多少顯示器到您的電腦上,因為xset
它與 Xservers 對話,而不是它們的組件,而且絕對不是硬體。這意味著xset
僅發送一個“dpms force off”請求,並且該請求由 Xserver(處理並)發送到您的監視器之一。我猜它會將它發送到您的主監視器,即連接到顯示在列表中的第一個輸出的監視器xrandr -q
。如果您使用的是 gnome,那與您的 gnome 面板所在的監視器相同。實際上,我猜您必須
xset
兩次發出請求。如果這沒有立即幫助,我認為您需要明確說明您連接的哪些監視器是主要的,哪些不是。
xrandr``--primary
允許您通過使用該選項來設置主輸出/監視器。如果您的輸出是HDMI1
andHDMI2
,我會嘗試:xrandr --output HDMI2 --primary xset dpms force off xrandr --output HDMI1 --primary xset dpms force off
檢查輸出
xrandr -q
並編寫一個腳本,以與它們列表相反的順序關閉監視器,即自下而上。原因是,雖然 (x)randr 應該能夠任意使輸出成為預設輸出,但我不會/不相信它可以完美地工作,尤其是在涉及閉源驅動程序的情況下。通過以相反的順序處理您的監視器,您最後關閉“自然”主監視器,如果出現問題,讓“自然”主監視器可用是您擁有功能齊全的 Xserver 的最佳機會。