Forum: PC-Programmierung Ubuntu Terminal öffnen per Script?


von svenner (Gast)


Lesenswert?

Hallo liebe Leute.
Ich habe da gerade ein Projekt mit 6 Servern. Und eigentlich öffne ich 
mindestens einmal täglich 6 Terminal Fenster um mich darinne über ssh 
mit den Servern zu verbinden.
Gibt es eine Möglichkeit per Script 6 Terminal Fenster zu öffnen und 
drinnen auch noch einen Befehl aufzurufen?
System ist Ubuntu 16

von Rolf M. (rmagnus)


Lesenswert?

Probiere mal cssh ("cluster SSH", sudo apt-get install clusterssh). Dem 
übergibst du einfach n Server, und es werden n xterms aufgemacht und ein 
kleines Eingabefenster. Du kannst jedes xterm einzeln bedienen, aber 
auch über das Eingabefenster Input an alle gleichzeitig schicken.

: Bearbeitet durch User
von J. F. (Firma: Père Lachaise) (rect)


Lesenswert?

Ich schlage dafür "terminator" [1] vor. Da kannst du dir mit diversen 
Splitscreen eine Profil anlegen und das auch beim Starten immer wieder 
aufrufen [2].

[1] https://linux.die.net/man/1/terminator
[2] 
https://askubuntu.com/questions/317255/how-can-i-open-terminator-with-mutiple-windows-already-open

von Bernd K. (prof7bit)


Lesenswert?

Schau Dir mal Systeme wie Ansible an, damit kann man die Konfiguration 
der Server automatisieren:

* 6 jungfräuliche leere Debian aufgesetzt
* Ansible laufen lassen
* alles fix und fertig installiert und konfiguriert

Änderungen in der Konfiguration auf den Servern erforderlich?

* Ansible scripte entsprechend anpassen
* Ansible nochmal laufen lassen
* fertig

von Thomas S. (doschi_)


Lesenswert?

Noch ein Vorschlag:
tmux (https://wiki.ubuntuusers.de/tmux/) als Terminal-Multiplexer
und  https://github.com/tmux-plugins/tmux-resurrect
("Restore tmux environment after system restart.")
Auf einen "Knopfdruck" wird der verher gesicherte Zustand von tmux 
wieder hergestellt.

von Bernd K. (prof7bit)


Lesenswert?

Wenn Deine Anwendung sich auf 6 Server verteilt und es erfordert auf 
allen 6 Servern tagelang manuell herumzukonfigurieren bis sie 
installiert ist und läuft würde ich stattdessen auch mal einen Blick auf 
Docker werfen, das spart unendlich viel Zeit und Nerven und sorgt für 
präzise Wiederholbarkeit.

von DPA (Gast)


Lesenswert?

Wie man einen Terminalemulator started und darin einen Befehl ausführen 
lässt steht in der Manpage des Terminalemulators. Meistens ist es die -e 
option. Verwendet Ubuntu gnome-terminal? Dann wäre das 'gnome-terminal 
-e "commando"'. 6 davon wären dann:
1
gnome-terminal -e "command" &
2
gnome-terminal -e "command" &
3
gnome-terminal -e "command" &
4
gnome-terminal -e "command" &
5
gnome-terminal -e "command" &
6
gnome-terminal -e "command" &

Wenn sich das aber sowieso täglich wiederholt, eventuell sollte man das 
dann einfach auf dem Servern automatisieren, also von einem cronjob 
erledigen lassen und sich das Ergebnis per Mail zukommen lassen.

von Egon N. (egon2321)


Lesenswert?

tmux, mosh, etc.

Gibt so viel Fancy Zeug. Man muss nicht immer mit der Holzhammermethode 
vorgehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.