로컬 스크롤 백 / 히스토리를 포기하지 않고 Mosh를 사용 하시겠습니까?


62

mosh로컬 스크롤 백을 포기하지 않고 사용할 수있는 방법이 있습니까?

기본적으로 일부 상황에서는 IP 로밍이 실제로 유용하고 필요하지만 추가 터미널 에뮬레이션 및 키 예측은 로컬 스크롤 백 버퍼 라인과 세션 기록 만 제거하는 것으로 보입니다.


답변:


42

Filippo Valsorda는 iTerm 2, tmux 및 mosh를 통합 한 OS X 용 솔루션을 보유하고 있습니다 .

그의 솔루션은 단일 창 / 탭을 사용하여 원격 쉘에 연결합니다. 셸은 연결이 끊긴 상태 (예 : 연결 실패, IP 변경, 랩톱 재부팅)를 유지하고 터치 패드, 복사-붙여 넣기 및 색상으로 스크롤 백을 지원합니다.

주의 사항은 소스에서 mosh를 작성하고 스크롤이 기본보다 유동적이지 않고 클릭 드래그가 릴레이되므로 선택하려면 Option을 누르고 있어야한다는 것입니다.

  • iTerm

    터미널 프로파일 설정에서 xterm 마우스보고 사용 및 보고서 터미널 유형을 xterm-256color로 설정하십시오 .

  • tmux

    ~/.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

5
링크에서 중요한 정보를 인라인으로 붙여 넣는 것이 좋은 형식으로 간주됩니다.
HalosGhost

2
이 답변은 기술적 인 이유로 다운 투표되었지만 mosh를 사용하여 로컬 클라이언트에서 적절한 스크롤 백을 얻는 가장 좋은 방법 일 것입니다.
jayhendren

@jayhendren : 또는 간단히 Eternal Terminal을 사용할 수 있습니다 .
Dan Dascalescu

결속 할 필요가 없습니다. 저의 의견은 2014 년입니다. 영원한 터미널의 첫 번째 릴리스는 2017
이었습니다

15

터미널 에뮬레이션은 mosh 디자인에 상당히 깊이 구워 져 있습니다. Mosh는 클라이언트와 서버가 각각 화면의 현재 모습에 대한 로컬 아이디어를 유지하고 서버가 터미널 에뮬레이션을 수행하도록함으로써 작동합니다. 클라이언트가 잠시 동안 화면을 벗어난 후 일부 데이터가 손실 된 후 화면의 내용을 새로 고치는 방법입니다.

mosh의 IP 로밍 기능이 있지만 터미널 에뮬레이션이없는 응용 프로그램은 상당히 다른 (그러나 더 간단한) 응용 프로그램이 될 것이라고 생각합니다. 이러한 응용 프로그램의 경우 데이터가 유실되면 (클라이언트가 일정 시간 동안 인터넷을 사용하지 않는 경우 포함) 화면 내용이 유실되거나 손상됩니다. 사용자가 중요하지 않은 응용 프로그램 (예 : 셸) 또는 다시 그리기 기능이있는 응용 프로그램 (예 : viControl-L 사용)을 사용하는 경우 이는 허용 가능한 제한 입니다.

그러나 Mosh 구현 자는 로컬 터미널이 더 이상이를 수행 할 수 없다는 사실을 보완하기 위해 애플리케이션에서 스크롤 백 지원을 계획 하고 있습니다. screen스크롤 키와 마우스가 아닌 키 입력으로 제어되는 스크롤 백 버퍼 와 같이 약간 작동해야한다고 생각합니다 .


4

Eternal Terminal ( https://mistertea.github.io/EternalTerminal/ )은 기본 스크롤 백을 지원하고 여전히 IP 로밍을 허용하는 Mosh의 대안입니다. ET는 타이핑 예측을 수행하지 않으므로 대기 시간이 길면 (드론이나 휴대폰에서 sshing하는 경우) 적합하지 않을 수 있지만 개인적으로 ET은 내가 원하는 모든 것을 수행하고 스크롤 백을 지원합니다.


그것은 굉장했다
Soorena

ET는 놀랍고 훨씬 더 옹호가 필요합니다 .
Dan Dascalescu

1

터미널-> 환경 설정-> 프로필-> 키보드에서 "대체 화면 스크롤"을 선택 취소하면 문제가 해결되었습니다.


1
이 대답은 의미가 없습니다. 어떻게 그러한 메뉴를 얻습니까?
cnst

3
해당 prefs 설정이 존재하지만 선택을 취소하면 스크롤이 로컬 창에서만 작동합니다. 즉, 아래로 스크롤하면 mosh 명령을 사용하기 전에 있던 줄이 표시됩니다. 원격 세션의 상단에서 스크롤 된 것을 보여주지 않았습니다.
mARK

2
이것을 시도했지만 그것은 mosh 세션에서 스크롤 할 수 없습니다
magodiez
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.