tmux
が欲しいのですが 既存のtmuxセッションからマシンにSSH接続したときに新しいウィンドウを作成します。ただし、新しいマシンでtmuxセッションを開始したくありません!
.bashrc
に次のものがあります 、そのため tmux
自動的に起動します:
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
ssh
もあります 機能:
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
}
これは問題なく動作しますが、同じターミナルウィンドウで2つのセッションが得られるため、sshを実行するマシンでtmuxセッションを開始したくありません。 .bashrc
に入れることができるものはありますか sshコマンドがtmuxセッションから呼び出された場合に、マシン上でtmuxが起動しないようにしますか?
PuTTYとtmux1.5を使用しています。
承認された回答:
投稿したコードを前提として、tmux内からsshを実行すると、 $ TERM
が作成されます。 =画面コード> 、したがって、tmuxウィンドウに接続しようとはしません。つまり、すでに持っているコードは希望どおりに機能するはずです。何か怪しいことが起こっています。ドットファイルが
TERM
を台無しにしないようにしてください 変数( TERM
を変更する必要がある場合 、これは非常にまれですが、非常に特殊な状況でのみ実行するようにしてください。特に、 screen
の場合は変更しないでください 。