Comment automatiser le démarrage d'instances de terminal pour des tâches spécifiques
10
Je passe par quelques tutoriels de programmation et pour chaque session, je dois démarrer au moins 3 fenêtres de terminal (une pour une queue de fichier journal, une pour tester la sortie, une pour exécuter diverses commandes shell dans, etc.)
En ce moment, je les démarre tous manuellement: cliquez sur l'icône Terminal, accédez au dossier de droite, tapez les commandes et changez le titre de la fenêtre en quelque chose de significatif.
Existe-t-il un moyen d'écrire un script ou quelque chose qui automatiserait cela pour moi? Et si oui, comment?
(Je suis cool de ne pas obtenir un script complet comme réponse. Un pointeur par où commencer à lire fonctionnerait aussi.)
Cet exemple démarre trois fenêtres (bien que vous puissiez passer --tabpour les onglets) et définit les répertoires de travail (par rapport à la maison) et les titres pour chacun, démarre la tailcommande en une et active la troisième fenêtre.
Bien sûr, vous préférerez peut-être utiliser des lignes distinctes pour lancer chaque fenêtre, en particulier si vous avez de nombreux arguments.
Une autre chose utile à faire, une fois vos fenêtres arrangées à votre guise, est d’utiliser
gnome-terminal --save-config=FILE
Cela crée un fichier de configuration avec des informations sur toutes les fenêtres et tous les onglets de terminaux ouverts (y compris les titres, les répertoires de travail, etc.). Le lancement de gnome-terminal avec l' --load-configoption recréera alors votre mise en page.
De nombreux développeurs qui travaillent avec plusieurs terminaux aiment utiliser Terminator car il ajoute des fonctionnalités telles qu'une disposition de grille et des raccourcis clavier.
Le faire de cette façon avec l'indicateur -e entraînera-t-il la fermeture de la fenêtre dès que la commande sera exécutée? Et si oui, est-il possible de faire en sorte que la fenêtre reste ouverte?
emf
8
Quel que soit l'émulateur de terminal que vous utilisez, vous devriez pouvoir accepter une commande comme argument. Par exemple:
gnome-terminal -e "tail -f /var/log/syslog"
Ajoutez simplement ces commandes à votre démarrage automatique dans Système -> Préférences -> Sessions (Ubuntu) ou Paramètres système -> Démarrage automatique (Kubuntu)
Vous pouvez également automatiser cela à l'aide d'un script. Je recommande de lire le Guide de script avancé Bash ou le HOWTO de programmation Bash, ainsi que la page de manuel du terminal que vous utilisez.
Oui, sauf si gnome-terminal est déjà en cours d'exécution, la commande ouvre simplement une nouvelle fenêtre pour l'autre processus en cours, puis se ferme.
Quel que soit l'émulateur de terminal que vous utilisez, vous devriez pouvoir accepter une commande comme argument. Par exemple:
Ajoutez simplement ces commandes à votre démarrage automatique dans Système -> Préférences -> Sessions (Ubuntu) ou Paramètres système -> Démarrage automatique (Kubuntu)
la source
Vous pouvez également automatiser cela à l'aide d'un script. Je recommande de lire le Guide de script avancé Bash ou le HOWTO de programmation Bash, ainsi que la page de manuel du terminal que vous utilisez.
Voici un exemple simple:
Rendez-le simplement exécutable:
la source
exec
tout cela?