viernes, 4 de noviembre de 2011

Usar tmux para obtener mas flexibilidad en consola

Tmux viene de "terminal multiplexor".

¿Para qué sirve?
Pues muy sencillo, nos sirve para abrir varias sesiones de shell en una misma sesión de consola.

¿Como lo hace?
El usuario puede partir la pantalla por la mitad vertical u horizontalmente, y a su vez esas nuevas pantallas se pueden dividir de igual forma.

En cada "ventana" está corriendo una shell diferente y por tanto pueden correr aplicaciones simultáneamente en cada una de ellas.

Un uso que le puedes dar es, por ejemplo para navegar buscando cosas en la web y al mismo tiempo estás creando un archivo de texto o moviendo carpetas... o yo que sé... jejeje

Así que podrías partir la ventana por la mitad verticalmente, y usar la pantalla de la izquierda para navegar, la derecha superior para escribir un script y tener libre la inferior derecha para lo que sea.

Ejemplo:

Esto a lo mejor no lo veis muy útil si estáis trabajando en un entorno de ventanas (aunque nos ahorraríamos tener muchas ventanas abiertas) pero nos puede servir enormemente si estamos en un entorno sin ventanas, como puede ser una tty.

Bien, si os está convenciendo y queréis probarlo podéis instalarlo así:

scorpyo@pc-cito:~$ sudo apt-get install tmux

Para saber más sobre el podéis acudir al manual:

scorpyo@pc-cito:~$ man tmux

Y aquí os dejo una chuletilla que me pasó hace tiempo mi amigo pipe de "tuxapuntes" de como hacer algunas cosas con él:


Ctrl+b p    Ir a la ventana anterior
Ctrl+b &    Matar la ventana actual, incluye todos los paneles
Ctrl+b x    Matar panel actual
Ctrl+b ,    cambiar el nombre de la ventana actual
Ctrl+b %    Dividir verticalmente la ventana actual en dos paneles
Ctrl+b "    Dividir horizontalmente la ventana actual en dos paneles
Ctrl+b q    Mostrar brevemente los números de cada panel
Ctrl+b o    Cambiar al siguiente panel
Ctrl+b ?    Lista todas las combinaciones de teclas de control
Ctrl+b w    Lista todas las ventanas
Ctrl+b núm    Moverse a la ventana seleccionada (0-9). No al panel!
Ctrl+b up    Ir al panel de encima
Ctrl+b down    Ir al panel de abajo
Ctrl+b left    Ir al panel de la izquierda
Ctrl+b right    Ir al panel de la derecha
Ctrl+b t    Muestra en el panel un reloj digital
Ctrl+b s    Elegir sesión
Ctrl+b [    Entra en modo scroll con la teclas del cursor. Termina pulsando q
Espero que os sea de utilidad.

Un saludo.

2 comentarios:

  1. Buenas!! Tengo una consulta. Estoy usando TMUX para correr 3 procesos en 1 pantalla compartida. Los procesos corren OK, pero tengo un problema con 2 de ellos (levantarEngine.sh y levantarEngine2.sh), ya que terminan de ejecutrarse y desaparecen las lineas de la cosola. Yo necesito forzar a que se queden ahi y las pueda visualizar, para ello utilice "Set remain on exit on" pero no hay caso. Alguien me puede ayudar? Gracias.

    Les muestro el script:

    #!/bin/sh

    tmux new-session -d '/home/document/apache-activemq-5.1.0_Engine3_Batch/bin/activemq'
    tmux set set-remain-on-exit on
    tmux split-window -v '/home/document/work/sip/edel/sip-integration/_Engine23/consumer/"levantarEngine.sh"'
    tmux split-window -h '/home/document/work/sip/edel/sip-integration/_Engine23/consumer/"levantarEngine2.sh"'
    tmux attach-session -r
    tmux break-pane -t

    ResponderEliminar
  2. Anónimo, ya veo que si que le intentas sacar más provecho que yo a tmux, pero me temo que no puedo ayudarte, más que nada porque se ve que sabes mucho más que yo en este aspecto.

    Un saludo.

    ResponderEliminar