¿Cómo puedo salir de omxplayer en pantalla completa?

13

Quería reproducir el archivo de video duplicando el clic en él usando omxplyaer. La primera vez, hice doble clic en él, me pide que elija una aplicación para abrir el archivo. Como no puedo encontrar omxplayer en la pestaña de la aplicación instalada, elijo la pestaña Custome Command Line e ingreso 'omxplyer' en la línea de comando para ejecutar y nuevamente 'omxplayer' en el nombre de la aplicación.

Ahora, cuando hago clic en el video, comienza a reproducirse en omxplayer pero las teclas de acceso rápido ya no funcionan. Por ejemplo, no puedo salir del video presionando 'q' en el teclado y nada de la tecla de acceso rápido funciona. Esto solía funcionar cuando reproduzco un archivo de video de lxterminal escribiendo 'omxplayer video.mp4'. Pero esto ya no es el caso.

Si un video comienza a reproducirse en pantalla completa y como ya no puedo salir de omxplayer, tengo que ver el video para finalizar para que el jugador se cierre. Entonces mi pregunta es ...

  1. ¿Cómo habilito la tecla de acceso rápido nuevamente cuando reproduzco un archivo de video con la opción 'abrir con y luego omxplayer'?

  2. ¿Cómo elimino la línea de comando anterior para ejecutarla cuando ingreso a omxplayer para que cuando haga clic en un archivo de video, me vuelva a pedir que elija una aplicación?

Código Postal
fuente
Puede cambiar el programa para abrir un archivo haciendo clic derecho en un archivo, "Abrir con ..." y luego eligiendo un programa. Asegúrese de marcar la casilla de verificación en la parte inferior "Establecer la aplicación seleccionada como acción predeterminada para este tipo de archivo" si lo desea o no si es para un solo uso.
Lonefish
Seleccione la opción "Ejecutar en terminal". Los atajos no funcionan sin la terminal.
Wally

Respuestas:

6

Desde una terminal:

pid=$(pidof omxplayer)
kill $pid

Si aún así no se detiene, kill -9 $pid.

También puede usar killall omxplayery killall -s 9 omxplayer, que debería detener todas las instancias en ejecución (si puede haber más de una).

Ricitos de oro
fuente
Por cierto, recibí el siguiente error cuando lo ingresé en la terminal después de que el video terminó de reproducirse. "kill: uso: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... o kill -l [sigspec]"
Zip
2
Asegúrese de que hay algo en realidad $pid(no se puede matar algo que no existe) y que es sólo un número: echo $pid. Si hay más que solo un número, psestaba equivocado; Debe ser exactamente ps -o pid= -C omxplayer. He editado la versión del script para dar cuenta de esto.
Ricitos de oro
Lo siento, novato aquí. No sé cómo se relaciona su respuesta con mi pregunta. ¿Se supone que el script mata la instancia actual de omxplayer en ejecución? Sin embargo, el jugador se cierra después de que el video termina de reproducirse. Solo quiero salir del reproductor cuando está reproduciendo un video, como hacer clic en el botón 'x' en Windows en lugar de esperar a que se reproduzca y termine todo el video.
Zip
1
Si no puede salir del omxplayer a través de la interfaz normal, entonces tiene que esperar a que termine o lo mata externamente. El guión es solo una elaboración de ese concepto. La idea básica es abrir otro terminal mientras omxplayer se está ejecutando y matarlo. Si no puede hacerlo (porque omxplayer toma el framebuffer, nunca lo he intentado desde X), cambie a un VT diferente (terminal virtual, hay al menos 6) a través de ctrl-alt F[1-6](solo pruebe las teclas F en orden hasta que reciba un mensaje de inicio de sesión).
Ricitos de oro
Por cierto: todo el problema de que las teclas de acceso rápido normales no funcionen podría deberse a que LXDE las está agarrando, debería poder configurar LXDE / el terminal LXDE para no usar teclas de acceso rápido superpuestas.
Ricitos de oro
2

Solo uso Alt + F4 para finalizar el video.

Franco
fuente
1

Mientras que las otras respuestas proporcionan algo de magia inventiva para matar un proceso que ejecuta un comando específico, en realidad hay dos comandos para hacer exactamente esto, y se llaman pkilly killall. De las páginas del manual:

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

killall - kill processes by name

Entonces

pkill omxplayer
killall omxplayer

ambos deberían hacer el truco.

Ahora, uno podría preguntarse por qué hay dos comandos para hacer lo mismo. Las razones son principalmente históricas, que se remontan a una época en que las diferentes unicies diferían un poco más de lo que suelen ser hoy en día.

También hay diferencias en las opciones que aceptan. Para una discusión más larga sobre las diferencias de pkilly killall, consulte /unix/91527/whats-the-difference-between-pkill-and-killall

Bex
fuente
1

Si usa la opción "Abrir con" de la GUI, debe seleccionar la opción "Ejecutar en emulador de terminal".

lxterminal -e omxplayer %F también funciona si estás en lxde,

Parece que el botón 'q' y otros accesos directos no funcionan si el terminal no está abierto. Tuve que apagar el Pi muchas veces hasta que descubrí esto.

Criajo
fuente
-1

Use este comando en una terminal para matar a omxplayer:

ps -ef | grep omxplayer | grep -v grep | awk '{print $2}' | xargs kill -9
Rubayet
fuente
Vale la pena señalar que si la ruta a omxplayerestá en una ubicación diferente, como /usr/local/binentonces, este comando no funcionará. Un método más seguro seríaps -ef | grep omxplayer | grep -v grep | awk '{print $2}' | xargs kill -9
Greenonline
tienes razón. Acabo de copiar desde mi terminal y pegar. gracias.
Rubayet
1
Esa es una buena implementación de pkill;)
Bex
-2

oye, solo intenta ejecutar omxplayer en la interfaz de usuario al vincularlo con tbo player, funciona perfectamente

chikumbutso walani
fuente
2
¡Bienvenido a Raspberry Pi! Haga el recorrido y visite el centro de ayuda para ver cómo funcionan las cosas aquí. ¿Cómo aborda esto la pregunta? Explique más para que sea una respuesta útil.
Ghanima