web-dev-qa-db-ja.com

Silence GUIプログラムのターミナル出力

Zsh関数を実行して、vimで.texファイルを開き、関連する.pdfファイルをevinceで開きます。現在、xdotoolを使用して現在のgnome-terminalウィンドウで新しいタブを開き、そのタブでvimを実行しています。私はむしろevinceのコマンドライン出力を黙らせ、現在のウィンドウでvimを開きます。

残念ながら、evince name.pdf &> /dev/nullなどの標準リダイレクトでは、evinceはグラフィカルに開きません。その端末で標準出力/エラーが発生することなく、端末からGUIプログラムを実行できますか?

機能は以下のとおりです。

edittex () { 
    # open a new terminal tab in current terminal
    WID=$(xprop -root | grep "_NET_ACTIVE_WINDOW(WINDOW)"| awk '{print $5}')
    xdotool windowfocus $WID
    xdotool key ctrl+shift+t
    wmctrl -i -a $WID
    # open vim in the new terminal tab
    xdotool type "vim [email protected]"
    xdotool key KP_Enter 
    # open evince in old terminal tab
    evince "[email protected]" 
}

使用法:edittex filename 、. pdfおよび.texファイルの名前がfilename.pdfおよびfilename.texであると仮定します。

4
Langston

のみ stevir of evinceを/dev/nullにリダイレクトするにはおよび同時に指定する必要があるバックグラウンドに送信します:

evince name.pdf 2> /dev/null &

どこ :

  • evince name.pdf 2>はエラーの出力のみをリダイレクトします
  • /dev/nullは、出力をnullデバイスにリダイレクトします
  • &はプログラムをバックグラウンドに送信します
5
Fabby