17 puntos por GN⁺ 2025-08-04 | Aún no hay comentarios. | Compartir por WhatsApp
  • Usó tmux durante mucho tiempo, pero recientemente empezó a cuestionar su complejidad y sus límites (compatibilidad de colores, scrollback, copia con mouse, falta de soporte para protocolos, etc.)
  • Funciones principales de tmux como la persistencia de sesión (detach/attach) o la división y administración de ventanas no necesariamente requieren tmux
  • Aprovechando herramientas ligeras con filosofía Unix como dtach, abduco y shpool, es posible enfocarse solo en la gestión de sesiones y al mismo tiempo conservar el scrollback nativo y la simplicidad
  • En particular, con la combinación de shpool + ssh se puede construir un entorno donde varias sesiones remotas se administran directamente con el gestor de ventanas, manteniendo funciones nativas como notificaciones, scroll, títulos, etc.
  • No es perfecto, pero según su experiencia pudo reemplazar por completo tmux y quedó satisfecho con un flujo de trabajo simple y fácil de mantener

Ventajas y desventajas de tmux

  • Funciones que antes ofrecía tmux, como la persistencia de sesión (detach/attach) y la gestión de ventanas (pestañas, split), eran el núcleo de su flujo de trabajo
  • Sin embargo, la complejidad aumenta por problemas como el renderizado de colores si no se configura correctamente TERM, y la necesidad de considerar la interacción entre la terminal y tmux
  • El uso del búfer de scroll también exige acostumbrarse al método propio de tmux, y copiar áreas con el mouse resultaba incómodo en un entorno con splits
  • También existen problemas de soporte insuficiente para nuevas funciones de terminal, como kitty graphics protocol, y falta de compatibilidad con protocolos experimentales
  • Además, hay críticas de que los multiplexores, al reinterpretar códigos de escape duplicados y añadir conceptos de sesión/ventana, frenan la evolución del ecosistema de terminales

Explorando alternativas a tmux

  • Persistencia de sesión:
    • Hay opciones simples como ctrl-z + fg, nohup o disown, pero es difícil que reemplacen todo por completo
    • Han aparecido varias herramientas cuyo objetivo es solo mantener la sesión (dtach, abduco, shpool)
      • Conectan daemon y cliente mediante una combinación de fork() y sockets UNIX
      • A diferencia de tmux, permiten scrollback nativo sin splits virtuales, y algunas también ofrecen restauración de búfer
    • Según su experiencia, la mayoría de las alternativas tienen bugs y una madurez limitada, por ejemplo cuando la combinación de teclas para detach no funciona dentro de nvim
    • Solo shpool le pareció la opción más sólida en cuanto a comandos de detach/attach y personalización de keymaps
  • Gestión de ventanas:
    • En local, administra divisiones y disposición con el gestor de ventanas
    • Incluso en entornos remotos (SSH), combinando ssh_config y shpool se pueden mantener varias sesiones independientes en ventanas separadas
    • Al combinarlo con autossh, la sesión se conserva incluso en entornos con reconexión de red

Nuevo flujo de trabajo

  • Personalmente usa ghostty (laptop) y sway+foot (PC personal) para gestionar ventanas. El servidor corre en una VM headless basada en Proxmox, manteniendo siempre un entorno de desarrollo por SSH
  • Varias sesiones de shpool se conectan automáticamente con atajos ssh y se controlan de forma independiente desde el gestor de ventanas local
    • En ssh_config, automatiza el attach a sesiones de shpool según cada host
    • Desde cada terminal puede acceder por separado a IRC, administración de dotfiles y un entorno distinto de neovim, entre otras sesiones múltiples con acceso individual
  • Funciones como scroll nativo, notificaciones y títulos de terminal, que tmux soportaba de forma inestable, ahora funcionan de manera más natural
  • También hay desventajas: al reconectarse a vim, la restauración del estado de la terminal puede tardar, y con nvim hay problemas de redimensionamiento
    • No hay soporte multijugador (si autossh se activa al mismo tiempo desde varios clientes, se producen conflictos de sesión)
  • Aun así, según su criterio personal, logró reemplazar tmux por completo

Conclusión

  • No es exactamente lo mismo, pero es posible pasar a un flujo de trabajo de gestión de sesiones simple y flexible, dejando atrás la complejidad y las limitaciones de tmux
  • Dependiendo del flujo de trabajo de cada quien, vale la pena considerar herramientas alternativas como shpool

Aún no hay comentarios.

Aún no hay comentarios.