tmux

  • Hallo Forum, ich habe untenstehendes Script für tmux. Wenn ich das aufrufe, wie gewünscht drei vertikale Fenster geöffnet. Beim ersten Aufruf wird allerdings im oberen Fenster der Befehl nicht ausgeführt, die anderen aber ganz wie gewünscht. Bei erneutem Aufruf führen alle drei Fenster ihre jeweiligen Befehle aus., und dann immer wieder . Wo liegt da der Fehler?

    Weiteres Problem: Wie kriegt man es hin, dass nach Ausführen aller drei Befehle alle drei Fenster schließen und ein Fenster mit Prompt sich öffnet?

    Hier das Script:

    mux new-session -d ./Laufschrift ENTER;

    tmux split-window -v -p 50;

    tmux send /home/pi/Benn/file.2 ENTER;

    tmux split-window -v -p 30;

    tmux send /home/pi/Benn/file.2 ENTER;

    tmux a;

    • Sorry, erste Zeile das t versehentlich gelöscht...
    • tmux new-session -d ./Laufschrift ENTER;

      tmux split-window -v -p 50;

      tmux send /home/pi/Benn/file.2 ENTER;

      tmux split-window -v -p 30;

      tmux send /home/pi/Benn/file.2 ENTER;

      tmux a;

  • Ein Vorschlag: Kannst Du bitte beim Formatieren Deiner Beiträge die entsprechenden Funktionen des Forums nutzen.

    Dann ist das für alle besser lesbar und eine Hilfestellung ist einfacher.


    Wenn Du Programmcode oder Ähnliches einfügst, dann bitte mit dem Code-Tag </>.


    Das sieht dann so aus:

    Code
    tmux new-session -d ./Laufschrift ENTER;
    tmux split-window -v -p 50;
    tmux send /home/pi/Benn/file.2 ENTER;
    tmux split-window -v -p 30;
    tmux send /home/pi/Benn/file.2 ENTER;
    tmux a;


    Zum Script:


    Bei tmux new-session sind keine Tasten am Ende der Zeile erlaubt, lass das "ENTER" weg.


    Und das Semicolon am Zeilenende ist unnötig in der Bash.

  • Das mit den Code-Tags hatte ich glaube auch schon mal geschrieben und man kann seine Beiträge bearbeiten, falls man mal einen Fehler entdeckt.

    Mit tmux new-session -d machst du eine neue Session auf und trennst diese sofort wieder vom Eingabeterminal, k.A. was dann mit deinem Befehl dahinter geschehen soll. Wenn Du deine Befehle in tmux in der Art Befehl && exit eingibst, wird das tmux Fenster nach erfolgreicher Abarbeitung des Befehls geschlossen. Um sich jetzt nach erfolgreicher Abarbeitung aller Befehle, wieder mit einem z.B. abgetrennten Terminal zu verbinden, könnte man z.B. ein kleines Script schreiben, welches in einer while Schleife tmux -ls | wc -lprüft bis per Test Option nur noch eine tmux Session läuft und dieses dann per tmux -a wieder mit dem aktiven Terminal verbindet. Ist sicher nur eine Möglichkeit von vielen und zum Schluss, ein Shellscript fängt mit einem Shebang an und endet i.d.R. mit exit 0.