全画面でomxplayerを終了するにはどうすればよいですか?


13

omxplyaerを使用してクリックを2倍にしてビデオファイルを再生したかった。最初に、それをダブルクリックしました。ファイルを開くアプリケーションを選択するように求められます。インストールされたアプリケーションタブにomxplayerが見つからないため、Custome Command Lineタブを選択し、コマンドラインに「omxplyer」と入力して実行し、アプリケーション名に「omxplayer」と入力します。

ビデオをクリックすると、omxplayerで再生が開始されますが、ホットキーは機能しなくなります。たとえば、キーボードの「q」を押してもビデオを終了できず、ホットキーが機能しません。これは、「omxplayer video.mp4」と入力してlxterminalからビデオファイルを再生するときに機能していました。しかし、これはもはや事実ではありません。

ビデオが全画面表示で再生を開始し、omxplayerを終了できなくなった場合、プレーヤーを終了するにはビデオを終了する必要があります。だから私の質問は...

  1. 「開く」オプションと「omxplayer」オプションを使用してビデオファイルを再生するときに、ホットキーを再度有効にするにはどうすればよいですか?

  2. 以前のコマンドラインを削除してomxplayerを入力した場所で実行すると、ビデオファイルをクリックすると、アプリケーションを選択するように再度要求されます。


ファイルを右クリックし、「プログラムから開く」でプログラムを選択して、ファイルを開くようにプログラムを変更できます。必要に応じて、下部の[選択したアプリケーションをこのファイルの種類の既定のアクションとして設定する]チェックボックスをオンにしてください。
ロンフィッシュ

「ターミナルで実行」オプションを選択します。ショートカットは端末なしでは機能しません。
ウォーリー

回答:


6

ターミナルから:

pid=$(pidof omxplayer)
kill $pid

それはまだ停止しない場合は、kill -9 $pid

また、killall omxplayerandを使用してkillall -s 9 omxplayer、実行中のすべてのインスタンスを停止することもできます(複数ある場合)。


ちなみに、ビデオの再生が終了した後に端末に入力すると、次のエラーが発生しました。"キル:使用方法:キル[-sのsigspec | -nシグナム| -sigspec] PID |ジョブ仕様...または[のsigspec] -l殺す"
ジップ

2
実際に何かが存在することを確認し$pid(存在しないものを殺すことはできません)、それが単なる数字であることを確認してくださいecho $pid。数字だけではない場合、あなたpsは間違っていました。それは正確でなければなりませんps -o pid= -C omxplayer。これを考慮してスクリプトバージョンを編集しました。
goldilocks

すみません あなたの答えが私の質問にどのように関係しているかわかりません。スクリプトは、現在実行中のomxplayerインスタンスを強制終了することになっていますか?ただし、ビデオの再生が終了すると、プレーヤーは終了します。動画の再生が終了したら、Windowsの[x]ボタンをクリックするなど、動画の再生中にプレーヤーを終了するだけです。
ジップ

1
通常のインターフェースでomxplayerを終了できない場合は、終了するまで待つか、外部から強制終了する必要があります。スクリプトは、その概念の単なる詳細です。基本的な考え方は、omxplayerの実行中に別のターミナルを開いて終了することです。それができない場合(omxplayerがフレームバッファを取得するため-私はX内で試したことがないため)、別のVT(仮想端末-少なくとも6つあります)に切り替えますctrl-alt F[1-6](Fキーを試してください)ログインプロンプトが表示されるまで順番に)。
goldilocks

ところで:通常のホットキーが機能しないという問題は、LXDEがそれらを取得しているためかもしれません。重複するホットキーを使用しないようにLXDE / LXDE端末を設定できるはずです。
goldilocks


1

他の答えは、特定のコマンドを実行しているプロセスを強制終了するための独創的なシェルマジックを提供しますが、実際にはこれを行う2つのコマンドがあり、それらはpkillandと呼ばれkillallます。マニュアルページから:

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

killall - kill processes by name

そう

pkill omxplayer
killall omxplayer

両方のトリックを行う必要があります。

さて、同じことを行うために2つのコマンドがある理由を疑問に思うかもしれません。その理由は主に歴史的なものであり、異なる大学が今日よりも少し異なっていた時代にさかのぼります。

また、受け入れるオプションにも違いがあります。pkillとの違いに関するより長い議論については、https://unix.stackexchange.com/questions/91527/whats-the-difference-between-pkill-and-killallkillallを参照してください。


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

あなたが正しいです。ターミナルからコピーして貼り付けました。ありがとうございました。
-Rubayet

1
pkill;)のきちんとした実装です
ベックス

-2

ちょっとだけguiでomxplayerをtboプレーヤーとリンクして実行してみてください。


2
Raspberry Piへようこそ!てくださいツアーをし、訪問ヘルプセンターのが、物事はここで働いてどのように見て。これは質問にどのように対処しますか?それを役立つ答えにするために、もっと説明してください。
ガニマ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.