So deaktivieren Sie das Anzeigen des lokalen Terminals während der Videowiedergabe

15

Jeglicher lokaler Terminaltext (Anmeldeaufforderung usw.) wird durch Bereiche des Bildschirms angezeigt, die nicht von Video bedeckt sind (dh die schwarzen Balken oben und unten), wenn ich ein Remote-Terminal verwende, um Video mit omxplayer abzuspielen. Wenn ich 10-15 Minuten warte, wird das lokale Terminal aufgrund von Inaktivität vollständig schwarz, was das Problem behebt, aber das ist eine lahme Lösung.

Ich denke, dass die lokale Verwendung von omxplayer das Problem umgehen würde, aber ich kann es nicht überprüfen, da mein RPi alle meine Tastaturen hasst. Ich möchte auf diese Weise auch langfristig kein Video abspielen.

Wie kann ich das lokale Terminal verdunkeln, damit es bei Verwendung eines Remote-Terminals zur Wiedergabe von Videos über HDMI nicht durchscheint?

Wisteso
quelle

Antworten:

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

Dadurch wird die Schriftfarbe in Schwarz geändert und der Bildschirm gelöscht.

Oder in einer einzigen Zeile:

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

Und wieder normalisieren:

sudo sh -c "TERM=linux setterm -foreground white -clear all >/dev/tty0"
mcpgza
quelle
Das ist eine ziemlich gute Lösung. Es bleibt jedoch ein blinkender Cursor in der oberen linken Ecke.
Wisteso
Führe sudo sh -c "TERM = Linux setterm -foreground black> / dev / tty0" vor dem obigen Befehl aus :)
mcpgza 20.10.12
Das hat funktioniert. Ich mache mir Sorgen, dass das Terminal nicht funktioniert, wenn Filme abgespielt werden (wie beim Herunterfahren), aber das kann ein anderer Kampf sein.
Wisteso
Bitte aktualisieren Sie die Antwort, um die vollständige Lösung einzuschließen.
Alex Chamberlain
1
Ich habe dies hinzugefügt /etc/rc.local damit es beim Booten automatisch ausgeführt wird
NimsDotNet
7

omxplayer hat jetzt eine Option, um den Hintergrund auf Schwarz zu setzen.

omxplayer -b

Es funktioniert sowohl auf dem Terminal als auch in X. Diese Funktion sollte in der aktuellen Version in Raspbian verfügbar sein.

Tristan
quelle
1
Es bleibt nach der Wiedergabe schwarz. Wie drehe ich es zurück?
Mailo Světel
4

Das -r Option ( --refresh ) für omxplayer löscht den Bildschirm, wenn die Videoauflösung zurückgesetzt wird und so weiter.

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

Ein Alias ​​könnte hier nützlich sein:

alias omxplayer='omxplayer -r -o hdmi '

Dadurch wird der Bildschirm immer aktualisiert (gelöscht) und Audio an den HDMI-Ausgang gesendet. Und ja, der nachgestellte Bereich im Alias ​​ist absichtlich, da weitere Tab-Vervollständigungen möglich sind. ( Sehr nützlich!)

Was den blinkenden Cursor angeht, ich benutze selten (!) Jemals eine Tastatur mit meinem Pi und logge mich immer aus der Ferne ein (ich habe einen SD-Kartenhersteller gebaut, der Dinge vorkonfiguriert), also habe ich Folgendes in /etc/rc.local hinzugefügt:

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

/etc/rc.local wird während des Startvorgangs als root ausgeführt. Dadurch wird die Konsolenaustastung deaktiviert, die hilfreich ist, wenn keine (physische) Tastaturaktivität festgestellt wird, und der Cursor wird ausgeschaltet.

Da das Zurücksetzen des Videos häufig den blinkenden Cursor wiederherstellt, habe ich ein Skript ausgeführt, um Befehle an die Konsole zu senden (tatsächlich tty1):

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

Immer wenn der Cursor wieder erscheint, tippe ich:

tty1 -cursor off

und es ist weg! Natürlich müssen Sie Ihren Benutzer mit sudo-Berechtigungen einrichten, zumindest für den Befehl tee. (Nachschlagen von / etc / sudoers und /etc/sudoers.d) Das Skript kann so bearbeitet werden, dass der Cursor immer ausgeschaltet wird, wenn dies gewünscht wird.

Oder gehen Sie einfach mit einer Kombination von diesen verrückt:

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

Damit wird sichergestellt, dass der Cursor ausgeschaltet ist. Starten Sie dann omxplayer. Spiel damit!

Lornix
quelle
0

Folgendes mache ich (in einem Skript):

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

Wenn Sie tun , ein Skript aufrufen omxplayer, möchten Sie vielleicht hinzufügen

complete -F _longopt watch

zu Ihrem .bashrc(oder ähnlichem für jedes Terminal, das Sie verwenden), damit Sie die Dateinamen-Tab-Vervollständigung erhalten.

Raphael
quelle
Ich spüre hier einen C / C ++ / Java / PERL-Programmierer ... Sie brauchen nur die nachgestellten Semikolons, wenn Sie alle diese Befehle in einer Zeile eingeben. Natürlich, ich bin ein C / C ++ / Java / PERL / etc Programmierer, so dass ich dies auch durch Gewohnheit zu tun.
Lornix
0
set PS1=""
setterm -cursor off
clear

Und voila, dein Bildschirm ist schwarz, auch wenn der Omspieler stehen bleibt.

geschoren
quelle
0

Ich konfiguriere meinen Raspberry Pi so, dass er direkt in den piBenutzer bootet, und ~/.profilefüge dann die folgende Zeile hinzu:

setterm -foreground black -clear all && sleep 600

Dies funktioniert, weil der Pi ohnehin nach 10 Minuten in den DPMS-Leermodus wechselt und dies nur sicherstellt, dass Sie bis dahin einen leeren Bildschirm "hinter" dem Omxplayer sehen.

Anselan
quelle