tmux
Tessera habla el modo control de tmux (tmux -CC) de forma nativa: las
ventanas y los paneles son elementos de interfaz de primera clase, no un
passthrough de texto. Requiere tmux instalado en el servidor.
Por qué tmux
Con una sesión respaldada por tmux, el shell vive en el servidor. Cierra Tessera, pierde el wifi, cambia a datos móviles, duerme el dispositivo: nada de eso mata tu trabajo. Vuelve a conectar y estarás exactamente donde lo dejaste.
Conectarse
El modo de inicio tmux automático se conecta a (o crea) una sesión propia
del host con un nombre determinista tessera-XXXXXXXX, recordado incluso si
reinstalas la app. tmux con nombre se conecta a un nombre de sesión que
eliges tú. Ambos se definen por host en el
editor de hosts.
El nombre determinista hace que dos de tus dispositivos que usen la misma entrada de host aterricen en la misma sesión de tmux — que es lo que hace que traspasar una sesión entre ellos no tenga costuras.
Si tmux no llega a arrancar, Tessera no te deja esperando: un host sin tmux
instalado, una sesión de tmux que no consigue iniciarse o unos dotfiles que ya
hacen exec tmux al iniciar sesión te dejan en un shell simple con un aviso
que nombra el motivo («este host arranca su propio tmux al iniciar sesión: se
muestra esa sesión como un terminal simple»). Consulta
cuando una conexión se atasca.
Ventanas
Las ventanas de tmux aparecen como pestañas en la barra superior de la sesión, en orden de índice. Un botón + en la barra abre una ventana nueva; cuando hay más pestañas de las que caben, un control de desbordamiento lista todas las ventanas. Cada pestaña lleva un control de cierre, y las ventanas se pueden renombrar desde la paleta ⌘K — el nombre es común a todos los clientes conectados a la sesión.
| atajo | acción |
|---|---|
| ⌘T | ventana nueva |
| ⇧⌘W | cerrar panel / ventana |
| ⇧⌘[ / ⇧⌘] | ventana anterior / siguiente |
| ⌘1 – ⌘9 | saltar a la ventana 1–9 |
Paneles
Los paneles son paneles de tmux de verdad, gobernados a través del modo control.
| atajo | acción |
|---|---|
| ⌘D | dividir lado a lado |
| ⇧⌘D | dividir apilados |
| ⌘[ / ⌘] | recorrer los paneles |
| ⇧⌘↩ | ampliar / reducir el panel |
En el iPhone
Conectarse desde un iPhone nunca recompone tu disposición: las divisiones y el estado de zoom se quedan como los dejó la pantalla más grande, y el teléfono muestra un panel cada vez a través del selector. Consulta tessera en el iPhone.
Mosh + tmux
Con mosh, el terminal va sobre UDP mientras las pestañas de tmux usan un segundo canal lateral SSH. Ese canal lateral es también el que lleva el reenvío de puertos en los hosts con mosh — y el historial real.
Campanas
El cableado del modo control de tmux es lo que permite a Tessera encaminar las campanas del terminal a las notificaciones — por ventana, y marcando la pestaña que la emitió.
Detalles a tener en cuenta
- Las variables de entorno y los fragmentos de inicio solo se ejecutan cuando
arranca la sesión de tmux. Después de cambiarlos, cierra la sesión en el
servidor (
tmux kill-session) para aplicar los cambios. - Conectarse desde Tessera y desde otro cliente a la vez funciona, pero ambos clientes comparten las mismas ventanas — eso es tmux, no un error. Cuando el otro cliente es tu propio iPhone o iPad, Tessera gestiona la disputa con educación — consulta recuperar el control.
- Si la salida parece atascada tras redibujados intensos, ⌘R (iPad) fuerza un repintado completo. Y si alguna vez una sesión se conecta sin pintar nada, Tessera lo dice («pulsa cualquier tecla para despertarla») — tu primera pulsación levanta la pantalla.