호스트간에 tmux 소켓을 공유 할 수 있습니까?


11

다른 호스트간에 tmux 서버 소켓을 공유 할 수 있는지 궁금합니다. 예를 들어, 호스트 내부에 가상 머신 (게스트)이 실행 중이고 게스트에서 tmux 세션을 실행 중입니다. 호스트 머신이 게스트의 tmux 세션에 액세스하여 멋진 작업을 수행 할 수 있습니까? (예 : 손님의 세션으로 명령 보내기)?

답변:


10

관련 주제가 tmux-users 메일 링리스트 에 나타 났습니다 . socat을 사용하여 tmux 소켓 터널링 시도

요약:

  • 간단히 전달 인 밴드, 이상 - 소켓 정보 대화 사이 TMUX의 클라이언트와 서버하지 않습니다 작업 때문에 TMUX의 사용 파일 기술자가 통과 (클라이언트가 서버로 청각 장애 FD를 전달합니다).
    • 전문 프록시를 개발하는 것이 가능할 수도 있지만, 사소하지 않은 것처럼 보입니다. fds를 수락하고 보낼시기를 알기 위해서는 tmux 소켓 프로토콜에 대해 충분히 알고 있어야합니다. fd 및 해당 fd에서 수행 된 작업
  • 메일 링리스트 포스터 는 주로 작동 하는 socat사용하여 tmux 포워딩 시스템을 개발했습니다 .
    • 당신은 아마 제공함으로써 다른 초기 터미널 크기를 설정할 수 있습니다 -x-y에 옵션을 new-session하지만,이 것없는 수정 크기 조정 처리 ( socat은 TIOCGWINSZ / TIOCSWINSZ의 ioctl의)를 통해 핸들을 앞으로 SIGWINCH (해야).
    • “전달 서버”가 게스트 OS에있게하려는 것처럼 들리지만 연결된 솔루션은 서버를 호스트 OS에있게합니다. 아마 다른 방법으로 돌아가도록 다시 작업 할 수 있습니다.

게스트에서 SSH 서버를 실행할 수없는 이유가 없다면 SSH를 사용하여 게스트에 로그인하는 것이 더 쉽습니다 (SSH 프로그램이 네트워크를 통한 연결 및 tty 관리를 처리하도록 함). 그런 식으로 상주 tmux :

host$ ssh guest tmux attach -t console
host$ ssh guest tmux new-session -s 'fiddling around'
# etc.

~/.ssh/config호스트에서 SSH 키와 항목을 만들어 ssh 명령 줄 을 단순화 할 수 있습니다 (예 : ssh guest대신 바로 위 사용 ssh -i guest-user1-key user1@guest-vm-ip).


이것이 tmux 제어 모드를 사용하여 빌드 될 수 있는지 궁금합니다
mndrix
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.