Silencia a saída do terminal do programa GUI

4

Estou executando uma função zsh para abrir um arquivo .tex no vim, enquanto abro seu arquivo .pdf relacionado no evince. Atualmente, estou usando xdotool para abrir uma nova guia na janela atual do terminal gnome e, em seguida, executar o vim nessa guia. Eu 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 evince name.pdf &> /dev/null , o evince 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 }')
    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 , presumindo que os arquivos .pdf e .tex sejam nomeados filename.pdf e filename.tex.

    
por Langston 11.12.2014 / 22:18

1 resposta

5

Para redirecionar somente o stderr do evince para /dev/null e enviá-lo para o plano de fundo ao mesmo tempo que você precisa especificar:

evince name.pdf 2> /dev/null &

Onde:

  • evince name.pdf 2> redireciona a saída dos erros apenas
  • /dev/null redireciona a saída para o null device
  • & envia o programa para o segundo plano
por Fabby 12.12.2014 / 00:23