4Trabes Historias de una empresa en 100 metros cuadrados

El blog de Trabe Soluciones

Every day tmux

| | Comentarios

Este post está dirigido a aquellos desarrolladores que de vez en cuando tienen que lanzar procesos largos en máquinas remotas y que desconocen tmux (o cualquier otro tipo de multiplexador de terminal).

Lo que nos interesa de tmux es la posibilidad de iniciar una sesión de shell y desconectarnos (detach) de ella para volver a recuperarla más adelante. Por ejemplo: abrir una sesión SSH, lanzar un proceso largo dentro de tmux y cerrar la conexión para, más adelante, volver a conectarnos y recuperar la sesión. Es habitual que las conexiones SSH tengan timeouts y si no estamos atentos, se cierren matando nuestros procesos y alterando nuestra presión arterial. ¡tmux al rescate!.

Un ejemplo de sesión de trabajo usando tmux podría ser así:

david@localhost $ ssh david@remotehost
david@remotehost $ tmux new-session -s big_work
david@remotehost (tmux) $ ./launch_big_work.sh
Starting BIG work. ETA 4h
# detach pulsando en el teclado [C-b] d
[detached]
david@remotehost $ exit
logout
Connection to remotehost closed.
david@localhost $

# 4 horas después...
david@localhost $ ssh david@remotehost
david@remotehost $ tmux attach -t big_work
Starting BIG work. ETA 4h.
Work done. Yay!
david@remotehost (tmux) $ exit
david@remotehost $ exit
logout
Connection to remotehost closed.
david@localhost $

No hay nada especial que hacer, solo tener instalado tmux en la máquina remota y fijarse en que la combinación de teclas para hacer detach es Ctrl+b y después d, que parece lo mismo que Ctrl+b+d pero no lo es :D

Es super práctico y no cuesta nada recordarlo. Merece la pena :)

Para ir un paso más allá, podéis tener en vuestras máquinas remotas unos alias para facilitar la gestión de sesiones. En mi caso me gusta usar estos (que son los que también uso en mi máquina local):

tmn='tmux new-session -s'
tma='tmux -2 attach -t'
tmk='tmux kill-session -t'
tml='tmux list-sessions'

Espero que os sea de ayuda. Probadlo. Os gustará :)

Material de nuestras charlas en las XIII Xornadas Libres

| | Comentarios

Hemos dejado colgadas las transparencias de nuestras charlas en las XIII Xornadas Libres organizadas por el GPUL. La conferencia de Thymeleaf está a punto de comenzar mientras escribo este post, la charla de Javascript, comenzará dos horas más tarde, así que llegamos a tiempo por si alguien quiere seguir el material desde su portatil :).

Esperamos que os parezcan unas charlas interesantes. Nos vemos en la FIC.

Charlas de Trabe en las XIII Xornadas Libres

| | Comentarios

Entre el 8 y el 10 de Octubre se celebran en A Coruña las XIII Xornadas Libres organizadas por el GPUL, en las que Trabe va participar con dos charlas: Marcos impartirá “Thymeleaf 101”, una introducción a Thymeleaf, un motor de natural templating Java del que somos early adopters y que está atrapando el interés de la comunidad Spring; Asís y yo, impartiremos “JS: del espagueti a la lasaña, paso a paso”, en la que intentaremos ayudar en lo que podamos a que podáis racionalizar vuestro código JavaScript.

La inscripción a las jornadas es gratuita y ya está abierta. Si estáis interesados, inscribíos, las plazas son limitadas.

Nos vemos en las jornadas :)