Tmux: come rendere nuovo soggiorno finestra quando si chiude avviare shell di comando?

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

  •  24-10-2019
  •  | 
  •  

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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top