다양한 $TERM 변수의 차이점은 무엇입니까?

다양한 $TERM 변수의 차이점은 무엇입니까?

나는 .vt100, vt102, vt220 및 xterm으로 시도해 보았습니다 top.

그러나 나는 그들 사이의 차이점을 찾을 수 없습니다. 다른 용어 유형이 있나요? 그들 사이의 차이점은 무엇입니까?

답변1

xterm즉 , 의 상위 집합으로 간주됩니다 vt220. 즉, 와 많이 유사 vt220하지만 더 많은 기능을 가지고 있습니다. 예를 들어 xterm색상은 일반적으로 지원되지만 vt220지원되지 않습니다. 안쪽을 눌러 z이를 테스트 할 수 있습니다 top.

다시 말하지만, vt220더 많은 기능이 있습니다 vt100. 예를 들어 및 vt100는 지원되지 않는 것 같습니다 .F11F12

를 실행하여 시스템이 가지고 있다고 생각하는 기능 과 이스케이프 시퀀스를 비교하십시오 infocmp <term type 1> <term type 2>.infocmp vt100 vt220

전체 목록은 시스템에 따라 다릅니다. toe, toe /usr/share/terminfo또는 를 사용하여 목록을 가져올 수 있어야 합니다 find ${TERMINFO:-/usr/share/terminfo}. 이 중 아무것도 작동하지 않으면 다음을 볼 수도 있습니다.ncurses terminfo.src, 현재 대부분의 배포판에서 데이터를 가져오는 곳입니다.

하지만 터미널이 다음과 같지 않으면이것또는이것, 다른 것을 사용하고 싶을 수도 있습니다.

  • xterm-color- 오래된 시스템을 사용하여 색상이 작동하지 않는 경우
  • putty, konsole, Eterm, rxvtgnome- XTerm 에뮬레이터 및 특정 기능 키를 실행하는 경우 백스페이스, 삭제, 홈 및 종료가 제대로 작동하지 않습니다.
  • screen- GNU 화면(또는 tmux) 내에서 실행 중인 경우
  • linux- Linux 콘솔을 통해 로그인하는 경우(예 Ctrl+Alt+F1: )
  • dumb- 모든 것이 망가졌을 때

답변2

인수 없이 infocmp를 실행하면 사용 가능한 모든 xterm 대안이 제공됩니다.

$> infocmp
xterm|xterm-debian|X11 terminal emulator,
    am, bce, km, mc5i, mir, msgr, npc, xenl,
    colors#8, cols#80, it#8, lines#24, pairs#64,
    ...

자세한 내용은 확인해주세요

$> ls /lib/terminfo/x/
xterm         xterm-256color  xterm-color     xterm-debian    xterm-mono
xterm-r5      xterm-r6        xterm-vt220     xterm-xfree86

답변3

과거에는 "단말기"가 별도의 장치였습니다. 일부는 종이와 잉크 리본이고 일부는 "유리 열쇠 구멍"입니다. 많은 제조업체가 있습니다. 제조업체에는 텍스트 외에도 터미널 관련 동작, 즉 "제어 문자" 및 "이스케이프 시퀀스"를 호출하기 위한 텍스트가 아닌(보이지 않는) 방법도 필요합니다. 표준이 없기 때문에 제조업체마다 자체 터미널에서 동일한 기능에 대해 서로 다른 이스케이프 시퀀스를 선택할 수 있습니다. 모든 이스케이프 시퀀스를 설정하는 대신(이 터미널에서는 화면이 지워지는 방식, 커서가 배치되는 방식 등) 환경 변수 설정은 TERM터미널 정보 데이터베이스의 키 역할을 하며 모든 설정을 유지합니다. 그 터미널. 바라보다 man terminfo terminfos tput stty.

DEC(Digital Equipment Corporation)는 인기 있는 유리 키 기계인 VT100과 이후 VT220을 제조했는데, 이 기계의 제어 시퀀스는 Unix 커뮤니티에서 채택되었습니다.

텍스트용 "제어 문자"(비트 7(0x40)이 지워진 "문자"와는 달리 참조 man ascii)는 The Phone Company에서 만든 복잡한 전기 기계 경이로움인 이전 TeleType에서 상속되었습니다(당시 하나만 있었습니다)). 옮기다.

그래픽 캔버스, 창 또는 화면에서 "터미널 에뮬레이터"를 실행할 수 있는 방법 은 TERM.TERM

직렬 통신은 Unix/Linux 장치 인터페이스에 반영된 것처럼 흥미로운 역사를 가지고 있습니다. 작동한다면 유지하세요. "더 나은" 방법이 나타나면 그것을 사용하십시오. 어딘가에는 항상 110보드의 Model 33 TeleType을 사용하는 사람이 있습니다.

답변4

echo $TERM:

tmux 내부: 제공screen-256color

외부: 주다xterm-256color

일부 키(예: Home 및 )는 End다르게 작동합니다.

cat차이점을 보려면 몇 가지 키를 입력 하고 누르십시오 $TERM.


infocmp xterm-256color screen-256color | less

NULL화면 아래에 더 많은 것 - 256색

    comparing xterm-256color to screen-256color.
        comparing booleans.
        bce: T:F.
        ccc: T:F.
        mc5i: T:F.
        npc: T:F.
        comparing numbers.
        comparing strings.
        acsc: '``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~', '++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~'.
        clear: '\E[H\E[2J', '\E[H\E[J'.
        cnorm: '\E[?12l\E[?25h', '\E[34h\E[?25h'.
        cuu1: '\E[A', '\EM'.
        cvvis: '\E[?12;25h', '\E[34l'.
        ech: '\E[%p1%dX', NULL.
        enacs: NULL, '\E(B\E)0'.
        flash: '\E[?5h$<100/>\E[?5l', '\Eg'.
        initc: '\E]4;%p1%d;rgb:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\', NULL.
        invis: '\E[8m', NULL.
        is2: '\E[!p\E[?3;4l\E[4l\E>', '\E)0'.
        kDC: '\E[3;2~', NULL.
        kEND: '\E[1;2F', NULL.
        kHOM: '\E[1;2H', NULL.
        kIC: '\E[2;2~', NULL.
        kLFT: '\E[1;2D', NULL.
        kNXT: '\E[6;2~', NULL.
        kPRV: '\E[5;2~', NULL.
        kRIT: '\E[1;2C', NULL.
        ka1: '\EOw', NULL.
        ka3: '\EOy', NULL.
        kb2: '\EOu', NULL.
        kbeg: '\EOE', NULL.
        kc1: '\EOq', NULL.
        kc3: '\EOs', NULL.
        kend: '\EOF', '\E[4~'.
        kent: '\EOM', NULL.
        kf13: '\E[1;2P', NULL.
        kf14: '\E[1;2Q', NULL.
        kf15: '\E[1;2R', NULL.
        kf16: '\E[1;2S', NULL.
        kf17: '\E[15;2~', NULL.
        kf18: '\E[17;2~', NULL.
        kf19: '\E[18;2~', NULL.
        kf20: '\E[19;2~', NULL.
        kf21: '\E[20;2~', NULL.
        kf22: '\E[21;2~', NULL.
        kf23: '\E[23;2~', NULL.
        kf24: '\E[24;2~', NULL.
        kf25: '\E[1;5P', NULL.
        kf26: '\E[1;5Q', NULL.


관련 정보