
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/
。