tmux, reconectarse a sesiones terminadas, compartir, y multiplexar sesiones
|
tmux es una utilidad muy muy interesante en el mundo Linux. Para mí, lo más importante es poder capturar una sesión de terminal que ha terminado, quizás, por un corte de red (sin tmux, nuestra sesión habría muerto, y no todo se puede lanzar con nohup y & para que perdure en background). Pero además, tmux también permite el trabajo cooperativo, dos o más personas conectadas a la misma sesión de terminal, permitiendo trabajar juntos (un poco a lo Google Docs). Hay más cosas, como poder partir nuestra ventana (ej: split vertical u horizontal, para tener dos terminales). Muy útil, y disponible desde tu Raspberry, hasta en tu mega pedazo servidor RedHat, CentoOS, Ubuntu, o lo que más te guste. ¿A qué esperas para instalarlo? |
Te conectas por SSH a un Linux, ejecutas tmux, y entras en una terminal un poco peculiar, con una barra inferior verde, y entonces, empieza la magia. La combinación de teclas mágica es Ctrl-b, que te permitirá realizar varias acciones interesantes. Por ejemplo, abres otra sesión SSH con el mismo usuario, ejecutas tmux, pulsas Ctrl-b seguido de la tecla s, y capturas la sesión 0. Con esto, tienes los dos terminales compartiendo la misma sesión. Trabajo colaborativo a lo Google Docs.
Esto es un punto. Es algo que en muchas ocasiones nos puede ser de mucha ayuda. Pero la magia no acaba aquí. Si pierdes la conexión con te sesión (ej: corte de red o quizás tú portátil se reinició o se hibernó), en condiciones normales, tu sesión habrá muerto. Con tmux esto no es así, podrás abrir otra sesión SSH, y con tmux capturar tu antigua sesión (Ctrl-b + s), como se haría con RDP. Esto no está pagao. Estar en mitad de una intervención larga fuera de horario, realizando tareas interactivas que no puedes lanzar en segunda plano con nohup y & (para garantizar que no mueren con tu sesión en caso de un corte de red), y tener la tranquilidad que ante un corte de red no te vas a quedar tirado, para mi es algo que aporta mucho valor.
También podrás lanzar una tarea costosa, pulsar Ctrl-b + d para salir de la sesión (que seguirá corriendo en segundo plano), y más tarde capturar la sesión para continuar tu trabajo, hacer algún chequeo, etc. Esto también mola.
A partir de aquí, hay más cositas que se pueden hacer, para mí secundarias, aunque es cuestión de gustos y de las necesidades de cada uno y/o de cada momento. Por ejemplo,
- Pulsando Ctrl-b + % se puede hacer un Split vertical en dos paneles.
- Pulsando Ctrl-b + " un Split horizontal.
- Pulsando Ctrl-b + <arrow key> podemos cambiar de panel, así como cambiar el tamaño del panel actual.
- Pulsando Ctrl-b + { ó Ctrl-b + } podemos intercambiar los paneles.
- Pulsando Ctrl-b + z convertimos a pantalla completa el panel actual, y pulsando de nuevo Ctrl-b salivo de pantalla completa.
- Pulsando Ctrl-b + [ entramos en modo scroll, para poder movernos por todo el buffer de la pantalla con los cursores, hasta que pulsemos q para salir del modo scroll.
- Puldando Ctrl-b + c podemos abrir (crear) una nueva ventana.
Y como esto, hay más cosas que podemos hacer.
También tenemos muchas opciones desde línea de comandos, como por ejemplo:
- tmux ls lista las sesiones existentes
- tmux attach -t 0 nos conectará directamente con la sesión 0
- tmux new -s postgres nos creará una nueva sesión, que identificaremos con el nombre amigable postgres, en lugar de simplemente con un número.
- tmux attach -t postgres nos conectará directamente con la sesión llamada postgres
Y ahora viene la siguiente pregunta. Quiero tener tmux ya. ¿Qué tengo que hacer? Pues nada, tiras de apt-get, yum install, o el gestor de repos de tu distro, y ya lo tienes. Lo normal, un sudo apt-get install tmux, o un sudo yum install tmux, y a disfrutar. Lo quiero, lo tengo.
Poco más por hoy. Como siempre, confío que la lectura resulte de interés.
|
]
[Autor: GuilleSQL]
|
|
|