個々の画面をオフにする方法はありますか?


13

xsetを使用して、次のように画面をオフにします。

xset dpms force off

同じXディスプレイに複数のスクリーンが関連付けられている場合、1つのスクリーンをオフにする方法はありますか?


@myrdd:改善してほしい点を具体的に教えてください。
デビッドFoerster

詳細を知りたい:(a)必要な機能は技術的に可能ですか?—つまり、個々の画面を「オフにする」こと意味します(という意味ではありませんxrandr [...] --off)— (b)依存関係はありますか?—つまり、グラフィックカードチップセットまたはドライバー、あるいはその両方に特定の機能が必要ですか?— (c)目的の機能が(CLIコマンドとして)まだ使用できない場合、次のステップは何ですか?
myrdd 2017

回答:


4

標準のUbuntuデスクトップを使用している場合は、[システム]> [設定]> [モニター]を使用できるはずです。これにより、すべてのモニターが表示され、無効にするモニターをクリックして、[オン/オフ]ラジオボタンを使用して特定のモニターを無効にします。

コマンドラインからこれを行う場合はxrandr --output <name> --off、モニターをパワーダウンさせるトリガーとなる出力を無効にするために使用できるはずです。


1
問題は、Nvidia TwinViewを使用している場合、両方の画面がxrandrとxsetの両方に対して1つとして表示されるため、モニターを個別にオフにできないことです。また、Gnomeモニターの設定が無効になっているため、代わりにNvidiaドライバーコントロールを使用する必要があります。nvidia-settingsを使用してモニターの1つを無効にすると、モニターが完全に無効になり、他の画面上のすべてのウィンドウが詰まります。片方のモニターを閉じてもう片方の映画を見たいだけです。
Neil、

@Neilハードウェア情報を質問に追加して、nvidiaでタグ付けすることもおそらく役に立ちます。
ホルヘカストロ

2
@JorgeCastroこれはハードウェアおよびTwinViewとは関係ありません。RandR構成から画面を削除/無効にすることを除いて、同じ$ DISPLAYにあるときに画面を個別にオフにする方法はないようです。ノートパソコンの画面などはオフにしますが、ウィンドウはそのままにしておきます。
2015年

@muruあなたは編集サルです!私はあなたの編集を見続けます。
MathCubes 2017

4

既存の回答の問題

7年前に3つの賛成票で回答がありましたが、シャットオフディスプレイで開いているすべてのウィンドウが残りのアクティブディスプレイに移行するため、承認されませんでした。

ソフトウェアベースの明るさ

ラップトップでは、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

ソニーTVバッシュスクリプト

これは私が書いた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

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

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

2
お返事ありがとうございます。xrandr [...] --brightnessオプションを知りませんでした。特にソニーのディスプレイについて説明しましたが--brightness、他のどのディスプレイでも同様に機能するはずです。私は--brightnessラップトップでテストしましたが、うまくいきました。ただし、--brightness 0バックライトはオフになりませんでした…— --brightnessデスクトップコンピュータでもテストしました。残念ながら、画面は1秒間または2秒間だけ黒のままでした。この1〜2秒後に、明るさが自動的にリセットされます。それが機能するかどうかは、gpu +ドライバー+画面の組み合わせに大きく依存すると思います。
myrdd

1
@myrdd 2つの外部ディスプレイと組み込みのラップトップディスプレイ用に、ソニー東芝エイリアンの 3つのスクリプトを実際に持っています。はい、バックライトはオフにならないので、「真っ黒」になることはありませんが、これは回避策です。1〜2秒の自動リセットはどのディスプレイにも影響しませんが、ハードワイヤードnVidia HDMIポート用のnVidiaドライバーとIntel HD530 iGPU 2画面を制御するnVidiaドライバーを実行していた-Thunderbolt3と組み込み。
WinEunuuchs2Unix 2017

スクリプトは必要ありません。xrandrを実行して出力IDを見つけ、それからxrandr --output HDMI-1 --brightness 0答えを単純化してください
brauliobo

2
@brauliobo答えのほとんどを削除するのではなく、妥協だと思う短いバージョンを最上部に配置しました。
WinEunuuchs2Unix
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.