如何全屏退出omxplayer?


13

我想通过使用omxplyaer加倍点击来播放视频文件。第一次,我双击它,它要求我选择一个应用程序来打开文件。由于无法在已安装的应用程序选项卡中找到omxplayer,因此我选择“ Custome命令行”选项卡,然后在命令行中输入“ omxplyer”来执行,然后在“应用程序名称”中再次输入“ omxplayer”。

现在,当我单击视频时,它开始在omxplayer中播放,但是热键不再起作用。例如,我无法通过按键盘上的“ q”来退出视频,并且热键均无效。当我通过键入“ omxplayer video.mp4”从lxterminal播放视频文件时,此方法一直有效。但是,情况已不再如此。

如果视频开始以全屏播放,并且由于我无法退出omxplayer,则我必须观看视频结束,以便播放器退出。所以我的问题是

  1. 播放带有“先打开后再打开omxplayer”选项的视频文件时,如何再次启用热键?

  2. 如何删除上一个命令行以在输入omxplayer的位置执行,以便在单击视频文件时再次要求我选择一个应用程序?


通过右键单击文件“打开方式..”,然后选择一个程序,可以更改程序以打开文件。如果需要,请确保选中底部“将所选应用程序设置为该文件类型的默认操作”复选框,如果不是,请不要选中该复选框。
Lonefish '16

选择“在终端中执行”选项。没有终端,快捷方式将无法使用。
沃利

Answers:


6

从终端:

pid=$(pidof omxplayer)
kill $pid

如果仍然无法停止,kill -9 $pid

您还可以使用killall omxplayerkillall -s 9 omxplayer,它应停止所有正在运行的实例(如果可以有多个实例)。


顺便说一句,在视频播放完后将其输入终端时,出现以下错误。“ kill:用法:kill [-s sigspec | -n signum | -sigspec] pid | jobspec ...或kill -l [sigspec]”
邮编

2
确保里面确实有东西$pid(您不能杀死不存在的东西)并且它仅仅是一个数字:echo $pid。如果不仅仅是数字,那您ps错了。一定是准确的ps -o pid= -C omxplayer。我已经编辑了脚本版本以解决此问题。
goldilocks

对不起,菜鸟在这里。我不知道您的答案与我的问题有什么关系。该脚本是否应该杀死当前正在运行的omxplayer实例?视频播放完毕后,播放器确实退出了。我只是想在播放器播放视频时退出播放器,例如单击Windows上的“ x”按钮,而不是等待播放器播放完整个视频。
邮编

1
如果您无法通过普通界面退出omxplayer,则必须等待其完成在外部将其杀死。该脚本只是对该概念的阐述。基本思想是在omxplayer运行时打开另一个终端并杀死它。如果您无法执行此操作(因为omxplayer抓取了帧缓冲区-我从未从X内尝试过),请通过ctrl-alt F[1-6](尝试F键)切换到其他VT(虚拟终端-至少有6个)直到出现登录提示为止)。
goldilocks

顺便说一句,正常热键不起作用的整个问题可能是因为LXDE抓住了它们,您应该能够将LXDE / LXDE终端配置为不使用重叠的热键。
goldilocks


1

虽然其他答案提供了一些创造性的shell魔术来杀死运行特定命令的进程,但实际上有两个命令可以精确地执行此操作,它们称为pkillkillall。从手册页:

pgrep,  pkill  -  look  up  or signal processes based on name and other
                  attributes

killall - kill processes by name

所以

pkill omxplayer
killall omxplayer

应该都可以做到。

现在,您可能想知道为什么有两个命令可以执行相同的操作。原因主要是历史原因,可以追溯到不同的团结时代比今天平时多一点的时代。

他们接受的选项也有所不同。有关pkill和的区别的详细讨论killall,请参阅/unix/91527/whats-the-difference-between-pkill-and-killall


1

如果使用GUI中的“打开方式”选项,则必须选择“在终端仿真器中执行”选项。

lxterminal -e omxplayer %F 如果您使用的是lxde也可以使用

如果终端未打开,则看起来像“ q”按钮,其他快捷方式不起作用。我不得不关闭Pi的电源很多次,直到我弄清楚了。


-1

在终端中使用以下命令杀死omxplayer:

ps -ef | grep omxplayer | grep -v grep | awk '{print $2}' | xargs kill -9

值得注意的是,如果到的路径omxplayer位于其他位置,例如/usr/local/bin该命令将不起作用。一个更确定的方法是ps -ef | grep omxplayer | grep -v grep | awk '{print $2}' | xargs kill -9
Greenonline '16

你是对的。我只是从终端复制并粘贴。谢谢。
Rubayet '16

1
那是pkill;)的巧妙实现
Bex

-2

嘿,只需尝试将omxplayer与tbo播放器链接即可在gui中运行


2
欢迎来到Raspberry Pi!请浏览并访问帮助中心,以了解此处的工作方式。这如何解决这个问题?请更多说明,以使该答案有用。
加纳玛
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.