
私は xset を使用して次のように画面をオフにします。
xset dpms force off
同じ X ディスプレイに複数の画面が関連付けられている場合、1 つの画面をオフにする方法はありますか?
答え1
標準の Ubuntu デスクトップを使用している場合は、「システム > 環境設定 > モニター」を使用できるはずです。これにより、すべてのモニターが表示されるので、無効にするモニターをクリックし、「オン/オフ」ラジオ ボタンを使用して特定のモニターを無効にします。
コマンドラインからこれを行う場合は、を使用してxrandr --output <name> --off
出力を無効にし、モニターの電源をオフにすることができます。
答え2
既存の回答に問題がある
7 年前に 3 つの賛成票が付いた回答がありましたが、シャットオフされたディスプレイ上の開いているすべてのウィンドウが残りのアクティブなディスプレイに移行するため、受け入れられませんでした。
ソフトウェアベースの明るさ
ラップトップでは、LCD パネルを制御するグラフィック カードを通じて明るさを制御できます。外部のテレビやモニターでは、明るさを 0 に下げるソフトウェア ソリューションが必要です。明るさを 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スクリプト
以下は私が書いた 3 つのスクリプトのうちの 1 つです。
#!/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
青などの場合
スクリプトの変更とインストール
の 2 つの出現箇所を、スクリーン名に合わせて変更します。ターミナルにHDMI-0
入力すると、すべてのスクリーンのリストを取得できます。xrandr
次のようなパスのディレクトリにスクリプトを配置します。
/usr/local/bin/sony
次を使用してスクリプトを実行可能としてマークします。
sudo chmod a+x /usr/local/bin/sony
ディレクトリの選択: /usr/local/bin
vs~/bin
でスクリプトを作成するときは、 powers/usr/local/bin
を使用する必要があります。より良い代替案は、 の省略形であるsudo
ディレクトリを使用することです。~/bin
/home/YourUserID/bin
- ディレクトリを作成する
~/bin
- ターミナルを閉じて再度開きます。
- 新しく作成されたディレクトリがパス内に追加されました。
- で作成するすべてのスクリプトは、
~/bin
通常の権限で作成できます。 - スクリプトの実行を有効にするには、(すべてのユーザーを意味する)
chmod +x
ではなく、chmod a+x
a