
リモート サーバーに接続するために ssh を使用します。ローカル マシンとリモート マシンでは、bash の起動時に tmux が自動的に起動します。
リモートで tmux セッションを開始する前に、ローカル マシン上の tmux をデタッチする方法はありますか?
アップデート
すべてのリモート マシンが tmux を起動するわけではありません。起動したマシンに対してのみこのトリックが必要です。つまり、リモートが tmux を起動しない場合は、ローカル マシンに tmux セッションを保存したいのです。
答え1
次のように、detach -E を使用して ssh をデタッチして実行するスクリプトを作成できます。
#!/bin/sh
if [ -n "$TMUX" ]; do
tmux detach -E "ssh \"$@\""
else
ssh "$@"
fi
直接実行することも、ssh にエイリアスすることもできます。
ただし、フラグ引数を ssh に渡す場合は、これは機能しないことに注意してください。