Silenciar a saída do terminal do programa GUI

Silenciar a saída do terminal do programa GUI

Estou executando uma função zsh para abrir um arquivo .tex no vim, enquanto abro seu arquivo .pdf relacionado no evince. Atualmente estou usando o xdotool para abrir uma nova aba na janela atual do gnome-terminal e, em seguida, executando o vim nessa aba. Prefiro silenciar a saída da linha de comando do evince e abrir o vim na janela atual.

Infelizmente, com um redirecionamento padrão como o evince name.pdf &> /dev/nullevince não abre graficamente. Posso executar um programa GUI a partir de um terminal sem ter sua saída/erro padrão nesse terminal?

A função está abaixo:

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]" 
}

Uso: edittex filename, assumindo que os arquivos .pdf e .tex sejam nomeados filename.pdf e filename.tex.

Responder1

Para redirecionarapenasstderr de evidência para/dev/null eenvie-o para segundo plano ao mesmo tempo que você precisa especificar:

evince name.pdf 2> /dev/null &

Onde :

  • evince name.pdf 2>redireciona apenas a saída dos erros
  • /dev/nullredireciona a saída para o nulldispositivo
  • &envia o programa para segundo plano

informação relacionada