使用中のtmuxセッションを終了せずにsshセッションを終了したい場合がよくあります。これを行うには、次のコマンドを実行する必要があります。
tmux detach
exit
またはCtrl+B D
ショートカットを使用してくださいexit
。
これを単一のコマンドで単純化する方法はありますか?エイリアスを試しましたが、tmuxセッション内で両方のコマンドを実行しているようです。
答え1
あなたはそれを使用することができますtmux detach -P
。
または~.シャットダウンsshを使用します(これを行うとttyが消え、tmuxが切り離されます)。
答え2
自動的に切断されるのではなく、接続を変更します。tmux attach
これら2つの手順を組み合わせると、現在SSHを使用して接続して実行しているようです。
ssh -t user@host tmux attach
tmux
SSH セッションは初期シェルではなく接続されたプロセスの寿命に関連付けられており、切断するとtmux
SSH 接続は自動的に閉じます。
答え3
設定がそうでない場合またおかしい、そうかもしれないSSH接続の終了とEnter ~ .(すべての個々のキー)。セッションはtmux
分離する必要があります(他のSSH切断と同様)。
答え4
SSH接続で自動的にtmuxを起動します。分離したらログアウトしてください。 渡す LinuxキッドOPが要求したように完全にbashで:
このビットは、サーバーにSSHで接続すると自動的にtmuxを開きます。セッションが存在しない場合、新しいセッションが作成されます。それ以外の場合は、最後のセッションが追加されます。これは常に.bashrcで最後に実行するか、.bashrc.dでスクリプトとして実行する必要があります。ユーザーが切断されると、サーバーからログアウトされます。# This should always be run last either in .bashrc or as a script in .bashrc.d if [[ -z "$TMUX" ]]; then tmux has-session &> /dev/null if [ $? -eq 1 ]; then exec tmux new exit else exec tmux attach exit fi fi