Salir de la sesión tmux externa al detectar anidados

Salir de la sesión tmux externa al detectar anidados

Utilizo ssh para conectarme al servidor remoto. En una máquina local y remota, tmux se inicia automáticamente al iniciar bash.

¿Hay alguna manera de desconectar tmux en la máquina local antes de iniciar la sesión de tmux en el control remoto?

Actualizar

No todas mis máquinas remotas inician tmux. Necesito el truco solo para los que comenzaron, es decir, me gustaría guardar la sesión tmux en la máquina local si la remota no inicia una.

Respuesta1

Podrías crear un script que use detach -E para desconectar y ejecutar ssh, algo como:

#!/bin/sh

if [ -n "$TMUX" ]; do
   tmux detach -E "ssh \"$@\""
else
   ssh "$@"
fi

Puede ejecutarlo directamente o asignarle un alias a ssh.

Tenga en cuenta que esto no funcionará si desea pasar argumentos de bandera a ssh.

información relacionada