Sin embargo, con un programa como TMUX, esta sobrecarga de energía y tiempo del desarrollador se elimina por completo. Además, con TMUX, no solo puede trabajar con múltiples máquinas y múltiples entornos al mismo tiempo, sino que también puede cambiar rápidamente entre ellas. Por lo tanto, aprender a manejar mejor las sesiones de TMUX puede potencialmente aumentar su productividad y su capacidad para trabajar.
Listado de sesiones TMUX
Para mostrar una lista de todas las sesiones de TMUX que se ejecutan actualmente en una máquina, el comando TMUX LS se usa en el terminal, como se muestra a continuación:
La información dada por el comando TMUX LS aparece en el siguiente orden:
Si una máquina no tiene ninguna sesión de TMUX que se ejecute cuando se ejecuta el comando TMUX LS, se muestra la siguiente salida:
Renombrar sesiones de TMUX
Al igual que muchas otras operaciones para TMUX, el cambio de nombre de una sesión en TMUX se puede hacer de una de dos maneras. La primera forma de cambiar el nombre de una sesión en TMUX es hacerlo desde fuera de la sesión, en la terminal. Use el siguiente comando para cambiar el nombre de una sesión:
$ tmux renombre -session -t
Por ejemplo, en la captura de pantalla a continuación, una sesión de TMUX se está ejecutando actualmente, llamada WebDev, que queremos cambiar el nombre como el sitio web1.
Si la operación de cambio de nombre es exitosa, el comando no produce nada y podemos verificar el nuevo nombre de la sesión a través de $ TMUX LS como se muestra:
La segunda forma de cambiar el nombre de una sesión de TMUX es de la sesión. Similar al ejemplo anterior, cambiaremos el nombre de la siguiente sesión de WebDev al sitio web1:
La combinación de clave Prefijo, $ se usa para lograr eso. Por ejemplo, en mi instalación de Ubuntu, esta combinación de claves sería Ctrl + B, $.
El resultado se muestra en la captura de pantalla. Como puede ver, la sesión ahora se llama Sitio web1 en la esquina inferior izquierda de TMUX:
Creando una nueva sesión de TMUX con un nombre
Del mismo modo, si necesita crear una sesión de TMUX con un nombre de antemano, en lugar de renombrarla más tarde, puede usar la siguiente sintaxis para el nuevo comando TMUX:
$ tmux nuevo -s
Por ejemplo, si desea crear otra sesión en la que esté configurando otro servidor remoto para el uso de VPN, puede crear una sesión TMUX llamada VPNServer utilizando el siguiente comando:
$ tmux new -s vpnserver
Esta nueva sesión de TMUX se muestra a continuación:
Adjuntar a las sesiones de TMUX
Cuando desea adjuntar su terminal a una sesión de TMUX que ejecuta actualmente, el comando para usar es:
$ tmux adjunto -t
Por ejemplo, si desea continuar su trabajo en la sesión del sitio web1 y actualmente su terminal no está adjunto a esa sesión específica de TMUX, ejecuta el siguiente comando:
$ tmux adjunto -t sitio web1
Para obtener una lista de sesiones a las que puede adjuntar, use el comando LS como se muestra en una sección anterior.
Separarse de las sesiones de TMUX
Separarse de TMUX requiere usar el comando Prefijo + D. Por ejemplo, en mi instalación de Ubuntu, el comando de prefijo es Ctrl + B, por lo que para separarse de la sesión de ejecución actualmente, necesito presionar CTRL + B y luego presionar D para separarse. Una vez que haya separado su terminal de la sesión de TMUX, la sesión todavía se está ejecutando. Esto significa que cualquier proceso que haya dejado en ejecución en la sesión, como HTOP, una descarga de archivo a través de Curl o cualquier comando de lotes, continuará ejecutándose hasta que se complete.
Esta función de TMUX funciona bien para servidores remotos donde necesita SSH para iniciar un proceso y luego dejar que se ejecute en segundo plano. A diferencia de ejecutar directamente el comando desde su terminal a través de SSH, el uso de TMUX le permite usar el comando DETACH para ejecutar cualquier proceso en segundo plano.
Matando sesiones de Tmux
Matar una sesión de Tmux lo destruye por completo. Por lo tanto, este comando debe usarse con cuidado. Este comando no es reversible y puede conducir a una pérdida de trabajo.
Similar a renombrar una sesión de TMUX, hay dos formas de matar una sesión individual. La primera forma es a través del terminal, y el segundo es de la sesión de TMUX.
Para matar una sesión de TMUX desde el terminal, use el siguiente comando:
$ tmux kill -session -t
Por ejemplo, si tengo una sesión TMUX que se ejecuta llamada VPNServer y quiero matarla a través del terminal, puedo usar el siguiente comando:
$ tmux kill -session -t vpnserver
Como se muestra a continuación, la sesión ya no está disponible y se destruye.
La segunda forma de matar una sesión de TMUX es de la sesión. Simplemente salga de todos los paneles y ventanas que se ejecutan en esa sesión y salga de la última ventana de la sesión. Esto hará que la sesión sea asesinada, tal como hubiera sido a través de la terminal. La captura de pantalla a continuación muestra una sesión de ejecución de TMUX llamada VPNServer:
Cuando adjuntamos nuestro terminal a esta sesión y salemos de todas las ventanas, la sesión se mata. Esto se puede ver en las capturas de pantalla a continuación:
Después de salir de todas las ventanas de la sesión de VPNServer, TMUX LS muestra que la sesión ha sido asesinada:
Matar todas las sesiones de TMUX en una máquina
Finalmente, si necesita matar todas las sesiones de TMUX en una máquina, puede usar el siguiente comando:
$ tmux kill-server
Como se muestra en la captura de pantalla a continuación, se están ejecutando dos sesiones de TMUX, WebDev y VPNServer. Si ejecuta el comando Kill-Server, ambas sesiones son asesinadas:
En una palabra:
Para iniciar una sesión de TMUX, use el siguiente comando:
$ tmux nuevo -s
Para separarse de la sesión actual de TMUX, use la siguiente combinación de teclas TMUX:
Ctrl + B D
Para volver a una sesión de TMUX, use el siguiente comando:
$ tmux adjunto -t
Para cambiar el nombre de una sesión de TMUX, use el siguiente comando:
$ tmux renombre -session -t
También puede cambiar el nombre de la sesión de TMUX actualmente utilizando la siguiente combinación de teclas TMUX:
Ctrl + B ,
Además, puede usar el siguiente comando para matar una sesión de TMUX:
$ tmux kill -session -t