Как получить локальный доступ к сеансу tmux, созданному в сеансе ssh?

Как получить локальный доступ к сеансу tmux, созданному в сеансе ssh?

После того, как я создал сеанс 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

Вероятный сценарий здесь заключается в том, что tmux через ssh использовал другой TMPDIR в ssh, чем когда вы локальны. Вы можете сделать это, чтобы увидеть, что установлено:

echo $TMPDIR

Обычно в ssh он не установлен ни на что, и поэтому использует /tmp. Вы можете попробовать

TMPDIR=/tmp/ tmux attach

Это заставит tmux искать сокеты в /tmp.

Если это не сработает, они могут быть в другом месте или быть очищены. В этом случае вы можете сказать tmux создать их заново:

killall -10 tmux

Сигнал -10говорит tmux пересоздать сокеты, это не сигнал к завершению. Вам может понадобиться провести сеанс ssh, чтобы выяснить, где они создаются, проверив, TMPDIRно скорее всего, это /tmp/.

Связанный контент