답변:
Filippo Valsorda는 iTerm 2, tmux 및 mosh를 통합 한 OS X 용 솔루션을 보유하고 있습니다 .
그의 솔루션은 단일 창 / 탭을 사용하여 원격 쉘에 연결합니다. 셸은 연결이 끊긴 상태 (예 : 연결 실패, IP 변경, 랩톱 재부팅)를 유지하고 터치 패드, 복사-붙여 넣기 및 색상으로 스크롤 백을 지원합니다.
주의 사항은 소스에서 mosh를 작성하고 스크롤이 기본보다 유동적이지 않고 클릭 드래그가 릴레이되므로 선택하려면 Option을 누르고 있어야한다는 것입니다.
터미널 프로파일 설정에서 xterm 마우스보고 사용 및 보고서 터미널 유형을 xterm-256color로 설정하십시오 .
~/.tmux.conf
서버에서 다음으로 설정하십시오 . 이 설정을 사용하여 연결을 시도하고 세션이 없으면 새 세션이 작성됩니다. 이 설정은 또한 마우스 상호 작용 (터치 패드 스크롤)을 가능하게합니다.
new-session
set-window-option -g mode-mouse on
set -g history-limit 30000
참고 :에서보고 된 최신 tmux (예 :> 2.1) tmux -V
에서 다양한 마우스 옵션 (mouse-resize-pane, 마우스 모드 등)이 단일 옵션으로 다시 작성 mouse
되었으므로 두 번째 줄을 변경해야합니다. set-window-option -g
마우스on
대신 위 .
이 마우스 스크롤은 tmux에서 스크롤하는 방법 기사에 설명 된 키보드 스크롤 모드 (예 Ctrl: b그때 [) 에있을 때도 작동 합니다.
mosh의 안정적인 빌드는 오래되었으며 마우스보고 (및 터치 패드 스크롤)를 지원하지 않습니다. 최신 버전을 설치하려면 다음을 수행하십시오.
OS X (클라이언트)
brew install --HEAD mobile-shell
Linux / UNIX (서버)
git clone https://github.com/keithw/mosh.git
cd mosh/
sudo apt-get build-dep mosh
./autogen.sh && ./configure && make
sudo make install
이제 연결하려면 다음을 입력하십시오.
mosh HOST -- tmux a
터미널 에뮬레이션은 mosh 디자인에 상당히 깊이 구워 져 있습니다. Mosh는 클라이언트와 서버가 각각 화면의 현재 모습에 대한 로컬 아이디어를 유지하고 서버가 터미널 에뮬레이션을 수행하도록함으로써 작동합니다. 클라이언트가 잠시 동안 화면을 벗어난 후 일부 데이터가 손실 된 후 화면의 내용을 새로 고치는 방법입니다.
mosh의 IP 로밍 기능이 있지만 터미널 에뮬레이션이없는 응용 프로그램은 상당히 다른 (그러나 더 간단한) 응용 프로그램이 될 것이라고 생각합니다. 이러한 응용 프로그램의 경우 데이터가 유실되면 (클라이언트가 일정 시간 동안 인터넷을 사용하지 않는 경우 포함) 화면 내용이 유실되거나 손상됩니다. 사용자가 중요하지 않은 응용 프로그램 (예 : 셸) 또는 다시 그리기 기능이있는 응용 프로그램 (예 : vi
Control-L 사용)을 사용하는 경우 이는 허용 가능한 제한 입니다.
그러나 Mosh 구현 자는 로컬 터미널이 더 이상이를 수행 할 수 없다는 사실을 보완하기 위해 애플리케이션에서 스크롤 백 지원을 계획 하고 있습니다. screen
스크롤 키와 마우스가 아닌 키 입력으로 제어되는 스크롤 백 버퍼 와 같이 약간 작동해야한다고 생각합니다 .
Eternal Terminal ( https://mistertea.github.io/EternalTerminal/ )은 기본 스크롤 백을 지원하고 여전히 IP 로밍을 허용하는 Mosh의 대안입니다. ET는 타이핑 예측을 수행하지 않으므로 대기 시간이 길면 (드론이나 휴대폰에서 sshing하는 경우) 적합하지 않을 수 있지만 개인적으로 ET은 내가 원하는 모든 것을 수행하고 스크롤 백을 지원합니다.