Terminalausgabe des GUI-Programms stummschalten

Terminalausgabe des GUI-Programms stummschalten

Ich führe eine Zsh-Funktion aus, um eine .tex-Datei in vim zu öffnen, während ich die zugehörige .pdf-Datei in evince öffne. Ich verwende derzeit xdotool, um eine neue Registerkarte im aktuellen Gnome-Terminalfenster zu öffnen, und führe dann vim in dieser Registerkarte aus. Ich würde lieber die Befehlszeilenausgabe von evince stummschalten und vim im aktuellen Fenster öffnen.

Leider wird evince mit einer Standardumleitung wie evince name.pdf &> /dev/nullnicht grafisch geöffnet. Kann ich ein GUI-Programm von einem Terminal aus ausführen, ohne dass die Standardausgabe/der Standardfehler in diesem Terminal angezeigt wird?

Die Funktion ist unten:

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

Verwendung: edittex filename, vorausgesetzt, die .pdf- und .tex-Dateien haben die Namen Dateiname.pdf und Dateiname.tex.

Antwort1

Umleitennurstderr von evince zu/dev/null UndUm es gleichzeitig in den Hintergrund zu senden, müssen Sie Folgendes angeben:

evince name.pdf 2> /dev/null &

Wo :

  • evince name.pdf 2>leitet die Ausgabe der Fehler nur um
  • /dev/nullleitet die Ausgabe an das nullGerät um
  • &schickt das Programm in den Hintergrund

verwandte Informationen