Tmux: come rendere nuovo soggiorno finestra quando si chiude avviare shell di comando?
Domanda
In tmux modalità di comando, il seguente crea nuova finestra e si apre all'interno vim:
:new-window vim
Quando si esce da Vim, la finestra è chiuso. C'è un modo per farlo rimanere?
Soluzione
tmux
ha un'opzione per questo: remain-on-exit
:
tmux set remain-on-exit on
Altri suggerimenti
Mi rendo conto che questa è una domanda morto da tempo. Ma io sono una recente utente di tmux e ho avuto la stessa domanda. Si scopre che si potrebbe desiderare di fare questo:
tmux new-session bash -l
Che si ottiene una finestra bash (shell di login). Quindi, eseguire qualunque comandi che si desidera. Quando hanno finito, tornano a un prompt dei comandi, come ci si aspetta. Penso che un sacco di persone sono alla ricerca di uno screen' simile interattivo' comportamento. Questo è un modo semplice per farlo.
Io uso send-chiavi in ??modo che "tipi" il comando nella shell. Ecco il mio script get.all
, il quale avvia molti comandi, alcuni dei quali posso avere bisogno di interagire con dopo che sono fatto (e quelli che non lo fanno, hanno 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
Moving buon commento di @Jo Quindi, per una risposta separata.
Questo comando scende a guscio una volta che i primi finiture ls -la
:
tmux new-window "/bin/sh -c 'ls -la; exec bash'"