TMUX: ¿Cómo hacer una nueva ventana que se quede cuando comience el comando de shell?
Pregunta
En el modo de comando TMUX, lo siguiente crea una nueva ventana y abre VIM dentro:
:new-window vim
Cuando dejas de Vim, la ventana también está cerrada. ¿Hay alguna manera de que se quede?
Solución
tmux
tiene una opción para esto: remain-on-exit
:
tmux set remain-on-exit on
Otros consejos
Me doy cuenta de que esta es una pregunta larga y muerta. Pero soy un usuario reciente de TMUX y tenía esta misma pregunta. Resulta que es posible que desee hacer esto:
tmux new-session bash -l
Eso te consigue una ventana de Bash (shell de inicio de sesión). Luego, ejecute los comandos que desee. Cuando terminen, vuelven a un símbolo del sistema, como esperas. Creo que mucha gente está buscando un comportamiento interactivo de 'pantalla'. Esta es una manera fácil de hacerlo.
Utilizo las teclas de envío para que "escriba" el comando en el shell. Aquí está mi get.all
script, que dispara muchos comandos, algunos de los cuales necesitan interactuar después de que hayan terminado (y los que no tengo, tengo, tengo 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
Moviendo un buen comentario de @jo para una respuesta separada.
Este comando cae al shell una vez que el primero ls -la
acabados:
tmux new-window "/bin/sh -c 'ls -la; exec bash'"