静音 GUI 程序的终端输出

Lan*_*ton 5 command-line bash gnome-terminal zsh xdotool

我正在运行 zsh 函数以在 vim 中打开 .tex 文件,同时在 evince 中打开其相关的 .pdf 文件。我目前正在使用 xdotool 在当前的 gnome 终端窗口中打开一个新选项卡,然后在该选项卡中执行 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 $@.tex"
    xdotool key KP_Enter 
    # open evince in old terminal tab
    evince "$@.pdf" 
}
Run Code Online (Sandbox Code Playgroud)

用法:edittex filename,假设 .pdf 和 .tex 文件被命名为 filename.pdf 和 filename.tex。

Fab*_*bby 6

将 evince 的 stderr重定向到/dev/null 并同时将其发送到后台,您需要指定:

evince name.pdf 2> /dev/null &
Run Code Online (Sandbox Code Playgroud)

在哪里 :

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