Как я могу очистить экран от командной строки через SSH?

13

Это тот же вопрос, что и этот, но для Raspberry Pi 3 / Raspbian.

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

В Ubuntu это работает:

xrandr -d :0 --output default --brightness 0

Но в Распбиане ничего не происходит

pi@media2:~ $ xrandr -d :0 --output default --brightness 0
xrandr: Gamma size is 0.

pi@media2:~ $ xrandr -d :0
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1360 x 768, current 1360 x 768, maximum 1360 x 768
default connected 1360x768+0+0 0mm x 0mm
1360x768       0.00*
JPX
источник
Что произойдет, если вы дадите gammaзначение, как --gamma 0:0:0?
Бекс
Использовать фреймбуфер fbсо сплошным изображением?
Петр Кула
@bex pi@media:~ $ xrandr -d :0 --output default --gamma 0:0:0 xrandr: Gamma size is 0.и ничего не происходит на выходе HDMI Raspberry.
JPX

Ответы:

7

Способ 1. Очистите экран, не отключая питание порта HDMI.

Возможно, вам придется установить состояние экрана по умолчанию пустым (я не сделал):

xset -display :0 s blank

Переведите монитор в состояние по умолчанию (надеюсь, черный):

xset -display :0 dpms force off

Чтобы снова включить монитор, нажмите клавишу, переместите мышь или используйте эту команду:

xset -display :0 dpms force on

Способ 2 : выключите порт HDMI и снова включите . Это может привести к отключению самого монитора в зависимости от настроек монитора, поскольку он не получает никакого сигнала. Некоторые телевизоры или проекторы могут отображать сообщение об ошибке об отсутствии сигнала.

Выключи это:

tvservice -o

Включите его снова:

tvservice -p

Монитор может быть пустым или клетчатым, пока вы не заставите его отображать:

xset -display :0 dpms force on

Метод 3 : Это не относится к RPi 3 со стандартным Raspbian, но некоторые специализированные ситуации и исходный Pi могут быть в состоянии использовать этот альтернативный (устаревший?) Метод.

Узнайте, как зовут монитор, запустив:

xrandr -display :0 -q

Мы будем использовать имя CRT1в этом примере, чтобы отключить его:

xrandr -display :0 --output CRT1 --off

И включите его снова:

xrandr -display :0 --output CRT1 --on

Во всех этих методах часть о -display :0является избыточной, если ваш терминал виден на дисплее, которым вы пытаетесь управлять.

Удачи!

FlippingBinary
источник
Это не работает Та же самая гамма-ошибка:pi@media:~ $ xrandr -d :0 --output default --off xrandr: Failed to get size of gamma for output default
JPX
Это не команда, которую я предложил. Вы используете -d :0 --output defaultвместо --output CRT1или как ваше имя дисплея. Похоже, вы пытаетесь принять монитор по умолчанию вместо того, чтобы явно использовать его имя. Пожалуйста, порадуйте меня и попробуйте использовать имя, которое вы получили от вызова xrandr -qвместо CRT1других команд, которые я предложил. Других изменений в команде нет.
FlippingBinary
Я обновляю свой ответ, потому что я не могу заставить это работать. Я нашел способ очистить экран, но он снова включится, если вы двигаете мышью или нажимаете клавишу на клавиатуре.
FlippingBinary
1
А теперь я включил метод, который также отключает питание монитора.
FlippingBinary
Вы действительно пробовали это на Пи? Код HDMI на Pi не поддерживает большинство xrandrкоманд.
Milliways
0

Включить черную заставку: xset -display :0 s blank xset -display :0 s reset xset -display :0 s activate

Выключи это: xset -display :0 s reset xset -display :0 s noblank

Вам не нужна команда, xset -display :0 s blankи xset -display :0 s noblankесли по умолчанию blank. resetЭто необходимо в том случае, если вы пытаетесь включить экранную заставку, и она уже включена.

JPX
источник