FreeBSD의 xterm에서 전체 화면 CLI 프로그램 출력을 숨기는 방법은 무엇입니까?

FreeBSD의 xterm에서 전체 화면 CLI 프로그램 출력을 숨기는 방법은 무엇입니까?

Ubuntu의 xterm에서 전체 화면 CLI 프로그램(예: less 또는 vim)을 사용한 다음 종료하면 프로그램의 전체 화면 출력이 더 이상 표시되지 않습니다. 그러나 FreeBSD에서 동일한 작업을 수행하면 전체 화면 출력이 다음 명령 줄 위에 그대로 유지됩니다. 예를 들어 Bash 옵션을 사용하여 FreeBSD에서 이전 동작을 활성화하는 방법이 있습니까?

답변1

FreeBSD의 "xterm"에 대한 termcap 정의에는 대체 화면 이스케이프 시퀀스가 ​​생략되어 있습니다. 이에 대해서는 이전에 여기에서 논의된 바 있습니다. 다음과 같이 취할 수 있는 몇 가지 해결 방법이 있습니다(항목이 유지되므로 rxvt).

#!/bin/sh
TERM=rxvt tput ti
less "$@"
TERM=rxvt tput te

이 경우 rxvt가 xterm 이스케이프 시퀀스를 사용하기 때문에 이는 "작동"합니다. 간단히 설정하면 TERM=rxvt사용자 환경에서 좋은 결과가 나오지 않지만 이 섹션은 유용합니다.

또는 /etc/termcap터미널 데이터베이스를 수정하고 다시 컴파일할 수 있습니다. 참고로 대체 화면을 제거한 변경 사항에 대한 링크는 다음과 같습니다.

개정 200503 by dougb Mon 12월 14일 07:18:31 UTC 2009

의견 바꾸기

사람들이 이 동작을 더 쉽게 활성화할 수 있도록 몇 가지 예시 xterm*-clear 항목을 termcap 파일에 추가했습니다.

그러나 이것의 단점은 (다시 말하지만) 원격 시스템으로 파이프하려는 경우(물론 FreeBSD는 제외) 쉘에서 사용할 수 없다는 것입니다. 이러한 "xterm*-clear" 항목은 Ubuntu에 표시되지 않습니다.

추가 자료:

답변2

less마지막 페이지를 유지 하려면 export LESS=X다음을 참조하세요.매뉴얼 페이지. 나도 좋아 e하고 F.

답변3

쉬운 수정을 원하면 FreeBSD의 .bashrc에 다음을 넣으십시오.

export TERM=xterm-clear

관련 정보