Onglet ouvert par programme dans gnome-terminal, exécute la commande et laisse l'onglet rester ouvert


12

J'essaie d'écrire une commande qui lancera quelques onglets de terminal, exécutera quelque chose dans chaque onglet et gardera chaque onglet ouvert après la fin de la commande, afin que je puisse regarder la sortie et taper plus de commandes dans chaque onglet

quelque chose comme ça:

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

mais le problème est que les onglets se ferment dès que les commandes "ls" se terminent. Quelqu'un sait-il comment garder les onglets ouverts?

Réponses:



10

Si vous en avez xdotoolet que vous l'avez wmctrlinstallé, le script shell suivant peut fonctionner:

#!/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

Je l'utilise comme ceci:

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

J'ai trouvé cette idée sur le blog de Trustin Lee .


Merci. Cela fonctionne plutôt bien. Je dois cependant ajouter un sleep 1après les touches ctrl + shift + t pour que cela fonctionne pour moi. J'accepterai cela si rien d'autre ne vient bientôt

Ouais - j'ai trouvé que je devais le sleep 2faire fonctionner 100% du temps. Grande solution cependant - j'ouvre maintenant 8 onglets, qui ssh dans divers serveurs, démarrent divers processus, etc., en utilisant ceci: ma configuration du matin est maintenant totalement scriptée :)
Max Williams

En fait, ce wmctrln'est pas nécessaire.
nedim
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.