Como posso sair do omxplayer em tela cheia?

13

Eu queria reproduzir um arquivo de vídeo clicando duas vezes nele usando o omxplyaer. Na primeira vez em que cliquei duas vezes, ele me pede para escolher um aplicativo para abrir o arquivo. Como não consigo encontrar o omxplayer na guia do aplicativo instalado, escolho a guia Linha de comando do Custome e insiro 'omxplyer' na linha de comando para executar e novamente 'omxplayer' no nome do aplicativo.

Agora, quando clico no vídeo, ele começa a ser reproduzido no omxplayer, mas as teclas de atalho não estão mais funcionando. Por exemplo, não consigo sair do vídeo pressionando 'q' no teclado e nada da tecla de atalho funciona. Isso costumava funcionar quando reproduzia um arquivo de vídeo do lxterminal, digitando 'omxplayer video.mp4'. Mas esse não é mais o caso.

Se um vídeo começar a ser reproduzido em tela cheia e como não consigo mais sair do omxplayer, tenho que assistir ao vídeo para terminar, para que o player saia. Então minha pergunta é ...

  1. Como ativar a tecla de atalho novamente quando reproduzo um arquivo de vídeo com a opção 'abrir com e depois omxplayer'?

  2. Como excluo a linha de comando anterior para executar onde eu insiro o omxplayer para que, quando clico em um arquivo de vídeo, ele solicite novamente que eu escolha um aplicativo?

Fecho eclair
fonte
Você pode alterar o programa para abrir um arquivo clicando com o botão direito do mouse em um arquivo, "Abrir com .." e escolhendo um programa. Marque a caixa de seleção na parte inferior "Definir aplicativo selecionado como ação padrão para este tipo de arquivo", se desejar, ou não, para uso único.
Lonefish 22/02
Selecione a opção "Executar no terminal". Os atalhos não funcionam sem o terminal.
Wally

Respostas:

6

De um terminal:

pid=$(pidof omxplayer)
kill $pid

Se ainda não parar kill -9 $pid,.

Você também pode usar killall omxplayere killall -s 9 omxplayer, o que deve interromper todas as instâncias em execução (se houver mais de uma).

Cachinhos Dourados
fonte
A propósito, recebi o seguinte erro ao inseri-lo no terminal após a reprodução do vídeo. "kill: use: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... ou kill -l [sigspec]"
Zip
2
Certifique-se de que há algo realmente em $pid(você não pode matar algo que não existe) e que é apenas um número: echo $pid. Se houver mais do que apenas um número, você psestá errado; deve ser exatamente ps -o pid= -C omxplayer. Eu editei a versão do script para explicar isso.
goldilocks
Desculpe noob aqui. Não sei como sua resposta está relacionada à minha pergunta. O script deveria matar a instância atual do omxplayer em execução? O player sai depois que o vídeo termina de ser reproduzido. Eu só quero sair do player quando ele estiver reproduzindo um vídeo, como clicar no botão 'x' no Windows, em vez de esperar que a reprodução termine o vídeo inteiro.
Zip
1
Se você não pode sair do omxplayer através da interface normal, então é necessário aguardar o término ou matá-lo externamente. O script é apenas uma elaboração desse conceito. A idéia básica é abrir outro terminal enquanto o omxplayer estiver sendo executado e matá-lo. Se você não pode fazer isso (porque o omxplayer pega o framebuffer - eu nunca tentei no X), mude para um VT (terminal virtual - há pelo menos 6) diferentes via ctrl-alt F[1-6](apenas tente as teclas F em ordem até você receber uma solicitação de login).
goldilocks
BTW: Todo o problema das teclas de atalho normais que não estão funcionando pode ser porque o LXDE as está agarrando; você poderá configurar o LXDE / terminal LXDE para não usar teclas de atalho sobrepostas.
goldilocks
2

Eu apenas uso o Alt + F4 para finalizar o vídeo.

Frank
fonte
1

Enquanto as outras respostas fornecem alguma mágica inventiva do shell para matar um processo executando um comando específico, na verdade existem dois comandos para fazer exatamente isso, e eles são chamados pkille killall. Nas páginas do manual:

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

killall - kill processes by name

então

pkill omxplayer
killall omxplayer

ambos devem fazer o truque.

Agora, pode-se perguntar por que existem dois comandos para fazer a mesma coisa. As razões são principalmente históricas, que remontam a uma época em que diferentes unicórnios diferiam um pouco mais do que costumam fazer hoje.

Também existem diferenças nas opções que eles aceitam. Para uma discussão mais longa sobre as diferenças de pkille killall, consulte /unix/91527/whats-the-difference-between-pkill-and-killall

Bex
fonte
1

Se você usar a opção "Abrir com" na GUI, precisará selecionar a opção "Executar no emulador de terminal".

lxterminal -e omxplayer %F também funciona se você estiver no lxde,

Parece que o botão 'q' e outros atalhos não funcionam se o terminal não estiver aberto. Eu tive que desligar o Pi várias vezes até descobrir isso.

Wally
fonte
-1

Use este comando em um terminal para matar o omxplayer:

ps -ef | grep omxplayer | grep -v grep | awk '{print $2}' | xargs kill -9
Rubayet
fonte
É importante notar que, se o caminho para omxplayerestiver em um local diferente, como /usr/local/binesse comando, não funcionará. Um método mais certo seriaps -ef | grep omxplayer | grep -v grep | awk '{print $2}' | xargs kill -9
Greenonline
você está certo. eu apenas copiei do meu terminal e colei. obrigado.
Rubayet
1
Essa é uma implementação pura de pkill;)
Bex
-2

ei, tente rodar o omxplayer em gui, ligando-o ao tbo player, ele funciona perfeitamente

chikumbutso walani
fonte
2
Bem-vindo ao Raspberry Pi! Faça o tour e visite o centro de ajuda para ver como as coisas funcionam aqui. Como isso aborda a questão? Seja mais explicativo para tornar essa uma resposta útil.
Ghanima