Abra la pestaña mediante programación en gnome-terminal, ejecute el comando y haga que la pestaña permanezca abierta


12

Estoy tratando de escribir un comando que inicie algunas pestañas de terminal, ejecute algo en cada pestaña y haga que cada pestaña permanezca abierta después de que el comando haya terminado, para que pueda ver el resultado y escribir más comandos en cada pestaña

algo como esto:

gnome-terminal --tab -e "ls -a" --tab -e "ls"

pero el problema con esto es que las pestañas se cierran tan pronto como terminan los comandos "ls". ¿Alguien sabe cómo hacer que las pestañas permanezcan abiertas?

Respuestas:



10

Si tiene xdotoole wmctrlinstaló, entonces el siguiente script de shell podría funcionar:

#!/usr/bin/env bash

window="$(xdotool search --class gnome-terminal | head -1)"
xdotool windowfocus $window
xdotool key ctrl+shift+t
xdotool type "$*"
xdotool key Return

Lo uso así:

$ run-in-new-tab 'ls -l'

Encontré esta idea en el blog de Trustin Lee .


Gracias. Esto funciona bastante bien. Sin sleep 1embargo, tengo que agregar un después de ctrl + shift + t para que funcione. Voy a aceptar esto si nada más se acerca pronto

Sí, descubrí que tenía que sleep 2hacerlo funcionar el 100% del tiempo. Sin embargo, es una gran solución: ahora estoy abriendo 8 pestañas, que ssh en varios servidores, inician varios procesos, etc., usando esto: mi configuración de la mañana ahora está totalmente programada :)
Max Williams

En realidad wmctrlno es obligatorio.
nedim
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.