Estoy ejecutando una función zsh para abrir un archivo .tex en vim, mientras abro su archivo .pdf relacionado en evince. Actualmente estoy usando xdotool para abrir una nueva pestaña en la ventana actual de gnome-terminal y luego ejecutando vim en esa pestaña. Preferiría silenciar la salida de la línea de comando de evince y abrir vim en la ventana actual.
Desafortunadamente, con una redirección estándar como evince name.pdf &> /dev/null
evince no se abre gráficamente. ¿Puedo ejecutar un programa GUI desde una terminal sin tener su salida/error estándar en esa terminal?
La función está a continuación:
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
, asumiendo que los archivos .pdf y .tex se denominan nombre de archivo.pdf y nombre de archivo.tex.
Respuesta1
para redirigirsolostderr de evidencia a/dev/null
yenviarlo al fondo al mismo tiempo que debe especificar:
evince name.pdf 2> /dev/null &
Dónde :
evince name.pdf 2>
redirige la salida de los errores sólo/dev/null
redirige la salida alnull
dispositivo&
le envía el programa a segundo plano