ssh セッションで作成された tmux セッションにローカルでアクセスするにはどうすればよいですか?

ssh セッションで作成された tmux セッションにローカルでアクセスするにはどうすればよいですか?

tmux セッションを作成し、ssh セッションで切断した後、tmux attachローカル ターミナルで実行しても、作成したセッションが表示されません (tmux ls何も表示されません)。ps では、tmux がまだ実行中であることが示されています。ローカルでアクセスするにはどうすればよいでしょうか。

ps auwx | grep tmuxショー

me      8404  0.0  0.0  28268  3900 ?        Ss   Jul13   0:15 tmux

答え1

ここで考えられるシナリオは、SSH 経由の tmux が、SSH のときとローカルのときで異なる TMPDIR を使用していたということです。次のようにして、設定されている内容を確認できます。

echo $TMPDIR

通常、sshでは何も設定されていないため、/tmpが使用されます。

TMPDIR=/tmp/ tmux attach

これにより、tmux はソケットを /tmp で検索するようになります。

これが機能しない場合は、それらは他の場所にあるか、クリーンアップされている可能性があります。その場合は、tmux にそれらを再作成するように指示できます。

killall -10 tmux

この-10シグナルは tmux にソケットを再作成するように指示するものであり、終了するシグナルではありません。ソケットがどこで作成されたかを調べるには、ssh セッションを実行する必要があるかもしれませんTMPDIRが、おそらく です/tmp/

関連情報