私は zsh 関数を実行して、.tex ファイルを vim で開き、関連する .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 であると仮定します。
答え1
リダイレクトするにはのみ証拠のstderr/dev/null
そして同時にバックグラウンドに送信するには、以下を指定する必要があります。
evince name.pdf 2> /dev/null &
どこ :
evince name.pdf 2>
エラーの出力のみをリダイレクトします/dev/null
出力をnull
デバイスにリダイレクトします&
プログラムをバックグラウンドに送る