Как я могу очистить экран от командной строки через SSH? - proUbuntu
Купить гитару в Москве
12 голосов
/

Мне нужен способ показать черный экран, запустив команду в консоли, используя соединение SSH. Монитор не должен переходить в режим ожидания. Мне просто нужен черный экран, чтобы скрыть все, что на экране. Экран должен быть черным, пока я не дам другую команду для отображения содержимого экрана.

Дополнение: было бы хорошо, если бы команда работала в Ubuntu, Lubuntu и Xubuntu.

Дополнение 2: У меня также есть проектор, который необходимо отключить. Я хочу использовать SSH для подключения к моему серверу и показать пустой экран. Если я пытаюсь выключить проектор, на экране появляется сообщение «Нет сигнала».

Ответы [ 3 ]

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. Если отображаемой переменной является, например, :0, нам нужно запустить скрипт с:

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

Хотя эта переменная не обязательно :0. Этот пост на U & L , кажется, отлично подходит для установки переменной DISPLAY на удаленном компьютере.

3 голосов
/

Редактировать: вопрос был изменен, так как я предоставил этот ответ. Я оставлю этот ответ в силе, потому что он предоставляет некоторую информацию, которая может быть полезна.

Если под консолью вы имеете в виду одну из виртуальных консолей ячейки персонажа, то установите vlock:

sudo apt-get -y install vlock

Затем вы можете отключить и заблокировать виртуальную консоль:

vlock

При разблокировке консоли экран не восстанавливается. Если вы не хотите терять содержимое экрана, я предлагаю войти на вторую консоль; если вы хотите заблокировать экран, перейдите на эту вторую консоль и введите

vlock -a

Это заблокирует все консоли и предотвратит переключение консоли. После разблокировки консолей вы можете переключиться обратно на основную рабочую консоль и найти содержимое экрана в целости.

2 голосов
/

Просто запустите:

gnome-screensaver-command -a

Примечание: Это также вызовет экран блокировки, если вы не отключите опцию «Блокировка» в настройках системы:

enter image description here

Добро пожаловать на сайт proUbuntu, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...