TMUX: Wie kann man ein neues Fenster machen, wenn Start-Shell-Command beendet wird?
Frage
Im Befehlsmodus des TMUX erstellt wie folgt ein neues Fenster und öffnet VIM im Inneren:
:new-window vim
Wenn Sie VIM beenden, ist das Fenster ebenfalls geschlossen. Gibt es eine Möglichkeit, es zu bleiben?
Lösung
tmux
hat eine Option dafür: remain-on-exit
:
tmux set remain-on-exit on
Andere Tipps
Mir ist klar, dass dies eine lange tote Frage ist. Aber ich bin ein neuer Benutzer von Tmux und hatte die gleiche Frage. Es stellt sich heraus, dass Sie dies vielleicht tun möchten:
tmux new-session bash -l
Das bringt Ihnen ein Bash -Fenster (Anmeldeschale). Führen Sie dann alle gewünschten Befehle aus. Wenn sie fertig sind, kehren sie zu einer Eingabeaufforderung zurück, wie Sie es erwarten. Ich denke, viele Leute suchen nach einem interaktiven Bildschirm. Dies ist eine einfache Möglichkeit, dies zu tun.
Ich benutze Send-Keys, damit er den Befehl in die Shell "tippt". Hier ist meins get.all
Skript, das viele Befehle auslöst, von denen einige möglicherweise interagieren müssen, nachdem sie fertig sind (und die ich nicht habe, habe ich exit
):
#!/bin/sh
tmux att -t get ||
tmux \
new -s get -n emacs \; \
send-keys 'get.emacs' C-m \; \
neww -n git \; \
send-keys 'get.git' C-m \; \
neww -n mini \; \
send-keys 'get.mini' C-m \; \
neww -n port \; \
send-keys 'get.port' C-m \; \
neww -n rakudo \; \
send-keys 'get.rakudo' C-m \; \
neww -n neil \; \
send-keys 'get.neil && get.neil2 && exit' C-m \; \
neww -n red \; \
send-keys 'get.red && exit' C-m \; \
neww -n cpan \; \
send-keys 'get.cpan && exit' C-m \; \
selectw -t emacs
Guten Kommentar von @JO so zu einer separaten Antwort bewegen.
Dieser Befehl fällt einmal zum ersten Mal auf Shell ab ls -la
Oberflächen:
tmux new-window "/bin/sh -c 'ls -la; exec bash'"