TMUX: Wie kann man ein neues Fenster machen, wenn Start-Shell-Command beendet wird?

StackOverflow https://stackoverflow.com/questions/5311583

  •  24-10-2019
  •  | 
  •  

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?

War es hilfreich?

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'"

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top