일부 터미널 응용 프로그램(예: mosh
)은 대체 화면에서 터미널을 사용하므로 터미널 에뮬레이터의 기본 스크롤이 비활성화됩니다. mosh
(내가 아는 한) 터미널 설정을 재정의하는 것은 허용되지 않으므로 대체 화면을 사용하지 않고 (따라서) 기본 스크롤이 계속 작동하도록 강제하는 간단한 방법은 터미널에 대체 화면이 없다고 알려주는 것입니다. 화면:
env TERM=dumb mosh <destination>
mosh
이제 스크롤이 더 이상 중단되지 않으며 불행히도 TERM=dumb
제목 표시줄에 애플리케이션 이름을 설정하는 것과 같은 다른 최신 터미널 기능도 중단되지 않습니다. 더 유용 TERM=linux
하지만 여전히 제목 표시줄에 애플리케이션 이름을 설정하지 않습니다.
그렇다면 $TERM
대체 화면을 지원하지 않는 가장 xterm과 유사한 설정은 무엇입니까?
참고:
- 내 기본값 TERM
은 입니다 xterm-256color
. - inside
사용과 같은 다른 해결 방법이 있다는 것을 알고 있지만 때로는 그렇게 하고 싶지 않습니다. - 이것이 나에게 로컬 스크롤 버퍼만을 제공한다는 것을 깨달았습니다. 따라서 mosh 세션의 연결이 끊어졌다가 다시 연결되면 여전히 출력이 손실됩니다. 그러나 때로는 그것으로 충분합니다.tmux
mosh
답변1
smcup
대체 화면을 전환하려면 터미널 항목(또는 항목의 합계)의 및 기능을 사용하십시오 .rmcup
terminfo
ti
te
termcap
tmux-256color
또는 항목을 복사하고 xterm-256color
및 에 대해 다른 이름과 null 값을 갖도록 편집한 다음 smcup
를 rmcup
사용하여 컴파일하고 변경된 버전을 terminfo 데이터베이스에 다시 추가할 수 있습니다 tic
.
최소한 두 번째 줄(주석 바로 뒤 #
)의 제목/설명과 smcup 및 rmcup 값을 수정해야 합니다.
예를 들어
mkdir ~/.terminfo
infocmp tmux-256color > /tmp/tmux256-noalt
vi /tmp/tmux256-noalt
tic /tmp/tmux256-noalt
그런 다음 export TERM=tmux256-noalt
(/tmp/tmux256-noalt 파일에서 호출했다고 가정).
~/.terminfo/
대신 시스템의 terminfo db에 항목을 추가하려면 tic
루트로 실행하십시오(예: 사용 sudo
).
나는 독서를 적극 권장합니다저주, terminfo, infocmp
및 tic
관련 주제를 시작하기 전에 확인하세요.
그런데 현재 ncurses의 작성자이자 관리자는토마스 디키, 사이트를 자주 방문하고 사이트에 대한 질문에 자주 답변하세요. 그의 답변 중 일부를 읽는 것만으로도 많은 것을 배울 수 있습니다. 그는 아마도 이 질문의 사본에 대답했을 것입니다. 그러나 나는 그것을 찾을 수 없었습니다(매우 열심히 검색하지 않았음에도 불구하고).