화면 내 한 Ubuntu 호스트에서 다른 Ubuntu 호스트로 SSH 연결(lsh를 통해)을 설정하려고 합니다. 그 후 즉시 실행 하려고 하면 mc
다음 오류가 발생합니다.
Unknown terminal: screen-256color-s
Check the TERM environment variable.
Also make sure that the terminal is defined in the terminfo database.
Alternatively, set the TERMCAP environment variable to the desired
termcap entry.
문제는 누가 이 실패를 일으켰는가 하는 것입니다. 로컬호스트인가요? 외딴? 일부 패키지가 누락되었습니다(어떤 패키지입니까?). lsh-server
또는 클라이언트가 뭔가를 수행하지 않았습니까?
명확하게 말하면 "TERM=xterm mc"와 같은 해결 방법을 원하지 않고 256색을 지원하는 (원격) 콘솔에서 시각적 테마를 사용할 수 있기를 원합니다.
답변1
다음과 같은 다른 용어를 설정하십시오.
TERM="rxvt"
또는
TERM="xterm"
또는
TERM="vt102"
어쩌면 export TERM
그것도 도움이 될 것입니다.
TERM
이 변수 는 명령이 실행되는 terminfo/termcap 데이터베이스(귀하의 경우에는 원격 시스템)에서 터미널 이스케이프 코드를 읽는 것과 같은 프로그램에서 사용됩니다 .curses
termcap
mc
dialog
"screen-256color-s" 용어 유형을 지원하려면 이 터미널 유형을 데이터베이스에 설치해야 합니다.
좋은 출발점으로 읽으십시오 man 5 terminfo
.
답변2
마지막으로 screen-256-color-s(원격 컴퓨터에 설치해야 함)를 제공하는 "명백한" 패키지를 알아냈습니다.
sudo apt install ncurses-term
나를 위해 문제를 해결했습니다. 멋진 256색, 추악한 문제를 해결하기 위해 환경 변수를 사용할 필요가 없습니다. 오랫동안 살다! :)
답변3
GNU는 screen
이를 로컬로 설정 $TERM
하고 ssh
해당 값을 원격 측에 전달합니다. 당신이 할 수 있는 일이 몇 가지 있습니다.
- 원격 측을 감지
screen-256-color-s
하고 더 제정신으로 설정하십시오. 지금부터 당신은 그것을 가질 수 있습니다case $TERM in screen-256*) TERM=screen;; esac
. - 로컬 측에서
screen
터미널이 설정됩니다. 귀하의 파일에는~/.screenrc
다음이 있습니다:term screen
. - 통화를
screen
여는 명령이 있는 경우 다음 옵션을 추가하세요.ssh
-T
screen -T screen ssh user@host
- 로컬에서
~/.bashrc
위의 원격 터미널과 유사한 호환되지 않는 터미널이 감지되면 터미널을 설정하십시오.