SSH経由でコマンドラインから画面を空白にするにはどうすればよいですか?


12

SSH接続を使用してコンソールでコマンドを実行し、黒い画面を表示する方法が必要です。モニターがスタンバイ状態にならないようにする必要があります。画面上にあるすべてのものを隠すには黒い画面が必要です。画面の内容を表示する別のコマンドを与えるまで、画面は黒になっているはずです。

追加:コマンドがUbuntu、Lubuntu、およびXubuntuで機能する場合は良いでしょう。

追加2:ブランキングを必要とするプロジェクターもあります。SSHを使用してサーバーに接続し、空白の画面を表示したい。プロジェクタの電源をオフにしようとすると、画面に「信号がありません」と表示されます。


回答:


16

短い答え:

xrandr --output DVI-I-1 --brightness 0

DVI-I-1画面の名前はどこにありますか。

逆に:

xrandr --output DVI-I-1 --brightness 1

再び通常の明るさに設定します。

画面の名前を取得するには

コマンドを実行するだけです:

xrandr

出力では、次のような行に画面の名前が表示されます。 connected

画面を暗くするか、通常に戻す小さなスクリプト

スクリプトを使用して、(すべての)接続された画面を黒に設定したり、その逆を行うことができます。スクリプトは画面を自動的に検出します。

#!/usr/bin/env python3
import subprocess
import sys

arg = sys.argv[1]

screens = [l.split()[0] for l in subprocess.check_output("xrandr").decode("utf-8").splitlines()
           if " connected" in l]

val = "0" if arg == "black" else "1"
for s in screens:
    subprocess.Popen(["xrandr", "--output", s, "--brightness", val])

走る

  • スクリプトを空のファイルにコピーして、名前を付けて保存します set_black.py
  • 次のいずれかで実行します:

    python3 /path/to/set_black.py black
    

    画面を暗くする、または

    python3 /path/to/set_black.py normal
    

    明るさを再び通常に設定します。


上記の回答はすべてのUbuntuディストリビューションでローカルに正常に実行されるはずですが、質問はssh / remoteにあります(情報は質問に編集されました)。

リモートの状況の場合、$DISPLAY変数を正しく設定する必要があります。表示変数がegの場合、次を使用し:0てスクリプトを実行する必要があります。

DISPLAY=:0 python3 /path/to/script.py black

:0ただし、変数は必ずしもそうではありません。U&Lに関するこの投稿はDISPLAY、リモートマシンで変数を設定する優れた記事のようです。


しかし、コマンドをやみくもに入力して戻す必要はありませんか?
あなたはAGitForNotUsingGit

@AndroidDevそれはスクリプト化されていると思います。
ジェイコブVlijm

2
@JacobVlijm「DISPLAY =:0 xrandr」および「DISPLAY =:0 xrandr --output HDMI1 --brightness 0」が機能しているようです。ありがとう!
JPX

1
しかし、私は+ Xに私のスクリプトを設定する
テランス

1
@JPXどこにいるのかわからないので、フルパスを使用します:)
ジェイコブヴリム

3

編集:この答えを提供してから質問が変更されました。役に立つかもしれないいくつかの情報を提供するので、この答えを立たせます。

コンソールで文字セル仮想コンソールの1つを意味する場合は、以下をインストールしvlockます。

sudo apt-get -y install vlock

その後、仮想コンソールをブラックアウトしてロックできます。

vlock

コンソールのロックを解除すると、画面は復元されません。画面の内容を失いたくない場合は、2番目のコンソールにログインすることをお勧めします。画面をロックしたいときは 2番目のコンソールに移動し

vlock -a

これにより、すべてのコンソールがロックされ、コンソールの切り替えが防止されます。コンソールのロックを解除した後、メインの作業コンソールに切り替えて、画面の内容をそのまま見つけることができます。


前のセッションを復元して、tmuxやscreenなどのターミナルマルチプレクサーを使用してセッションをデタッチし、コンソールをロックしてから前のセッションに再アタッチするより良いオプション。ボーナス:ログアウトまたは完全に切断しても、後でセッションを再開できます。
デビッドフォースター

2

単に実行する:

gnome-screensaver-command -a

注:これは、システム設定で「ロック」オプションを無効にしない限り、ロック画面も呼び出します。

ここに画像の説明を入力してください


これはロック画面も呼び出します。
ジェイコブVlijm

@JacobVlijm-それは私のためではありません。
あなたはAGitForNotUsingGit

@ AndroidDevそれは奇妙です、Ubuntu 16.04はここにあります。
ジェイコブVlijm

「システム設定→輝度とロック」をどのように構成したかによって異なります。設定「ロックのオン/オフ」および「...の後に画面をロックする」は、動作を制御します。
バイトコマンダー

@JacobVlijm-編集済み
You'reAGitForNotUsingGit
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.