TMUX: ¿Cómo hacer una nueva ventana que se quede cuando comience el comando de shell?

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

  •  24-10-2019
  •  | 
  •  

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?

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top