나는 사용할 tmux를 설정했는데 screen-256colors
vim과 잘 작동합니다.
그러나 tmux 내에서 원격 호스트로 ssh를 실행하면 screen-256colors
인식되지 않아 다음과 같은 오류가 발생합니다.
E558: Terminal entry not found in terminfo 'screen-256color' not known. Available builtin terminals are:
builtin_ansi
builtin_xterm
builtin_iris-ansi
builtin_dumb defaulting to 'ansi'
각 리모콘을 편집하는 것 외에 .bashrc
(유사하게이 제안TERM
), 원격 호스트에서 자동으로 올바르게 설정하는 방법이 있습니까 ?
답변1
대부분의 경우 필요한 것을 설치해야 합니다.용어 정보원격 호스트에 대한 설명입니다. Terminfo는 Linux 프로그램이 특정 터미널을 처리하는 방법(보낼 제어 코드)을 결정하는 데 사용하는 것입니다.
예를 들어 Debian 또는 Ubuntu에서는 일반적으로 패키지 ncurses-base
(모든 "설정된" 터미널 에뮬레이터에 대한 terminfo 데이터를 수집함)가 필요합니다.
실패하면 특정 터미널에 대한 terminfo 데이터를 수동으로 복사할 수 있습니다.
로컬 시스템에서 설명을 텍스트 형식으로 덤프합니다.
infocmp xterm-256color > xterm-256color.ti infocmp screen-256color > screen-256color.ti
파일을 원격 호스트에 복사하고 다시 컴파일합니다.
tic xterm-256color.ti tic screen-256color.ti
Linux에서는 설명이 ~/.terminfo
. (최근 2023년 업데이트 기준으로 이 위치는~ 아니다일반적으로 드물기는 하지만 더 이상 "setuid" 프로그램에서 읽을 수 없습니다.)
infocmp
그리고 tic
다음의 일부입니다.저주를 받다또는ncurses-bin대부분의 Linux 배포판의 패키지와 다음을 사용하는 대부분의 BSD저주를 받다(BSD에는 사용자별 데이터베이스가 없을 수도 있습니다).
답변2
내 .bashrc에 다음이 있습니다.
alias ssh='TERM=screen ssh'