tmux 및 screen-256 TERM은 원격 호스트에서 지원되지 않습니다.

tmux 및 screen-256 TERM은 원격 호스트에서 지원되지 않습니다.

나는 사용할 tmux를 설정했는데 screen-256colorsvim과 잘 작동합니다.

그러나 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 데이터를 수동으로 복사할 수 있습니다.

  1. 로컬 시스템에서 설명을 텍스트 형식으로 덤프합니다.

    infocmp xterm-256color > xterm-256color.ti
    infocmp screen-256color > screen-256color.ti
    
  2. 파일을 원격 호스트에 복사하고 다시 컴파일합니다.

    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'

관련 정보