다른 프로세스에서 xterm(또는 구체적으로 xterm에 의해 시작된 프로세스)을 제어하는 ​​것이 가능합니까?

다른 프로세스에서 xterm(또는 구체적으로 xterm에 의해 시작된 프로세스)을 제어하는 ​​것이 가능합니까?

다음과 같이 xterm을 사용하여 프로세스를 시작하면(여기서 omxplayer는 xterm이 시작되는 프로세스입니다):

xterm -fullscreen -fg black -bg black -e omxplayer -o hdmi -r %f

다른 프로세스에서 xterm의 표준 입력에 기록하여 omxplayer를 제어할 수 있습니까? 그렇다면 어떻게 해야 할까요?

(리눅스 용어에 대해 잘 알지 못하므로 틀렸다면 양해해 주시기 바랍니다.)

고쳐 쓰다

@strugee의 의견에 따르면 내 목표는 xterm의 stdin에 쓰는 것이 아니라 omxplayer의 stdin에 쓰는 것입니다.

답변1

screen의사 tty 실행 모드

에서 명령을 실행해야 합니다.중개 tty 관리자.

screen -d -m omxplayer -o hdmi -r %f

비교하다

xterm -fullscreen -fg grey -bg black -e screen -R

이를 통해 연결을 끊었다가 다시 연결할 수 있습니다.화면언제든지: 화면 세션에서 분리하고 터미널 콘솔에 다시 연결하려면 + Ctrl를 클릭하세요.adscreen -R

추가 man screen정보.

답변2

omxplayer의 표준 입력에 쓰려면 다음을 수행합니다.

echo '안녕하세요'> /proc/$(pidof omxplayer)/fd/1

고쳐 쓰다

이전 조언은 문서화도 부족하고 잘못되었습니다. 이에 대해 사과드립니다.

이 링크일부에 대한 포인터가 포함되어 있습니다.프로젝트다른 방법을 통해 omxplayer 제어를 시도했지만 일반적으로 xterm 없이 직접 실행해야 합니다.

관련 정보