터미널 에뮬레이터 변경


10

원격 컴퓨터에 대한 ssh 액세스 권한이 있습니다. 이 머신에서 내가 실행 echo $TERM하면 xterm.

터미널 에뮬레이터를 다른 에뮬레이터로 변경하려면 (원격 컴퓨터에 설치되어 있다고 가정) 어떻게해야합니까?

답변:


15

환경 변수 TERM의 값은 서버 (시스템 V 또는 BSD, 파생 OS)에서 시스템이 입력을 인식하는 방법과 출력을 위해 존재하는 기능을 제어하는 ​​데 사용됩니다. 일부 터미널 유형은 여전히 ​​유용하면서도 서로 교환 할 수있을 정도로 유사하지만 다른 터미널 유형은 TERM에 대해 지원되는 값으로 새 연결을 열 때까지 시스템을 사용할 수 없게 만들 수 있습니다. 예를 들어, 한 Linux 시스템에서 다른 Linux 시스템으로, vt100, vt220 및 xterm 설정간에 거의 차이가 없을 것입니다. 대부분의 차이점은 출력이 표시되는 방식과 해당 유형의 터미널에서 색상 또는 굵은 글꼴을 사용할 수 있는지 여부에 있습니다. termcap 데이터베이스에는 다양한 기능과 함께 모든 터미널 유형이 나열됩니다.

키보드와 화면이 호환되지 않는 터미널 유형으로 전환하지 않는 한 괜찮습니다.

자세한 내용은 시스템의 용어 페이지와 termcap을 참조하십시오.

터미널 유형을 변경하려면 다음을 수행하십시오.

bash에서 :

export TERM=vt100

본 쉘 또는 ksh에서 :

TERM=vt100
export TERM

csh 또는 tcsh에서 :

setenv TERM vt100

vt100게임을 시작하기에 매우 안전한 터미널입니다. xterm과 호환되지만 색상이나 굵은 글꼴을 표시하지 않으며 F * 키를 인식하지 못할 수 있지만 vt100을 사용하면 실제로 엉망이되지 않습니다.

많은 사람들이 개인 init 스크립트에서 터미널 감지를 사용하여 서버에 로그인하는 방법에 따라 사용자 경험을 최적화합니다. 예를 들어, vt100을 사용하는 경우 일반 PS1을 설정하고 xterm에서 bash를 사용할 때 색상 및 동적 변수를 사용하십시오.

당신의 연구에 행운을 빕니다.


3
@intrpc TERM변수 를 변경해야하는 경우는 거의 없습니다 . 새로운 터미널의 이름을 모르는 구형 시스템에 로그인 할 때 주로 필요합니다 (최근 15 년 동안 많은 새로운 터미널 유형이 없었기 때문에 대부분의 터미널 에뮬레이터는 자체적으로 스타일을 지정합니다 xterm). TERM터미널 타입 프로그램이 말하고 있다고 생각하는 것은 터미널의 실제 내용을 바꾸지 않습니다.
Gilles 'SO- 악의를 멈춰라

9

당신은 오해하고 있습니다.

LOCAL 측의 콘솔 또는 터미널 또는 PuTTY 인스턴스는 실제 "터미널 에뮬레이터"입니다. 요즘에는 "터미널"로 단축합니다. 사람들이 실제로 모니터 및 키보드 터미널을 사용하여 여러 콘솔과 그래픽 사용자 환경을 사용하지 않고 메인 프레임 서버에 사인 온했을 때 사용법은 뒤쳐졌습니다.

$ TERM 변수는 원격 시스템이 터미널을 보낼 때 이해할 수있는 제어 코드의 종류 (예 : 텍스트 기반 메뉴 또는 libncurses를 기반으로하는 코드)를 알려줍니다.

정확히 무엇을 달성하고 싶은지 잘 모르겠지만 $ TERM을 변경해도 도움이되지 않습니다.


@Shadur에게 감사합니다. 도움이됩니다. 더 많은 색상을 지원하고 싶습니다. 이 질문 의 업데이트에서 설명하는 것처럼 이스케이프 문자에 문제가 있습니다. 경우는 모두 기계 / 시스템 (현대, 중요한 Ubuntu 11.10내 로컬 컴퓨터와 Red Hat Enterprise Linux Server release 5.4 (Tikanga)원격 컴퓨터에서)
아멜리오 바스케스 - 레이나

죄송합니다. 링크가 잘못된 질문으로 연결되었습니다. 방금 위의 의견을 편집했습니다.
Amelio Vazquez-Reina

그러면 $ TERM 값이 xterm 인 원격 서버에 SSH로 연결된 gnome-terminal 창이 ansi 색상을 렌더링하는 데 아무런 문제가 없기 때문에 문제는 여전히 TERM 변수가 아닙니다. 해결책이라고 생각하는 것을 구현하는 방법을 묻는 것이 아니라 문제를 설명하는 것이 좋습니다.
Shadur

고맙지 만 "내 문제"가 $TERM변수 라고 말하지 않았다 . 또한 다른 문제 / 질문에 대한 해결책을 찾기위한 목적 으로이 질문을하지 않습니다. 다른 질문 이 있으면이 질문에 동기가 부여 됩니다. 마지막으로, 나는이 질문을함으로써 터미널 에뮬레이터가 어떻게 작동하는지에 대해 더 배우기를 바라고 잘못된 것이 없다고 생각합니다.
Amelio Vazquez-Reina

그건 그렇고, 실수하지 말고 조언 해 주셔서 감사합니다. 앞에서 말했듯이 귀하의 대답은 터미널 에뮬레이터를 더 잘 이해하는 데 도움이되었습니다.
Amelio Vazquez-Reina
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.