SSH Bash接続を終了するときになぜ2回シャットダウンする必要があるのはなぜですか? [閉鎖]

SSH Bash接続を終了するときになぜ2回シャットダウンする必要があるのはなぜですか? [閉鎖]

SSH経由で接続するときは、ローカルシステムのシェルに戻る前にシステムを2回シャットダウンする必要があります。これが起こる理由はありますか?そうしてはいけません。

ベストアンサー1

起動したシェルの上に新しい対話型シェルを起動すると、これが発生する可能性がありますssh。たとえば、シェル(screentmux:)または。bash~/.bash_profilebash/etc

そこから開始するか、screenそこtmuxから開始すると、他のプロセスが実行されている間に初期シェルの開始が一時的に「中断」されます。screenまたはを終了すると、tmux最初のシェルセッションで新しいプロンプトが表示され、別々に終了する必要があります。

この問題を解決するには、orのscreen代わりtmuxexec screenorを使用してくださいexec tmux。これは変える現在、シェルには適切なプロセスがあります。

これにより、呼び出し後に追加の設定が必要ないことを確認してください。execこの呼び出しは起動スクリプトに制御を返しません(実行中にエラーが発生しない限りexec)。

以下は、ログイン時に起動するためのマイ~/.profileファイル(使用しない)bashの例です。tmux

if [ -z "$TMUX" ] && [ -z "$DISPLAY" ]; then
    if tmux has-session; then
        exec tmux attach-session
    else
        exec tmux
    fi
fi

tmuxこれは、シェルセッションがtmuxセッションでまだ実行されていない場合(その場合は設定TMUX)、グラフィカル環境にない場合(そうである場合は設定DISPLAY)、現在のシェルを置き換えます。tmuxセッションがある場合は接続し、そうでない場合は新しいセッションを開始してください。

おすすめ記事