
.zshrc
tmux
まだ実行されていない限り、ログイン時に自動的に起動するように接続するすべてのホストに自分のユーザーアカウントを設定しました。
if [ -z "$TMUX" ]; then tmux attach -d || tmux new fi
ローカルホストのtmuxセッションからリモートホストのマイアカウントにssh(またはmosh)するまでは正常に動作しました。マクロがローカルホストからリモートホストに渡されないため、$TMUX
tmuxはリモートホストで開始され、2つのネストされたtmuxセッションがあります。
自動起動動作を維持しながらこれを防ぐ方法はありますか?理想的には、リモートシェルが接続しているホストのtmuxセッションで開始されたことを知っていて、2番目のtmuxインスタンスを起動しないことを願っています。
$TERM
リモートシェルを確認しましたが、xterm-256color
ローカルコンピュータのtmuxセッションで実行されているかどうかにかかわらず、常にこれを行います。
答え1
@mark-plotnickのコメントのおかげで、私に合った解決策があるようです。
リモートホストで/etc/ssh/sshd_configに追加します。
AcceptEnv TMUX
localhost から ~/.ssh/config に追加します。
Host * SendEnv TMUX
env変数の値は$TMUX
リモートホストに送信され、tmux
値がnullでない場合は開始されなくなりました。
サーバー側の変更は気にしませんが、すべてのクライアントを編集する必要はないため、~/.ssh/config
他の提案も受け入れることができます。