Як відключити показ локального терміналу під час відтворення відео


15

Будь-який текст локального терміналу (запит на вхід тощо) відображається через області екрану, які не охоплені відео (тобто чорні смуги вгорі та внизу), коли я використовую віддалений термінал для відтворення відео з omxplayer. Якщо я зачекаю 10-15 хвилин, локальний термінал стає повністю чорним через бездіяльність, яка вирішує проблему, але це такий спосіб кульгавого вирішення.

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

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

Відповіді:


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"

Це досить вдале рішення. Він все ще залишає миготливий курсор у лівому верхньому куті.
Вістесо

запустити sudo sh -c "TERM = Linux setterm -foreground black> / dev / tty0" перед вищевказаною командою :)
mcpgza

це зробило трюк. Я стурбований тим, що возиться з терміналом, коли не відтворює фільми (наприклад, при вимкненні), але це може бути інша битва.
Вістесо

Оновіть відповідь, щоб включити повне рішення.
Алекс Чемберлен

1
Я додав це до /etc/rc.localтого, що воно виконується автоматично під час завантаження
NimsDotNet

7

omxplayer тепер має можливість встановити фон на чорний.

omxplayer -b

Він працює як на терміналі, так і в X. Ця функція повинна бути в поточній версії, доступній у розп.


1
Після відтворення він залишається чорним. Як повернути його назад?
Mailo Světel

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 запускається як корінь під час завантаження, і це вимикає блокування консолі, яке намагається бути корисним, коли немає (фізичної) активності клавіатури, а також вимикає курсор.

Оскільки скидання відео часто відновлює миготливий курсор, у мене є сценарій, який я запускаю, щоб відправляти команди на консоль (фактично 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. Пограйте з ним!


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

І вуаля, ти екран чорний, навіть після того, як омсплеєри зупиняються.


0

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

setterm -foreground black -clear all && sleep 600

Це працює, тому що Pi перейде в порожній режим DPMS через 10 хвилин, і це просто гарантує, що ви побачите порожній екран "позаду" omxplayer до цього часу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.