Debo reconocer, desde que conocí esta aplicación me he vuelto adicto a ella, me permite muchas cosas y optimizar mis tiempos, irónicamente diría que mi nivel de conocimiento del mismo es básica, por lo que vamos a aumentarla juntos
Y la verdad en mi caso particular, con poder crear nuevas ventanas y moverme entre ellas me basta y sobra, pero hay características muy útiles que no las he explotado por simple desconocimiento.
Tabla de contenidos
Empecemos por las bases que es tmux y como se organizará esta serie.
¿Que es Tmux?
Para los de huesos amarillos, o para los que llevan más tiempo en el mundillo Linux, quizás recuerden la aplicación «screen», Tmux es básicamente lo mismo, aunque actualizado. Ambas son aplicaciones para multiplexar sesiones de terminal, ¿que es multiplexar?, simplemente dividir un recurso en varias partes para poder tratar de forma independiente con cada parte, en español, con una sola ventana de terminal podremos obtener múltiples terminales adicionales e independientes entre ellas.
En lo personal, suelo utilizar muchas pestañas en mi navegador, les compartiré el listado de pestañas de uno de mis navegadores

Si bien no es la mejor de las ideas mantener tantas pestañas abiertas en la terminal si nos puede resultar útil, sobre todo cuando trabajamos a través de ssh y una conexión inestable o nos gustaría tener ciertas aplicaciones que podamos visualizar siempre que nos conectemos, más adelante veremos esto
Para la terminal, obviamente no me interesa tener 196 terminales como es el caso de mi navegador, pero si unas 2~4 cuando estoy trabajando en alguno de mis proyectos.
¿Para que? pues simple.
Supongamos este ejemplo, estoy trabajando en un script bash que filtre un log y cree un nuevo archivo, algo simple. Quizás me interese mantener en una terminal el editor de texto con el script cargado y visible para poder realizar modificaciones de inmediato o poder ir validando las distintas etapas de ejecución de mi script, en otra terminal me interesa mantener visible lo que se escriba en el log de origen y finalmente otra terminal para tener visible lo que se escriba en el log resultante. En vez de abrir esas 3 terminales diferentes, podemos manejar todo desde el teclado y una sola terminal utilizando tmux.
Ejemplos hay muchos, a lo largo de la serie iré variando para que vean distintos usos posibles, sobre todo a la hora de programar o realizar tareas de mantenimiento de servidores.
Ahora
¿Cómo se organizará esta mini serie?
Para intentar no marearlos y simplemente escupirles la información a la cara he decidido separar todos los diversos temas que me gustaría tratar desde lo que más frecuentemente utilizo a lo que menos utilizo en mi día a día, también discriminare por nivel de dificultad. Idealmente entre cada uno de los posts puedan ir practicando ya que casi todo lo que veremos serán diversas combinaciones de teclas
- Parte 0: introducción a tmux, contenido y organización de la serie
- Parte 1: Creando y moviéndonos por los paneles
- Parte 2: Un poco de belleza en nuestros paneles
- Parte 3: Muchos paneles, necesito ventanas!
- Parte 4: Personalizando las ventanas
- Parte 5: Necesito cambiar de pc, manejando las sesiones
- Parte 6: Personalizando la configuración de Tmux
Conceptos básicos
Considero que tenemos 4 conceptos básicos que son la base de todo este viaje.
Panel
Es la mínima unidad posible dentro de tmux, en español es la terminal que usaremos, donde tipearemos nuestros comandos y veremos su correspondiente salida.
Ventanas
Como imaginarán, la ventana es la agrupación de paneles, podemos tener múltiples ventanas en una sesión de tmux y cada ventana tener sus propios paneles y configuraciones de visualización.
Sesión
Lo mencione anteriormente, la sesión es un contenedor de ventanas, también almacenando alguna configuración específica de la sesión, y todas las config de sus paneles.
Resumiendo
panel = terminal
ventana = suma de paneles que contienen una terminal
sesión = suma de ventanas que contienen una suma de paneles que contienen una terminal
Ctrl+b
Si bien esta combinación de teclas no es parte «oficial» de tmux, si es parte de la configuración que viene por defecto conocida como prefix key o clave de prefijo y la utilizamos para indicarle a tmux que las siguientes teclas serán para indicar lo que queremos hacer dentro del programa, ya sea a nivel de sesión, ventana o panel. Será tan utilizado que muy probablemente será la primera combinación de teclas que se aprendan, ya que literalmente se utiliza para todos los comandos de control de tmux.
Instalación
Muchas distribuciones vienen con tmux instalado por defecto, si, así de interesante es este paquete, pero si la distro que utilizan no lo trae por defecto a continuación veremos como se puede instalar en las distintas distros
Arch
Debian y derivados
Rhel y derivados
Y con esto terminamos este primer post, si quieren sugerir algún tema pueden dejarlos en los comentarios y los leeré y veré si lo puedo incluir en las próximas entregas, o editar este mismo post
Fuentes: