No hace mucho, en un post estuvimos hablando de los mejores emuladores de terminal que había hoy en día para nuestra distribución de Linux. Varios de ellos incorporaban pestañas o paneles como características especiales que las hacían distinguirse de otras terminales más convencionales.

Hoy, quiero presentaros a tmux, un programa que dotará de funciones extra a cualquier emulador de terminal que estemos usando. Estas funciones incluyen entre otras, pestañas, paneles, poder administrar diferentes sesiones en una misma ventana, trabajo cooperativo vía SSH… Vamos, que es como darle superpoderes a nuestra amiguita. Y lo mejor de todo, es totalmente personalizable, podremos editar su configuración en ~/.tmux.conf para nuestro usuario.

Cómo instalar tmux

tmux

Podremos encontrar este fantástico programa en los repositorios oficiales de nuestras distribuciones Linux favoritas.

$ sudo apt-get install tmux (para Ubuntu)
$ sudo pacman -S tmux       (para Arch Linux)
$ sudo yum install tmux     (para Fedora)


Una vez instalado podremos iniciarlo escribiendo tmux en nuestro emulador de terminal favorito. Veremos que aparecerá una línea de color verde en la parte inferior de nuestra terminal. En ella, aparecerá un [0], que indica que estamos en la sesión 0 (la numeración empieza de 0 hacia arriba). A su derecha, veremos las pestañas (tmux los llama ventanas, pero se ven como pestañas).

Cómo usar tmux

tmux

Este fantástico programa, tiene diferentes atajos de teclado para realizar distintas operaciones. Os dejo la mayoría de ellas detalladas en el siguiente enlace que he encontrado buscando en Internet. Nosotros ahora veremos unos cuantos comandos para realizar las funciones más comunes.

Lo primero que tenemos que saber es el comando básico a través del cual se ejecutarán las demás ordenes. Dicho comando es la combinación de teclas ctrl+b. Una vez pulsada esa combinación podremos ejecutar diferentes acciones como por ejemplo, añadir un panel vertical pulsando % u horizontal pulsando ". Podremos crear nuevas pestañas (ventanas según tmux) con c, darles un nombre con ,, movernos por ellas con n o p y cerrarlas con x.

Pero mi característica favorita es poder ejecutar un comando y ser capaces de salirnos de la terminal para ejecutar otra tarea. Esto es fantástico si estamos administrando un servidor, ya que solo tenemos una terminal. Para ello, qué mejor que poner un ejemplo práctico. Supongamos que estamos haciendo alguna tarea de copia de seguridad o simplemente actualizando el sistema. Si pulsamos después de ctrl+b la tecla d, dejaremos la sesión (el comando seguirá ejecutándose en segundo plano) y podremos iniciar otra sesión diferente. Podremos retomar la sesión con tmux a y si esto lo hacemos vía SSH en el PC de otra persona, si esa persona entra a la sesión seréis capaces de usar colaborativamente la terminal, al más puro estilo Google Docs.