Как отключить показ локального терминала при воспроизведении видео

15

Любой текст локального терминала (приглашение для входа в систему и т. Д.) Отображается через области экрана, которые не покрыты видео (то есть черные полосы сверху и снизу), когда я использую удаленный терминал для воспроизведения видео с помощью omxplayer. Если я подожду 10-15 минут, локальный терминал станет полностью черным из-за неактивности, которая решает проблему, но это своего рода неудачный обходной путь.

Я думаю, что локальное использование omxplayer обойдёт проблему, но я не могу проверить, так как мой RPi ненавидит все мои клавиатуры. Я также не хочу воспроизводить видео таким образом в долгосрочной перспективе.

Как можно отключить локальный терминал, чтобы он не просвечивал при использовании удаленного терминала для воспроизведения видео через HDMI?

Wisteso
источник

Ответы:

9
sudo sh -c "TERM=linux setterm -foreground black >/dev/tty0"
sudo sh -c "TERM=linux setterm -clear all >/dev/tty0"

Это изменит цвет шрифта на черный, чем очистит экран.

Или в одной строке:

sudo sh -c "TERM=linux setterm -foreground black -clear all >/dev/tty0"

И установите его обратно в нормальное состояние:

sudo sh -c "TERM=linux setterm -foreground white -clear all >/dev/tty0"
mcpgza
источник
Это довольно хорошее решение. Тем не менее, он все еще оставляет мигающий курсор в верхнем левом углу.
Wisteso
запустите sudo sh -c "TERM = linux setterm -foreground black> / dev / tty0" перед указанной выше командой :)
mcpgza
это сделало трюк. Я обеспокоен тем, что это портит терминал, когда не воспроизводятся фильмы (например, при выключении), но это может быть другая битва.
Wisteso
Пожалуйста, обновите ответ, чтобы включить полное решение.
Алекс Чемберлен
1
Я добавил это, чтобы /etc/rc.localоно выполнялось автоматически при загрузке
NimsDotNet
7

Теперь у omxplayer есть возможность установить черный фон.

omxplayer -b

Он работает как на терминале, так и в X. Эта функция должна быть в текущей версии, доступной на raspbian.

Тристан
источник
1
Он остается черным после воспроизведения. Как мне вернуть его обратно?
Майло Светел
4

Параметр -r ( --refresh ) для omxplayer очищает экран, когда он сбрасывает разрешение видео и еще много чего.

-r / --refresh                 adjust framerate/resolution to video

Псевдоним может быть полезен здесь:

alias omxplayer='omxplayer -r -o hdmi '

Который будет всегда обновлять (очищать) экран и отправлять аудио на выход HDMI. И да, конечный пробел в псевдониме является преднамеренным, поскольку он позволяет выполнять дальнейшее завершение табуляции. ( Очень полезно!)

Что касается мигающего курсора, я редко (!) Когда-либо использую клавиатуру с пиами, всегда входя в систему удаленно (я создал SD-карту, предварительно настраивая параметры), поэтому я добавил следующее в /etc/rc.local:

# turn off console blanking
setterm -blank 0 -cursor off

/etc/rc.local запускается с правами root во время загрузки, и это отключает блокировку консоли, которая пытается быть полезной, когда не обнаруживается (физическая) активность клавиатуры, а также отключает курсор.

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

#!/bin/bash
#
# send 'setterm' commands to /dev/tty1 (physical console)
setterm $* | sudo tee /dev/tty1 > /dev/null

Поэтому, когда курсор снова появляется, я набираю:

tty1 -cursor off

и все! Конечно, вам нужно настроить пользователя с привилегиями sudo, по крайней мере, для команды tee. (посмотрите / etc / sudoers и /etc/sudoers.d). Сценарий можно отредактировать так, чтобы он всегда выключал курсор при желании.

Или просто сойти с ума с комбинацией этих:

alias omxplayer='tty1 -cursor off; omxplayer -r -o hdmi '

Что бы убедиться, что курсор отключен, затем запустите omxplayer. Играть с этим!

lornix
источник
0

Вот что я делаю (в сценарии):

setterm -cursor off;
clear;
omxplayer -o hdmi "video file.mkv" | echo "";
setterm -cursor on;

Если вы делаете использовать скрипт для вызова omxplayer, вы можете добавить

complete -F _longopt watch

к вашему .bashrc(или аналогичному для любого терминала, который вы используете), так что вы получите имя файла с завершением табуляции.

Рафаэль
источник
Я имею в виду программиста на C / C ++ / Java / PERL ... Конечные точки с запятой нужны только в том случае, если все эти команды выстроены в одну строку. Конечно, я ЕСМЬ С / C ++ / Java / PERL / и т.д. программист, поэтому я делаю это по привычке тоже.
lornix
0
set PS1=""
setterm -cursor off
clear

И вуаля, у вас экран чёрный, даже после того, как omsplayers останавливается.

shured
источник
0

Я настраиваю свой Raspberry Pi для загрузки прямо в piпользователя, затем ~/.profileдобавляю следующую строку:

setterm -foreground black -clear all && sleep 600

Это работает, потому что Pi все равно переходит в пустой режим DPMS через 10 минут, и это просто гарантирует, что вы увидите пустой экран «позади» omxplayer до этого момента.

Anselan
источник