Chtěl bych tmux
vytvořit nové okno, když ssh na počítač z existující relace tmux. Nechci však, aby se na novém počítači spustila relace tmux!
Ve svém .bashrc
mám následující , takže tmux
automaticky se spustí:
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
Mám také ssh
funkce:
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
}
Funguje to dobře, ale nechci, aby se relace tmux spustila na počítači, na který jsem ssh, protože mi to dává 2 relace ve stejném okně terminálu. Je něco, co mohu vložit do svého .bashrc
? aby se tmux nespustil na počítači, pokud byl příkaz ssh vyvolán z relace tmux?
Používám PuTTY a tmux 1.5.
Přijatá odpověď:
Pokud spouštíte ssh z prostředí tmux, budete mít podle kódu, který jste zveřejnili, $TERM
=screen
, takže se nebudete pokoušet připojit k oknu tmux. Jinými slovy, kód, který již máte, by měl fungovat podle potřeby. Děje se něco podezřelého. Ujistěte se, že vaše tečkové soubory nekazí TERM
proměnná (pokud potřebujete upravit TERM
, což je velmi vzácné, ujistěte se, že to děláte pouze za velmi specifických okolností; zejména jej neměňte, pokud je to screen
).