25

私は最近、screen から tmux (macports を介して取得) を使用するように切り替えました。機能セットの方が気に入っているためです。ただし、スクリーニングできるように、別の場所から tmux を再接続することはできないようです。

自宅の Mac で、iTerm2 を開きます。デフォルトのシェルは zsh で、tmux セッションを で開始しtmuxます。すべてのスピットをセットアップし、適切なサーバーに ssh 接続するなどして、しばらく作業します。仕事に行く時間。<C-a> d- tmux が切り離されます。

Windows XP マシンを使用して仕事に取り掛かります。パテを起動し、自宅に戻って Mac に SSH で接続し、 を試みたところtmux attach、エラー メッセージが表示されました。

no sessions

なぜこれが起こるのかを判断できないようです。これを掘り下げることを恐れていませんが、どこから始めればよいかさえわかりません。考え?

PS私はすでに.tmux.confファイルを削除しているので、デフォルトの設定を使用しています。

4

4 に答える 4

23

tmuxは、TMPDIR 環境変数で指定されたディレクトリの下のディレクトリにサーバー ソケットを格納します。

あなたのGUIセッションでは、おそらくTMPDIRが下のどこかを指すことになるでしょう/var(例えば/var/folders/mV/mVip4IQ4EXOriTiLJmeSuk+++Tc/-Tmp-/)。

SSH 経由でログインしている場合、TMPDIR が設定されていない可能性が高いため、tmux/tmp/はソケットを探します。

10.6 システムでは、 zsh /Terminalzsh /SSHを使用した TMPDIR を次に示します。

% echo local: ${TMPDIR-unset}; ssh localhost 'echo remote: ${TMPDIR-unset}'
local: /var/folders/mV/mVip4IQ4EXOriTiLJmeSuk+++Tc/-Tmp-/
remote: unset

TMPDIR に使用する必要がある値がわかっている場合は、アタッチする (またはセッション自体の外で他のtmuxコマンドを実行する) ときにそれを指定できます。

TMPDIR=/var/folders/mV/mVip4IQ4EXOriTiLJmeSuk+++Tc/-Tmp-/ tmux attach

GUI セッションが使用していたディレクトリがわからない場合は、次のような方法で見つけることができる場合があります (構文はzshに固有です。現在のユーザーが所有する/var/folders/という名前のディレクトリを検索します)。-Tmp-

echo /var/folders/**/*/-Tmp-(U/)

将来の問題を回避するために、サーバーを起動する前に TMPDIR の設定を解除する (または、より簡単に予測できる値に設定する) ことをお勧めします。

于 2012-01-28T13:53:48.840 に答える
7

-Uオプションは、lsof開いているソケット ファイルを一覧表示するため、 tmuxlsof -U | grep '^tmux'で使用されているすべてのソケットが一覧表示されます。tmuxを起動したのと同じユーザーとしてログインしていない場合は、 を使用する必要があります。sudo

各行の最後の列はファイルの名前です。気になるファイルは . で始まります/

探している行は次のようになります。

tmux 1234  username 6u unix 0xffffffabcd123456 0t0 /private/var/folders/M8/M8tFwolmH08fOvJ+-35VI++++TM/-Tmp-/tmux-502/default
tmux 56789 username 6u unix 0xffffff123456789a 0t0 /private/tmp/tmux-502/default
于 2012-10-04T16:15:25.060 に答える