Come posso uscire da omxplayer a schermo intero?


13

Volevo riprodurre un file video raddoppiando il clic su di esso usando omxplyaer. La prima volta, ho fatto doppio clic su di esso, mi chiede di scegliere un'applicazione per aprire il file. Dato che non riesco a trovare omxplayer nella scheda dell'applicazione installata, scelgo la scheda Custome Command Line e inserisco 'omxplyer' nella riga di comando per eseguire e di nuovo 'omxplayer' nel nome dell'applicazione.

Ora, quando faccio clic sul video, inizia a essere riprodotto in omxplayer ma i tasti di scelta rapida non funzionano più. Ad esempio, non riesco a uscire dal video premendo "q" sulla tastiera e nulla del tasto di scelta rapida funziona. In passato funzionava quando riproducevo un file video da lxterminal digitando 'omxplayer video.mp4'. Ma questo non è più il caso.

Se un video inizia a essere riprodotto a schermo intero e poiché non riesco più a chiudere omxplayer, devo guardare il video per terminare in modo che il lettore si fermi. Quindi la mia domanda è ...

  1. Come abilito nuovamente il tasto di scelta rapida quando riproduco un file video con l'opzione "Apri con e quindi omxplayer"?

  2. Come faccio a eliminare la riga di comando precedente per eseguire dove accedo a omxplayer in modo che quando faccio clic su un file video, mi chieda di nuovo di scegliere un'applicazione?


È possibile modificare il programma per aprire un file facendo clic con il pulsante destro del mouse su un file, "Apri con .." e quindi scegliendo un programma. Assicurati di selezionare la casella di controllo in basso "Imposta l'applicazione selezionata come azione predefinita per questo tipo di file" se lo desideri, oppure no se è monouso.
Lonefish,

Seleziona l'opzione "Esegui nel terminale". Le scorciatoie non funzionano senza il terminale.
Wally,

Risposte:


6

Da un terminale:

pid=$(pidof omxplayer)
kill $pid

Se ancora non si ferma, kill -9 $pid.

Puoi anche usare killall omxplayere killall -s 9 omxplayer, che dovrebbe interrompere tutte le istanze in esecuzione (se ce ne possono essere più di una).


A proposito, ho ricevuto il seguente errore quando lo inserisco nel terminale al termine della riproduzione del video. "kill: use: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]"
Zip

2
Assicurarsi che ci sia qualcosa in realtà $pid(non si può uccidere qualcosa che non esiste), e che è solo un numero: echo $pid. Se c'è più di un semplice numero, hai pssbagliato; deve essere esattamente ps -o pid= -C omxplayer. Ho modificato la versione dello script per tener conto di questo.
Riccioli d'oro

Mi dispiace noob qui. Non so come sia correlata la tua risposta alla mia domanda. Lo script dovrebbe uccidere l'attuale istanza di omxplayer in esecuzione? Tuttavia, il lettore si chiude al termine della riproduzione del video. Voglio solo uscire dal lettore quando sta riproducendo un video, come fare clic sul pulsante 'x' su Windows invece di aspettare che la riproduzione finisca l'intero video.
Zip il

1
Se non riesci a uscire dall'omxplayer attraverso la normale interfaccia, allora devi aspettare che finisca o lo uccidi esternamente. La sceneggiatura è solo un'elaborazione di quel concetto. L'idea di base è aprire un altro terminale mentre omxplayer è in esecuzione e ucciderlo. Se non riesci a farlo (perché omxplayer afferra il framebuffer - non l'ho mai provato dall'interno di X), passa a un altro VT (terminale virtuale - ce ne sono almeno 6) tramite ctrl-alt F[1-6](basta provare i tasti F in ordine fino a quando non viene visualizzato un prompt di accesso).
Riccioli d'oro

A proposito: l'intero problema dei normali tasti di scelta rapida che non funzionano potrebbe essere dovuto al fatto che LXDE li sta afferrando, dovresti essere in grado di configurare LXDE / il terminale LXDE per non usare tasti di scelta rapida sovrapposti.
riccioli d'oro

2

Uso semplicemente Alt + F4 per terminare il video.


1

Mentre le altre risposte forniscono un po 'di magia inventiva della shell per uccidere un processo che esegue un comando specifico, in realtà ci sono due comandi per fare esattamente questo, e sono chiamati pkille killall. Dalle pagine man:

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

killall - kill processes by name

Così

pkill omxplayer
killall omxplayer

entrambi dovrebbero fare il trucco.

Ora, ci si potrebbe chiedere perché ci sono due comandi per fare la stessa cosa. Le ragioni sono principalmente storiche, risalenti a un'epoca in cui diverse politiche differivano un po 'di più rispetto al solito oggi.

Ci sono anche differenze nelle opzioni che accettano. Per una discussione più lunga sulle differenze di pkille killall, consultare /unix/91527/whats-the-difference-between-pkill-and-killall


1

Se si utilizza l'opzione "Apri con" dalla GUI, è necessario selezionare l'opzione "Esegui nell'emulatore di terminale".

lxterminal -e omxplayer %F funziona anche se sei su lxde,

Sembra che il pulsante "q" e altre scorciatoie non funzionino se il terminale non è aperto. Ho dovuto spegnere il Pi molte volte fino a quando non l'ho capito.


-1

Usa questo comando in un terminale per uccidere omxplayer:

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

Vale la pena notare che se il percorso si omxplayertrova in una posizione diversa, come ad esempio /usr/local/binquesto comando non funzionerà. Un metodo più sicuro sarebbeps -ef | grep omxplayer | grep -v grep | awk '{print $2}' | xargs kill -9
Greenonline,

hai ragione. ho appena copiato dal mio terminale e incollato. grazie.
Rubayet,

1
Questa è un'implementazione ordinata di pkill;)
Bex

-2

hey prova a far girare omxplayer in gui collegandolo con tbo player funziona perfettamente


2
Benvenuto in Raspberry Pi! Fai il tour e visita il centro assistenza per vedere come funzionano le cose qui. In che modo questo risponde alla domanda? Per favore, spiegati di più per renderla una risposta utile.
Ghanima
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.