In meiner tmux.conf
Datei habe ich sie so konfiguriert, dass sie Fenster öffnet, sie benennt, Fensterbereiche einrichtet usw. usw..
Ein Problem, das ich habe, ist jedoch, dass, wenn einer der Bereiche einen Befehl startet, sagen wir ls
, dann schließt sich der Bereich selbst, nachdem der Befehl (sofort) abgeschlossen ist. Gibt es eine Möglichkeit, dieses Verhalten zu verhindern? Oder soll es nach Abschluss eines Befehls in eine normale Shell fallen?
Ich gehe davon aus, dass ich eine Shell starten muss -> Befehl ausführen, wenn das Fenster gestartet wird, aber ich werde verdammt sein, wenn ich herausfinden kann, wie. Ich habe ein bisschen nach diesem Problem gegoogelt, bin aber zu kurz gekommen.
Akzeptierte Antwort:
Sie haben mehrere Möglichkeiten.
-
Statt
ls
auszuführen Führen Sie in Ihrem Fenster eine Shell aus und senden Sie dann die Shell-Tastenanschläge zur Ausführung:tmux start-server tmux new-session -d -s session tmux new-window -t session:1 tmux send-keys -t session:1 ls C-m
-
Sie können eine Folge von Befehlen so zubereiten, dass Sie mit einer Bash-Shell zurückbleiben, nachdem Ihre anderen Befehle ausgeführt wurden:
tmux start-server tmux new-session -d tmux new-window 'ls;bash -i'
-
Einzelheiten zum
remain-on-exit
finden Sie in der Antwort von jasonwryan Option, um Fenster am Leben zu erhalten, nachdem ihr Prozess beendet wurde, damit Sie die Ausgabe überprüfen können. -
Wenn die Ausgabe eines Befehls einmal sehenswert war, lohnt es sich möglicherweise, sie zu aktualisieren. Wenn Sie die Ausgabe von etwas überwachen, können Sie
watch
um regelmäßig neue Ausgaben zu erhalten. Dies sollte gut mit Fenstern intmux
funktionieren :tmux start-server tmux new-session -d tmux new-window 'watch -n 60 ls'