TERM(7)

명칭
term - 단말 타입의 명명 규칙

해설

환경 변수 TERM 는 통상, 당신이 사용중의 단말·콘솔·디스플레이 디바이스의 몇개의 타입명을 포함할 것입니다. 이 정보는, 에디터나 메이라를 포함한, 화면 지향 프로그램에는 매우 중요합니다.

디폴트의 TERM 의 값은, /etc/inittab (Linux 나 System V 계의 UNIX) 또는 /etc/ttys (BSD UNIX)를 사용해, 각 회선 마다 설정됩니다. 워크스테이션이나 마이크로 컴퓨터에 대해서는, 대부분의 경우 이것으로 충분합니다.

다이얼 업 회선을 사용하는 경우에는, 회선에 접속되는 디바이스의 타입에는 다양한 것이 있습니다. 낡은 UNIX 시스템에서는, 다이얼 업 회선에 `dumb'나 `dialup'라고 하는 것 같은 정말로 dumb terminal 타입을 미리 설정합니다. 새로운 UNIX 시스템에서는, DEC VT100 호환의 단말이나 퍼스널 컴퓨터에서의 에뮬레이터의 보급을 반영해, `vt100'로 설정할지도 모릅니다.

근년의 telnet 는, 로컬측의 TERM 환경 변수를 리모트 측에 건네줍니다. 당신의 단말 타입에 대해, 리모트의 terminfo 엔트리나 termcap 엔트리의 호환성이 없는 경우는 문제가 발생 할 수 있습니다만, 이러한 상황은 드물고, 명시적으로 `vt100'를 export 하는 것으로써 거의 항상 문제를 피할 수 있겠지요 (실제로 VT100 상위 호환의 콘솔·단말·단말 에뮬레이터를 사용하고 있는 것을 가정하고 있습니다).

어떠한 경우에서도, 쉘 프로파일을 사용하는 것으로써, 시스템의 TERM 설정을 무시해 좋아하는 대로 설정할 수가 있습니다. tset(1) 유틸리티가 도움이 될 수도 있습니다. 해당하는 tty 디바이스와 baud rate를 기본으로 해 단말 타입을 추정하거나 요구하거나하기 위한 룰 세트를 이 명령에 줄 수가 있습니다.

회선에 대한 시스템의 디폴트 타입을 무시하고 싶어지는 것 같은, (가시 벨이나 반전과 같은) 옵션을 짜넣었다 커스텀 엔트리를 가지고 있는 경우에는, 독자적인 TERM 의 값을 설정한다는 것도 좋을 것입니다.

단말 타입의 기술은, /usr/share/misc/terminfo 아래에, 케이파비리티데이타의 파일로서 격납되고 있습니다. 시스템이 인식하는 전단말명을 열람하려면 , 쉘로부터
    toe | more (으)로서 주세요. 이러한 케이파비리티파일은, 꺼내 속도의 향상을 위해서(때문에) (옮겨놓을 수 있던, 낡은 텍스트 베이스의 termcap 와는 달라) 바이너리 포맷이 되고 있습니다. 엔트리를 조사하려면 , infocmp(1) 명령을 사용할 필요가 있습니다. 이것은 다음과 같이 기동합니다:
    infocmp entry-name 여기서 entry-name 는 조사하려고 하는 타입의 명칭입니다 (그리고 이것은 케이파비리티파일의 명칭이며, 이름의 선두의 캐릭터의 이름을 가진 /usr/share/misc/terminfo 의 서브 디렉토리에 있습니다). 이 명령은, terminfo(5)에 기술되고 있는 서식에서, 케이파비리티파일을 덤프 합니다.

terminfo(5) 기술의 최초의 행은, terminfo 가 단말을 인식하기 위해서 사용하는 명칭을 줍니다. 명칭은 `|' (파이프 바) 캐릭터로 단락지어져 마지막 명칭 필드는 콤마로 끝납니다. 최초의 명칭 필드는, 이 타입의제일 명칭 이며, TERM 설정시에 사용하는 것입니다. 마지막 명칭 필드는 (최초의 것과 다른 경우는), 단말 타입의 진짜 기술입니다 (이것은 공백을 포함할 수가 있습니다. 다른 명칭은 단일어인 것이 필요합니다). 최초와 마지막 것의 사이에 있는 명칭 필드는 (만약 있으면), 단말의 별명이며, 통상은, 호환성을 위해서(때문에) 보관 유지되고 있는 역사적인 이름입니다.

단말의 제일 명칭의 선택에는, 제일 명칭을 정보가 있어 고유한 것으로 하는데 도움이 되는 것 같은 약속한 일의 형태가 있습니다. 이하에, 단말 명명을 위한 단계적인 가이드를 나타내, 또, 단말 명칭을 어떻게 해석하는지도 가리킵니다:

최초로, 루트 명칭을 선택합니다. 루트 명칭은, 1 개의 소문자에, 최대 7 캐릭터까지의 소문자 또는 숫자가 계속됩니다. 단락 캐릭터는 루트 명칭에 사용하는 것을 피하지 않으면 안됩니다. 왜냐하면, 이것들은 파일명으로서 사용되거나 해석되기 때문입니다. 또, 쉘의 메타 캐릭터 (!, $, *, ? 등 )이 그것들에 포함되면(자), 기묘해 알기 어려운 거동을 일으킬지도 모르기 때문입니다. slash (/)나, 파일 시스템이 해석할 가능성이 있는 다른 캐릭터 (\, $, [, ])(은)는 특히 위험합니다 (terminfo 는 플랫폼에 의존하지 않습니다. 특수 캐릭터를 포함한 이름을 선택하면(자), 장래 이식된 시스템상의 유저가 고생하게 될지도 모릅니다). 닷 (. ) 캐릭터는, 루트 명칭에 1 개까지인 한은, 비교적 안전합니다. 역사적인 terminfo 명칭에는, 닷을 사용하고 있는 것이 있습니다.

거의 항상, 단말이나 워크스테이션 콘솔 타입의 루트 명칭은, vender의 접두사 (Hewlett-Packard 에서는 hp, Wyse 에서는 wy, AT&T 단말에서는 att 등 )이 붙는지, 단말 회선의 공통 명칭 (DEC 의 VT 시리즈 단말에서는 vt, Sun Microsystems 의 워크스테이션 콘솔에서는 sun, ADDS Regent 시리즈에서는 regent)여야 합니다. terminfo 트리를 열거하면, 어느 접두사가 이미 일반적으로 사용되고 있을지를 알 수 있습니다. 루트 명칭의 접두사에는, 적절한 경우에는 모델 번호가 계속되어, vt100, hp2621, wy50 가 됩니다.

PC-Unix 콘솔 타입의 루트 명칭은, OS 명칭, 즉 linux, bsdos, freebsd, netbsd (이어)여야 합니다. 결코 console 나 그 외의 총칭적인 물건이어 되지 않습니다. 왜냐하면, 멀티 플랫폼 환경에서는 혼란의 원인이 되기 때문입니다! 모델 번호가 계속되는 경우, OS 의 릴리스 레벨이나 콘솔 드라이버의 릴리스 레벨을 나타내야 합니다.

단말 에뮬레이터 (ANSI 표준이나 vt100 타입의 어느 것에도 적합하지 않다고 보이는 경우에는) 의 루트 명칭은, 프로그램 명칭인가, 용이하게 인식 가능한 생략 명칭이어야 합니다 (즉 versaterm, ctrm).

루트 명칭에 계속되어, 하이픈으로 단락지은 적당한 수의 기능을 나타내는 접미말을 추가하는 것이 가능합니다.

2p  메모리를 2 페이지 가집니다. (와)과 같이 4p, 8p 등.

mc  매직 쿠키. 단말에 따라서는 (특히 낡은 Wyse), 버그나 고장을 위해서(때문에) (lossage) 복수 속성을 서포트할 경우에 매직 쿠키를 사용해 버립니다. (역주: 모드를 변경했을 때에 매직 쿠키로 불린다 1개나 복수의 스페이스를 표시해 버리는 단말이 있었던 것 같다) 이러한 단말이 기로 하는 엔트리는, 대부분 이 접미말을 가져, 복수의 속성을 서포트하기 위해서 매직 쿠키를 사용한다 다른 엔트리와 페어가 됩니다.

-am 자동 마진을 유효하게 합니다 ( 오른쪽 마진은 돕니다)

-m  단색 모드 - 칼라 서포트를 억제합니다

-na 커서 키 없음 - termcap 는, 단말에 부속되는 커서 키를 무시하므로, 유저가 커서 키를 로컬에 사용 가능해집니다

-nam
    자동 마진 없음 - am 케이파비리티를 억제합니다

-nl label 없음 - 소프트 label를 억제합니다

-nsl
    상태행 없음 - 상태행을 억제합니다

-pp 사용할 수 있는 프린터 포트가 있습니다

-rv 반전 모드의 단말 (흰 바탕에 흑)

-s  상태행의 유효화

-vb beep는 아니고 가시 벨 (플래시)을 사용

-w  대폭; 단말은 132 자리수 모드

전통적이게는, 단말 타입이 행수를 지정하는 것을 목적으로 한 변형 타입인 경우, 행수의 사픽스를 먼저 씁니다. 예를 들면 FuBarCo 모델 2317 단말의 30 행 모드의 반전 비디오용에서는, 최적인 서식은 fubar-30-rv 가 됩니다 (`fubar-rv-30'가 아닙니다).

스탠드얼론 엔트리로서가 아니고, use 케이파비리티를 사용해 다른 엔트리에 삽입되는 부품으로서 쓰여진 단말 타입은, 데쉬 대신에 플러스 기호가 파묻혀 구별됩니다.

표시 제어에 단말 타입을 사용하는 명령은, 자주, 단말명 인수를 취한다 -T 옵션을 받아들입니다. 이러한 프로그램에서는, -T 옵션을 지정하지 않을 때는, TERM 환경 변수를 사용해야 합니다.

이식성
낡은 System V UNIX 와의 최대의 호환성을 유지하기 위해서, 이름과 별명은 최초의 14 캐릭터로 구별 가능으로 해야 합니다.

관련 파일

/usr/share/misc/terminfo/? /*
    컴파일 된 단말 케이파비리티데이타베이스

/etc/inittab
    tty 회선 초기화 (AT&T 계의 UNIX)

/etc/ttys
    tty 회선 초기화 (BSD 계의 UNIX)

관련 항목
curses(3X), terminfo(5), term(5)