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
または、GNOME端末の複雑な規則を学びます。または、シェルを明示的に呼び出すのではなく、その-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