既存の回答に問題がある

既存の回答に問題がある

私は 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/binvs~/bin

でスクリプトを作成するときは、 powers/usr/local/binを使用する必要があります。より良い代替案は、 の省略形であるsudoディレクトリを使用することです。~/bin/home/YourUserID/bin

  • ディレクトリを作成する~/bin
  • ターミナルを閉じて再度開きます。
  • 新しく作成されたディレクトリがパス内に追加されました。
  • で作成するすべてのスクリプトは、~/bin通常の権限で作成できます。
  • スクリプトの実行を有効にするには、(すべてのユーザーを意味する)chmod +xではなく、chmod a+xa

関連情報