gnome 터미널에 대한 인수로 mplayer를 시작할 때 tee에서 출력이 기록되지 않습니다.

gnome 터미널에 대한 인수로 mplayer를 시작할 때 tee에서 출력이 기록되지 않습니다.

mplayer의 일반적인 터미널 출력을 보고 로그에 쓰고 싶습니다.
명령줄에서 mplayer를 실행하면 제대로 작동합니다. 예를 들면 다음과 같습니다.

mplayer "$HOME/gdr01.wav" 2>&1 |tee $HOME/junk.log

그러나 자체 gnome 터미널 창에서 mplayer를 시작하고 싶습니다. 터미널 표시는 작동하지만 다음 명령은 로그에 기록되지 않습니다.

(gnome-terminal -e "mplayer $HOME/gdr01.wav 2>&1 |tee $HOME/junk.log" &)
 gnome-terminal -e "mplayer $HOME/gdr01.wav 2>&1 |tee $HOME/junk.log" &

여기서는 무엇이 작동하고 있으며 이를 작동하게 만드는 비결은 무엇입니까?

편집하다: 문제는 내가 얻는다는 것이다단말기메시지(예: 경고)가 로그에 기록됩니다 ibus. 그러나 그럼에도 불구하고플레이어수천 개의 줄이 생성되지만 그 중 어느 것도 로그에 기록되지 않습니다.

답변1

무슨 일이 일어나고 있는지는 gnome-terminal의 명령줄 구문 분석이 이상하다는 것입니다. , 및 매개변수 를 mplayer사용하여 실행 중 입니다 . 오디오 파일이 끝날 때까지 기다리면 터미널이 닫히기 전 마이크로초 내에 존재하지 않는 파일에 대한 오류 메시지가 표시됩니다./home/ferer/gdr01.wav2>&1|tee/home/ferer/junk.log

또는 그놈 터미널의 복잡한 규칙을 알아보세요. 또는 셸을 명시적으로 호출하는 -x대신 해당 옵션을 사용하는 것이 좋습니다 .-e

gnome-terminal -x sh -c 'mplayer "$HOME/gdr01.wav" 2>&1 |tee $HOME/junk.log'

답변2

gnome-terminal -x mplayer $HOME/gdr01.wav 2>&1 |tee $HOME/junk.log &

이 명령은 최소한 로그 파일을 생성합니다.

답변3

다른 쉘에서 실행되기 때문에 exec앞쪽 에 배치하려고 합니다 .mplayer

관련 정보