当我使用远程终端通过omxplayer播放视频时,任何本地终端文本(登录提示等)都会在屏幕上未被视频覆盖的区域(即顶部和底部的黑条)显示。如果我等待10到15分钟,则由于不活动而导致本地终端完全变黑,从而解决了该问题,但这是一种me脚的解决方法。

我认为在本地使用omxplayer可以避免问题,但我无法验证,因为我的RPi讨厌所有键盘。我也不想长期播放视频。

我该如何遮蔽本地终端,以便在使用远程终端通过HDMI播放视频时无法显示出来?

#1 楼




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"


评论


那是一个很好的解决方案。虽然它仍然在左上角留下一个闪烁的光标。

– Wisteso
2012年10月20日在20:17

在上述命令之前运行sudo sh -c“ TERM = linux setterm -foreground black> / dev / tty0” :)

– mcpgza
2012-10-20 20:42



做到了。我担心它在不播放电影时(例如关机时)会弄乱终端,但这可能是另一回事。

– Wisteso
2012年10月21日,下午2:26

请更新答案以包含完整的解决方案。

–亚历山大·张伯伦
2012年10月21日在8:28

我将此添加到/etc/rc.local中,以便在启动时自动执行

– NimsDotNet
2014年4月8日在18:28

#2 楼

omxplayer现在可以选择将背景设置为黑色。

omxplayer -b


它既可以在终端上使用,也可以在X上使用。
此功能应该在当前版本中版本可以在raspbian中使用。

评论


播放后它保持黑色。如何退回?

– MailoSvětel
16年1月17日在15:58

#3 楼

omxplayer的-r(--refresh)选项在重置视频分辨率和其他功能时会清除屏幕。

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


此处的别名可能有用:

alias omxplayer='omxplayer -r -o hdmi '


然后,它将始终刷新(清除)屏幕并将音频发送到hdmi输出。是的,别名中的尾随空格是有意的,因为它允许进一步的制表符完成。 (非常有用!)关于闪烁的光标,我很少(!)曾经和我的pi一起使用过键盘,总是远程登录(我已经建立了SD卡制造商,进行了预配置),所以我将以下内容添加到/etc/rc.local中:尝试在没有感测到(物理)键盘活动的情况下提供帮助,并且还会关闭光标。

由于重置视频通常会恢复闪烁的光标,因此我运行了一个脚本来向键盘发送命令控制台(实际上是tty1):

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


因此,只要光标再次出现,我都输入:

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

它消失了!当然,您至少需要为tee命令设置具有sudo特权的用户。 (查找/ etc / sudoers和/etc/sudoers.d)如果需要,可以将脚本编辑为始终关闭光标。

或者将它们结合起来发疯:

tty1 -cursor off


确保游标已关闭,然后启动omxplayer。玩吧!

#4 楼

这是我的操作(在脚本中):

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 / C ++ / Java / PERL / etc程序员,所以我也习惯这样做。

– lornix
13年7月22日在4:16

#5 楼

set PS1=""
setterm -cursor off
clear


瞧,即使在omsplayers停止后,您的屏幕还是黑色的。

#6 楼

我将Raspberry Pi配置为直接引导进入pi用户,然后在~/.profile中添加以下行:无论如何,在10分钟后,这只会确保您在omxplayer后面看到一个空白屏幕。