Comment puis-je lancer plusieurs xterm windows et exécuter une commande sur chacun d'eux, en laissant à chaque ouverture de la fenêtre par la suite?
Je suis paresseux, et je préfère que les ordinateurs ne mon travail pour moi. Je ssh sur plusieurs machines sur une base quotidienne, j'ai donc créé un script simple qui lance quelques xterm windows et les place dans des positions que je veux (comme vous pouvez le voir, je suis en utilisant bash):
#!/bin/bash
xterm -geometry 80x27+1930+0 &
xterm -geometry 80x27+2753+0 &
xterm -geometry 80x27+1930+626 &
xterm -geometry 80x27+2753+626 &
Cependant, la prochaine chose que je fais c'est d'aller à la première fenêtre et tapez
ssh server_a
puis dans la seconde
ssh server_b
et ainsi de suite. Ce que je voudrais faire est de mon script ne le ssh commandes dans chaque fenêtre xterm, puis de laisser les fenêtres ouvertes pour moi de faire mon travail. J'ai vu l'option-e pour xterm, mais la fenêtre se ferme une fois que j'exécute mes ordres. Est-il un moyen de faire cela?
Je m'excuse si c'est une double question. J'ai cherché et n'ai pas eu de chance avec cette. Merci beaucoup!
OriginalL'auteur user3609282 | 2014-12-15
Vous devez vous connecter pour publier un commentaire.
J'aimerais voir le plus élégant de réponse, mais ce que j'ai trouvé fonctionne:
Remplacer
echo foo
avec la commande de votre choix, et vous êtes bon pour aller.Notez que (au moins certaines versions de)
xterm
ont également un-hold
option qui empêche la fenêtre de s'en aller immédiatement après la commande se termine, de sorte que vous pouvez l'examen final de sortie, si c'est ce qui est désiré...OriginalL'auteur Politank-Z
Cette réponse donne l'une des meilleures réponses que j'ai vu jusqu'à présent de le faire. Utiliser le bash
--init-file
drapeau dans le shebang ou lors de l'exécution de la borne:... et de l'exécuter en tant que:
Mon seul reproche avec le
exec
option si la commande exécutée avantexec bash
de longue durée et les interruptions de l'utilisateur (^C
), il ne veut pas lancer le shell. Avec l' --init-file le shell continue de courir.Une autre option est
cmdtool
de la OpenWin projet:... où
cmdtool
injecte les commandes passées avec-I
à l'esclave processus comme s'il était saisi par l'utilisateur. Cela a pour effet de laisser les commandes exécutées dans la coquille de l'histoire.OriginalL'auteur Brian Vandenberg
Une autre option est d'utiliser gnome terminator. Cela crée et les positions des terminaux de manière interactive, et vous pouvez configurer chaque terminal pour exécuter des commandes dans terminator préférences.
Aussi fait beaucoup de plis supplémentaires à l'aide de raccourcis clavier pour des choses comme le déplacer, faire pivoter, de maximiser/minimiser les des bornes dans le contenant terminator fenêtre
Voir: https://superuser.com/a/610048
OriginalL'auteur theWebalyst
"ClusterSSH contrôle un certain nombre de xterm windows via une seule et unique fenêtre de la console graphique pour permettre à des commandes à exécuter de manière interactive sur plusieurs serveurs sur une connexion ssh"
https://github.com/duncs/clusterssh/wiki
OriginalL'auteur Yariv