現有答案有問題

現有答案有問題

我使用 xset 來關閉螢幕,如下所示:

xset dpms force off

當您有多個螢幕與相同 X 顯示器關聯時,是否有任何方法可以關閉單一螢幕?

答案1

如果您使用的是 Ubuntu 桌面,您應該可以使用「系統」>「首選項」>「監視器」。這應該會顯示您的所有監視器,按一下您想要停用的監視器,然後使用“開/關”單選按鈕停用該特定監視器。

如果您想從命令列執行此操作,您應該能夠使用xrandr --output <name> --off停用輸出來觸發顯示器斷電。

答案2

現有答案有問題

儘管七年前有一個答案得到了三票贊成,但它沒有被接受,因為它會導致關閉顯示器上所有打開的視窗遷移到剩餘的活動顯示器。

基於軟體的亮度

在筆記型電腦上,您可以透過顯示卡控制 LCD 面板來控制亮度。對於外部電視和顯示器,您需要一個軟體解決方案將亮度調低至 0。

簡潔版本

從命令列(無腳本)使用:

$ xrandr | grep " connected"
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 1107mm x 623mm
eDP-1-1 connected primary 1920x1080+3840+2160 (normal left inverted right x axis y axis) 382mm x 215mm
DP-1-1 connected 3840x2160+1920+0 (normal left inverted right x axis y axis) 1600mm x 900mm

這將顯示由 指派的監視器名稱清單xrandr。現在,如果您想關閉DP-1-1亮度,請使用:

xrandr --output DP-1-1 --brightness 0

索尼電視 bash 腳本

這是我編寫的三個腳本之一:

#!/bin/bash

# NAME: sony
# PATH: /mnt/e/bin
# DESC: Set brightness of Sony TV
# DATE: Dec 9, 2017.

if [[ $# -ne 1 ]]; then
    xrandr --verbose | grep -A5 "^HDMI-0" > /tmp/sony
    head -n1 /tmp/sony
    echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"
    rm /tmp/sony
    echo 'One argument required for brightness level, e.g. "sony .63"'
    echo 'will set brightness level of Sony TV to level .63 using xrandr'
    exit 1
fi

xrandr --output HDMI-0  --brightness "$1"

若要關閉顯示器,您可以使用sony 0

不帶參數呼叫腳本

當您不帶參數呼叫腳本時,它會顯示xrandr螢幕名稱以及紅色的當前亮度。您可以透過修改此行將紅色變更為另一種顏色:

echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"

setaf更改為後1

  • 2對於綠色
  • 3對於橙色
  • 4用於藍色等

修改並安裝腳本

更改兩次出現的 來HDMI-0符合您的螢幕名稱。您可以獲得xrandr在終端機中輸入的所有螢幕的清單。

將腳本放置在路徑中的目錄中,例如:

/usr/local/bin/sony

使用以下命令將腳本標記為可執行:

sudo chmod a+x /usr/local/bin/sony

選擇哪個目錄:/usr/local/binvs~/bin

當您創建腳本時,/usr/local/bin您必須使用sudo權力。更好的選擇是使用~/bin以下簡寫的目錄/home/YourUserID/bin

  • 建立目錄~/bin
  • 關閉您的終端並重新打開它。
  • 新建立的目錄現在位於您的路徑中。
  • 您建立的所有腳本都~/bin可以使用您的常規權限建立。
  • 要啟用腳本的執行,您只需要使用chmod +x而不是chmod a+xa意思是所有使用者)

相關內容