2012-01-12 7 views
10

Me pregunto si puedo configurar un panel en tmux para que aparezca en todas las ventanas.Mostrar panel en todas las ventanas en tmux

¿Alguna sugerencia de cómo hacer eso?

+0

Había un hilo relacionado en la [lista de correo] (https://lists.sourceforge.net/lists/listinfo/tmux-users) hace un tiempo: [ “No, no puede, los paneles deben estar en una sola ventana. "] (http://thread.gmane.org/gmane.comp.terminal-emulators.tmux.user/2490/focus=2491). –

Respuesta

3

no, no puede configurar un panel para vincularlo a cada ventana en un sentido tradicional, pero puede usar la funcionalidad link-window de tmux para lograr gran parte de este efecto. envuélvalo en un script o archivo de sesión de tmux para vincularlo a muchas ventanas a la vez.

** editar

también tendrá que utilizar la función de join-pane.

3

Por supuesto, esto es posible, pero tendría que ejecutar tmux dentro de un panel tmux.

+-------------+-------------+ 
| tmux pane 1 | tmux pane 2 | 
|    |    | 
|    |+-----------+| 
|    || new tmux || 
|    || session || 
|    |+-----------+| 
+-------------+-------------+ 

Cómo hacerlo:

  1. iniciar nueva sesión tmux
  2. panel dividido
  3. unset TMUX en el panel 2 # esto permite tmux en tmux
  4. Iniciar nueva sesión tmux en el panel
  5. repetir 1-3
  6. ejecutar tmux attach -t <target-session> # esto es abre la sesión compartida

Esto no funciona tan fácilmente si está ejecutando contenedores para tmux, tal como vienen con oh-my-zsh o tmuxinator. Y probablemente haya muchas razones por las que no deberías hacerlo, simplemente no conozco a ninguna de ellas.

+0

Esta es la respuesta que mejor se adapta a mis necesidades. Sin embargo, tiene un inconveniente: si matas el servidor que tiene la "sesión de tmux adjunta dentro de tmux", también mata las sesiones adjuntas :( – Werner

+0

@Werner Killing the server mata todas las sesiones de tmux, adjuntas y separadas. –

+0

I no estaba matando a los servidores tmux, sino a las sesiones con paneles adjuntos como usted indicó. Las sesiones de paneles adjuntos dentro de la sesión que se mata matarían sus propias sesiones. – Werner

2

He aquí una forma de hacerlo, pero los paneles duplicados serán de solo lectura. Está el comando pipe-pane que envía la salida del panel a un comando. Puede hacer que ese comando escriba la salida en un archivo y luego desde los paneles que desea duplicar, puede tail -f ese archivo. Ejemplo:

# In source pane 
tmux pipe-pane 'cat > /tmp/asdf' 

# In the target pane (or another tmux session or terminal window) 
tail -f /tmp/asdf 
+0

Amigo, esta es, de lejos, la mejor solución que he visto. Al agregar 'clear' antes de las colas, por ejemplo' clear && tail -f/tmp/asdf', mejoró su respuesta. – Werner

Cuestiones relacionadas