Me gustaría tmux
para crear una nueva ventana cuando entro en una máquina desde una sesión tmux existente. Sin embargo, ¡no quiero que se inicie una sesión de tmux en la nueva máquina!
Tengo lo siguiente en mi .bashrc
, de modo que tmux
se inicia automáticamente:
if [[ "$TERM" != "screen" ]]
then
# try to attach to existing session, or start a new one
tmux attach-session -t "$USER" || tmux -2 new-session -s "$USER"
exit
fi
También tengo un ssh
función:
alias ssh='ssh_func'
ssh_func (){
if [[ "$TERM" == "screen" ]]; then
tmux new-window -n "$1" "ssh [email protected]";
else
/usr/bin/ssh "[email protected]";
fi
}
Esto funciona bien, pero no quiero que se inicie una sesión tmux en la máquina a la que ssh, porque esto me da 2 sesiones en la misma ventana de terminal. ¿Hay algo que pueda poner en mi .bashrc
? para que tmux no se inicie en una máquina si el comando ssh se ha invocado desde una sesión de tmux?
Estoy usando PuTTY y tmux 1.5.
Respuesta aceptada:
Dado el código que ha publicado, si ejecuta ssh desde tmux, tendrá $TERM
=screen
, por lo que no intentará conectarse a una ventana tmux. En otras palabras, el código que ya tiene debería funcionar como se desea. Algo raro está pasando. Asegúrese de que sus archivos de puntos no arruinen el TERM
variable (si necesita modificar TERM
, que es muy raro, asegúrate de hacerlo solo en circunstancias muy específicas; en particular, no lo cambies si es screen
).