전체 화면에서 omxplayer를 종료하려면 어떻게해야합니까?


13

omxplyaer를 사용하여 클릭하여 두 배로 비디오 파일을 재생하고 싶었습니다. 처음 두 번 클릭하면 파일을 열 응용 프로그램을 선택하라는 메시지가 표시됩니다. 설치된 응용 프로그램 탭에서 omxplayer를 찾을 수 없으므로 Custome Command Line 탭을 선택하고 명령 줄에 'omxplyer'를 입력하여 응용 프로그램 이름에서 'omxplayer'를 다시 실행하십시오.

이제 비디오를 클릭하면 omxplayer에서 비디오가 재생되기 시작하지만 핫키는 더 이상 작동하지 않습니다. 예를 들어 키보드에서 'q'를 눌러 비디오를 종료 할 수없고 핫키가 작동하지 않습니다. 이것은 'omxplayer video.mp4'를 입력하여 lxterminal에서 비디오 파일을 재생할 때 작동했습니다. 그러나 이것은 더 이상 사실이 아닙니다.

비디오가 전체 화면으로 재생되기 시작하고 더 이상 omxplayer를 종료 할 수 없기 때문에 플레이어가 종료되도록 비디오를 종료해야합니다. 제 질문은 ...

  1. 'Open with and omxplayer'옵션으로 비디오 파일을 재생할 때 핫키를 다시 활성화하려면 어떻게합니까?

  2. 비디오 파일을 클릭 할 때 응용 프로그램을 다시 선택하라는 메시지가 표시되도록 omxplayer를 입력 한 위치에서 실행하기 위해 이전 명령 줄을 어떻게 삭제합니까?


"Open with .."파일을 마우스 오른쪽 버튼으로 클릭 한 다음 프로그램을 선택하여 파일을 열도록 프로그램을 변경할 수 있습니다. 원하는 경우 "선택한 응용 프로그램을이 파일 형식의 기본 동작으로 설정"하단의 확인란을 선택하거나 일회용 인 경우 선택하지 마십시오.
Lonefish

"터미널에서 실행"옵션을 선택하십시오. 터미널이 없으면 바로 가기가 작동하지 않습니다.
Wally

답변:


6

터미널에서 :

pid=$(pidof omxplayer)
kill $pid

그래도 멈추지 않으면 kill -9 $pid.

및를 사용 killall omxplayer하여 killall -s 9 omxplayer실행중인 모든 인스턴스를 중지해야합니다 (둘 이상있는 경우).


그런데 비디오 재생이 끝난 후 터미널에 입력하면 다음과 같은 오류가 발생합니다. "kill : 사용법 : kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... 또는 kill -l [sigspec]"
Zip

2
실제로 무언가가 있는지 $pid(존재하지 않는 것을 죽일 수는 없음) 확인하십시오 echo $pid. 숫자가 여러 개인 경우 ps잘못된 것입니다. 정확히이어야합니다 ps -o pid= -C omxplayer. 이를 설명하기 위해 스크립트 버전을 편집했습니다.
goldilocks

멍청한 놈. 귀하의 답변이 내 질문과 어떻게 관련되어 있는지 잘 모르겠습니다. 스크립트가 현재 실행중인 omxplayer 인스턴스를 종료해야합니까? 그래도 비디오 재생이 끝나면 플레이어가 종료됩니다. 비디오를 재생할 때 전체 비디오가 끝날 때까지 기다리는 대신 Windows에서 'x'버튼을 클릭하는 것과 같이 플레이어를 종료하고 싶습니다.
Zip

1
일반 인터페이스를 통해 omxplayer를 종료 할 수 없으면 완료 될 때까지 기다려야 하거나 외부 에서 종료 해야합니다. 스크립트는 그 개념을 정교화 한 것입니다. 기본 아이디어는 omxplayer가 실행되는 동안 다른 터미널을 열고 종료하는 것입니다. 당신이 그것을 할 수 없다면 (omxplayer가 프레임 버퍼를 잡기 때문에-X 내에서 시도하지 않았기 때문에) 다른 VT (가상 터미널-6 이상)로 전환하십시오 ctrl-alt F[1-6](F 키를 사용해보십시오 ) 로그인 프롬프트가 표시 될 때까지 순서대로).
goldilocks

BTW : 일반 핫키가 작동하지 않는 문제는 LXDE가 잡아 당기고 있기 때문에 겹치는 핫키를 사용하지 않도록 LXDE / LXDE 터미널을 구성 할 수 있어야합니다.
goldilocks


1

다른 답변은 특정 명령을 실행하는 프로세스를 죽일 수있는 독창적 인 쉘 마법을 제공하지만 실제로이 작업을 수행하는 두 가지 명령이 있으며 실제로는 pkilland 라고 killall합니다. 매뉴얼 페이지에서 :

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

네 말이 맞아 터미널에서 복사하여 붙여 넣었습니다. 감사합니다.
Rubayet

1
pkill;) 의 깔끔한 구현입니다 .
Bex

-2

이봐 그냥 GUI에서 omxplayer를 tbo 플레이어와 연결하여 실행하려고하면 완벽하게 작동합니다.


2
라즈베리 파이에 오신 것을 환영합니다! 하시기 바랍니다 여행을 하고 방문 보려면 도움말 센터를 일이 여기에 어떻게 작동하는지 확인합니다. 이 문제를 어떻게 해결합니까? 유용한 답변을 제공하기 위해 더 설명해주세요.
Ghanima
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.