Родинна тема прийшла на tmux-користувачів списку розсилки : Спроба використовувати SOCAT тунель tmux гніздо
Підсумок:
- Просто переадресація діалогового вкладеного діалогового режиму між клієнтом tmux та його сервером не працюватиме, оскільки tmux використовує дескриптор файлів, що передає (клієнт передає свій tty fd на сервер).
- Можливо, можливо розробити спеціалізований проксі, але, схоже, це було б нетривіально - потрібно було б знати достатньо протоколу сокета tmux , щоб знати, коли приймати та надсилати файли, і знадобиться метод наближення до FDS та будь-які операції, виконані на цих FDS.
- Плакат зі списку розсилки зумів розробити систему переадресації tmux за допомогою socat, який в основному працював .
- Ви, ймовірно, можете встановити інший початковий розмір терміналу, надавши параметри
-x
та -y
параметри new-session
, але це не виправить обробку розміру ( socat потрібно було б обробляти та пересилати SIGWINCH (через йоктли TIOCGWINSZ / TIOCSWINSZ)).
- Здається, ви можете хотіти, щоб ваш "сервер переадресації" знаходився у вашій гостьовій ОС, але пов'язане рішення дозволило б сервер перебувати у вашій хост-OS. Ви, ймовірно, могли б переробити це, щоб це було навпаки.
Якщо немає певних причин, коли ви не можете запустити SSH-сервер свого гостя, можливо, простіше використовувати SSH для входу до свого гостя (нехай програми SSH обробляють з'єднання по мережі та керують ttys) та приєднуються до (або видають команди) до) резидента tmux таким чином:
host$ ssh guest tmux attach -t console
host$ ssh guest tmux new-session -s 'fiddling around'
# etc.
Ви можете створити ключ SSH та ~/.ssh/config
записи на своєму хості, щоб спростити командні рядки ssh (тобто, використовуючи трохи ssh guest
вище, а не вище ssh -i guest-user1-key user1@guest-vm-ip
).