1

Я не знаю, должно ли это работать по умолчанию, но, похоже, когда я пытаюсь возобновить сеанс tmux, который у меня есть, с одной или другой машины. Я использую два разных типа подключения к сеансу tmux, один с терминала Cygwin, а другой - с виртуальной машины Ubuntu на том же компьютере. Сессии, которые поднимаются, - это две разные сессии. Если я удаляю все окна в сеансе и отсоединяюсь от него, вместо подключения к существующему в другом способе соединения создается совершенно новое. В обоих случаях я подключаюсь через ssh к одному и тому же серверу, а затем запускаю команду tmux ниже. Я обычно возобновляю сеанс с этой командой:

tmux a -d || tmux

РЕДАКТИРОВАТЬ: Я отключаюсь либо с помощью Ctrl+a Ctrl+d либо просто отключением в самой сети, но впоследствии я могу восстановить соединение, если я сделаю это с той же системой, с которой я изначально пришел. Если я перечислю свою сессию от Cygwin, я получу:

 tmux ls
0: 1 windows (created Wed Apr 17 15:49:23 2013) [149x45]

Если я перечислю это с VM, я получу что-то другое:

 tmux ls
0: 19 windows (created Thu Apr 11 09:24:00 2013) [191x35]

Какой-либо параметр мне не хватает?

2 ответа2

2

Это похоже на проблему с сокетами - я подозреваю, что в какой-то момент вы создали совершенно новый tmux, который прослушивает сокет, отличный от исходного (возможно, возмущенный вашей оболочкой, когда вы вошли в систему?) и теперь работают два сервера tmux.

Проверьте /tmp (если именно здесь сервер tmux создает свои сокеты), и вы должны быть в состоянии определить это, а также вывод "ps aux".

1

Ты не убиваешь слишком много раз, не так ли? CTRL-A CTRL-D для отсоединения от сеанса, а не для его уничтожения.

Когда вы подключены, перечислите свои сеансы tmux с помощью tmux ls . Запишите первый номер этой команды, к которому вы не хотите подключаться. Затем, чтобы подключиться к этому сеансу с любой машины, мы используем tmux attach -t 0 предполагая, что ваш сеанс tmux равен 0.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .