Saia da sessão externa do tmux ao detectar aninhado

Saia da sessão externa do tmux ao detectar aninhado

Eu uso ssh para conectar-me ao servidor remoto. Em uma máquina local e remota, o tmux inicia automaticamente no início do bash.

Existe uma maneira de desconectar o tmux na máquina local antes de iniciar a sessão do tmux remotamente?

Atualizar

Nem todas as minhas máquinas remotas iniciam o tmux. Eu preciso do truque apenas para aqueles que começaram, ou seja, eu gostaria de salvar a sessão do tmux na máquina local se o remoto não iniciar uma.

Responder1

Você poderia criar um script que usa detach -E para desanexar e executar o ssh, algo como:

#!/bin/sh

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

Você pode executá-lo diretamente ou alias para ssh.

Observe que isso não funcionará se você quiser passar argumentos de flag para o ssh.

informação relacionada