Forum: PC-Programmierung Linux: per Skript neue Terminal-Fenster bzw. Konsolen-Tabs aufmachen


von asd (Gast)


Lesenswert?

Hallo,

was ich machen will: Etwas automatisieren.
Und zwar, wenn ich einen Raspberry-Pi Kernel-Treiber programmiere, 
stürzt der Pi dabei öfter mal ab. Was bedeuted dass ich öfter diese 
Befehle eintippen muss:
1) per ssh einloggen, ins Verzeichnis mit dem aktuellen Sourcen gehen
2) per ssh einloggen, 'tail -f /var/log/messages' starten
3) per ssh einloggen, einen seriellen Terminal aufmachen (es wird ein 
SPI bzw. RS232 Treiber

Das wollte ich automatisieren. Was dabei gar nicht so einfach ist ist 
das aufmachen 3er neuer Terminal bzw. Konsole (bin Suse-Nutzer) Fenster 
in denen dann je eins der drei o.g. Sachen passiert.

Versuch 1:

konsole --tabs-from-file tab_file

mit einem tab_file:
1
title: %n;; command: rpi_login.sh ;; profile: Shell
2
title: %n;; command: ping heise.de ;; profile: Shell
3
title: %n;; command: ssh pi@192.168.178.32 -t 'tail -f /var/log/messages' ;; profile: Shell
4
title: %n;; command: sleep 10;ssh pi@192.168.178.32 -t 'ping heise.de' ;; profile: Shell
5
title: %n;; command: sleep 10;ping heise.de ;; profile: Shell
6
title: %n;; command: sleep 10 ;; profile: Shell

Einzeln tut jeder Befehl was er soll. Im tab_file jedoch nicht:
1) meldet:
Achtung: Das Programm „rpi_login.sh“ mit den Argumenten „rpi_login.sh“ 
kann nicht gestartet werden.

2) tut was man erwarten würde

3,4,5) der tab geht auf und einen Augenblick später wieder zu ohne dass 
eine Meldung oder Text allgemein zu erkennen ist

6) es ist 10 Sekunden ein Tab offen, der dann zu geht



Versuch 2:
gnome-terminal -e "ping www.free.fr" --tab -e "ping www.google.fr"

öffnet ein neues Fenster in dem jedoch nichts zu sehen ist außer dem 
leeren Hintergrund und der (funktionierenden) Menüleiste.


Ich weiß nicht wo ich weiter suchen könnte. Kennt sich jemand mit dem 
Thema aus? Es muss nicht ein bestimmtes Konsolen-Programm verwendet 
werden.
Alle Arten das Ziel zu erreichen sind mit recht.

von Stromverdichter (Gast)


Lesenswert?

Hallo asd,
das ist nicht das optimale Forum für solche Fragen, es gibt auch viele 
Raspi und Linux Foren.

Ich dachte erst mal an den Befehl "screen" um dein Problemchen zu lösen. 
Das sind virtuelle Fenster die im Hintergrund laufen und auf die du dich 
jederzeit wieder aufschalten kannst. Du kannst auch Befehle hinschicken. 
Ansonsten kannst du mit term oder deren Unterarten wie z.B. xterm neue 
Fenster öffnen.

Soll ein Fenster nach der Ausführung offen bleiben, könntest du bei 
xterm -hold verwenden, bei anderen Terminals musst du selbst 
nachschauen.

Schau dir mal screen an, ich glaube das gefällt dir. Das bleibt auch 
aktiv, wenn du dich wieder abmeldest.

von c.m. (Gast)


Lesenswert?

asd schrieb:
>
1
> title: %n;; command: rpi_login.sh ;; profile: Shell
2
> title: %n;; command: ping heise.de ;; profile: Shell
3
> title: %n;; command: ssh pi@192.168.178.32 -t 'tail -f 
4
> /var/log/messages' ;; profile: Shell
5
> title: %n;; command: sleep 10;ssh pi@192.168.178.32 -t 'ping heise.de' 
6
> ;; profile: Shell
7
> title: %n;; command: sleep 10;ping heise.de ;; profile: Shell
8
> title: %n;; command: sleep 10 ;; profile: Shell
9
>

versuch mal
1
title: %n;; command: "/bin/bash rpi_login.sh" ;; profile: Shell
wobei du bei bash evtl noch einen parameter zum laden des 
user-environments (/etc/profile, ~/.profile z.b. für $PATH) angeben 
"musst" hab ich grad nicht im kopf.


und
1
title: %n;; command: "sleep 10 ; ping heise.de" ;; profile: Shell

von Thomas S. (doschi_)


Lesenswert?


von Daniel F. (df311)


Lesenswert?

hmm, ist nicht gerade der vorgesehene Anwendungszweck, aber schau dir 
mal
https://git-scm.com/docs/git-shell
an, vielleicht kannst du da was kannibalisieren...

oder tmux, evtl. in Kombination mit selbst gebauten Macros

: Bearbeitet durch User
von asd (Gast)


Lesenswert?

Hallo Leute,

vielen Dank für eure Tipps. Am Ende hat es funktioniert mit einem Skript 
mit folgenden Zeilen. Das gibt zwar kein Fenster mit Tabs sondern 
mehrere Fenster, aber das ist ok für mich.

xterm -hold -e "kommando_1" &
xterm -hold -e "kommando_2" &
...

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.