![gnome 터미널에 대한 인수로 mplayer를 시작할 때 tee에서 출력이 기록되지 않습니다.](https://linux55.com/image/19153/gnome%20%ED%84%B0%EB%AF%B8%EB%84%90%EC%97%90%20%EB%8C%80%ED%95%9C%20%EC%9D%B8%EC%88%98%EB%A1%9C%20mplayer%EB%A5%BC%20%EC%8B%9C%EC%9E%91%ED%95%A0%20%EB%95%8C%20tee%EC%97%90%EC%84%9C%20%EC%B6%9C%EB%A0%A5%EC%9D%B4%20%EA%B8%B0%EB%A1%9D%EB%90%98%EC%A7%80%20%EC%95%8A%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
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.wav
2>&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