静音 GUI 程序的终端输出

静音 GUI 程序的终端输出

我正在运行 zsh 函数以在 vim 中打开 .tex 文件,同时在 evince 中打开其相关的 .pdf 文件。我目前正在使用 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

重定向仅有的evince 的 stderr/dev/null 发送到后台同时需要指定:

evince name.pdf 2> /dev/null &

在哪里 :

  • evince name.pdf 2>仅重定向错误的输出
  • /dev/null将输出重定向到null设备
  • &将程序发送到后台

相关内容