Xterm

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Xterm은 X 윈도 시스템을 위한 터미널 에뮬레이터로, 초기에는 VT102 및 Tektronix 4014를 에뮬레이션했다. 이후 VT220, VT320, VT420 등의 DEC 터미널을 지원하도록 발전했으며, 마우스 추적, 256색 프로토콜 등 다른 터미널 에뮬레이터에서도 채택된 프로토콜을 추가했다. Xterm은 X 리소스 파일, 사용자별 리소스 파일, 또는 명령줄 인수를 통해 사용자 정의할 수 있으며, UXterm은 유니코드를 지원한다.

Xterm - [IT 관련 정보]에 관한 문서
일반 정보

이미지 준비중입니다.

XTerm 아이콘 (2012년부터)
종류단말 에뮬레이터
개발
저자Mark Vandevoorde
개발자Thomas Dickey
출시
최초 출시일1984년
최신 버전패치 #383
최신 버전 출시일2023년 6월 27일
기술 정보
운영 체제유닉스, 유닉스 계열, MVS, OpenVMS, OS/2
라이선스MIT 라이선스/X 컨소시엄 라이선스
웹사이트
공식 웹사이트공식 웹사이트
📚 더 읽어볼만한 페이지
  • 자유 터미널 에뮬레이터 - PuTTY
    PuTTY는 SSH, 텔넷 등 다양한 통신 프로토콜을 지원하는 자유-오픈 소스 터미널 에뮬레이터로, 여러 운영체제에서 사용 가능하며 터미널 에뮬레이션, 포트 포워딩 기능과 함께 PSCP, PSFTP, Plink 등의 유틸리티 및 PuTTYgen, Pageant를 제공한다.
  • 자유 터미널 에뮬레이터 - 윈도우 콘솔
    윈도우 콘솔은 윈도우 운영체제에서 명령 줄 인터페이스 환경을 제공하며, 입력 및 출력 버퍼를 통해 작동하고 Windows API를 통해 프로그램과 상호 작용하며, 운영체제 버전에 따라 특징과 지원 방식에 차이가 있다.
  • 터미널 에뮬레이터 - 콘솔 애플리케이션
    콘솔 애플리케이션은 텍스트 기반 사용자 인터페이스를 활용하는 컴퓨터 프로그램으로, 단순성, 기종 의존성 감소, 자동화에 적합하며 프로그래밍 학습 및 테스트에도 유용하게 사용된다.
  • 터미널 에뮬레이터 - 3270 에뮬레이터
    3270 에뮬레이터는 소프트웨어적으로 IBM 3270 터미널 기능을 구현하여 다른 장치가 메인프레임 시스템과 통신하도록 돕는 프로그램으로, TN3270 방식을 통해 TCP/IP 프로토콜로 호스트에 연결되며, IBM과 서드파티 업체에서 다양한 에뮬레이터와 클라이언트를 개발했다.
  • C로 작성된 자유 소프트웨어 - PostgreSQL
    PostgreSQL은 캘리포니아 대학교 버클리 분교의 Ingres 프로젝트에서 시작되어 전 세계 개발자들의 협력을 통해 발전해온 객체 관계형 데이터베이스 관리 시스템(ORDBMS)이다.
  • C로 작성된 자유 소프트웨어 - 김프
    김프(GIMP)는 GNU 프로젝트에서 개발된 크로스 플랫폼 기반의 무료 오픈소스 래스터 그래픽 편집기로, 다양한 운영체제를 지원하며 풍부한 기능을 제공하지만 사용자 인터페이스에 대한 비판과 일부 기능의 부족함에 대한 평가도 존재한다.

2. 역사

xterm은 X 윈도우 시스템보다 먼저 개발되었다. 1984년 여름, VAXStation 100 (VS100)의 독립형 터미널 에뮬레이터로 개발되었으나, 이후 X의 일부로 변경되었다. 현재 xterm에서 파생된 많은 터미널 에뮬레이터가 존재한다.

xterm은 일반적으로 메뉴 막대가 없다. 사용자는 Control 키를 누른 상태에서 마우스 왼쪽, 가운데, 오른쪽 버튼을 클릭하여 세 개의 다른 메뉴를 사용할 수 있다. 컴파일 시 툴바를 포함할 수 있지만, 이 툴바는 앞서 언급한 메뉴를 호출하는 기능을 한다.

2.1. 초기 역사

xterm은 X 윈도우 시스템보다 먼저 개발되었다. 원래 xterm은 1984년 여름, VAXStation 100 (VS100)의 독립형 터미널 에뮬레이터로 Mark Vandevoorde에 의해 개발되었다. 그러나 독립적으로 동작하는 것보다 X의 일부가 되는 것이 더 편리하다는 것을 금방 알게 되었고, X용으로 변경되었다.

현재 xterm에서 파생된 많은 터미널 에뮬레이터가 존재한다.

3. 기능

xterm은 다양한 기능을 제공하는 터미널 에뮬레이터이다.

초기 버전은 VT102 및 Tektronix 4014를 에뮬레이션했다. 이후 DEC VT220, VT320, VT420, VT520 등 다양한 터미널에 대한 제어 시퀀스가 추가되었다.

xterm은 xterm 마우스 추적, xterm 256색 프로토콜 등 다른 단말 에뮬레이터들이 채택한 몇 가지 프로토콜을 추가했다.

xterm은 ANSI X3.64, Sixel 프로토콜과 함께 다음과 같은 터미널 제어 기능을 지원한다.

* 디지털 이큅먼트 코퍼레이션(Digital Equipment Corporation) VT 계열:
* VT52
* VT102
* VT220
* VT420
* 텍트로닉스(Tektronix) 계열:
* Tektronix 4014

xterm은 다음과 같은 프로토콜도 추가로 지원한다.

* 마우스 트래킹
* 16색 터미널 프로토콜
* 256색 터미널 프로토콜
* 88색 터미널 프로토콜
* 사용자 정의 색상 팔레트

xterm은 대부분의 X 응용 프로그램처럼 전역 X 리소스 파일, 사용자별 리소스 파일, 명령줄 인수를 통해 사용자 정의가 가능하다.

일반적으로 xterm에는 메뉴 표시줄이 없지만, 컨트롤 키와 마우스 버튼을 함께 눌러 세 가지 메뉴를 사용할 수 있다. '도구 모음' 지원을 추가할 수도 있다.

xterm의 도구 모음 예시
xterm의 도구 모음 예시


초기 Xterm은 PCF 비트맵 글꼴만 지원했으나, 2000년 Xft 라이브러리 도입 후 트루타입 등 현대적인 획 기반 글꼴도 지원한다.

3.1. 터미널 에뮬레이션

초기 버전은 VT102 및 Tektronix 4014를 에뮬레이션했다.

이후 버전에서는 DEC 및 다음과 같은 다른 터미널에 대한 제어 시퀀스가 추가되었다.

* VT220: 패치 24에 추가되었다. 1998년 xterm은 ISO-2022 시프트 기능 지원을 확장하여 National Replacement Character Set 기능을 제공하는 등 VT220 기능을 지원하게 되었다.
* VT320: 패치 24에 추가되었다.
* VT420: DECSTR (소프트 터미널 재설정)이 패치 34에 추가되었다. 2012년, xterm의 기본 에뮬레이션은 tmux가 해당 좌/우 여백 지원을 가정할 수 있도록 VT420으로 변경되었다.
* VT520: 공식적으로 에뮬레이션되지는 않았지만, VT520 기능의 일부가 구현되었다. 여백 및 경고 벨 볼륨을 설정하는 제어 DECSMBV 및 DECSWBV는 패치 254에 추가되었다.

3.2. 프로토콜

xterm은 다른 단말 에뮬레이터들이 채택하고 있는 몇 개의 프로토콜을 추가하였는데, 이를테면 xterm 마우스 추적과 xterm 256색 프로토콜이 있다. 지원되는 터미널 제어 기능은 다음과 같다.

* ANSI X3.64
* Sixel
* 디지털 이큅먼트 코퍼레이션(Digital Equipment Corporation) VT 계열:
* VT52
* VT102
* VT220
* VT420
* 텍트로닉스(Tektronix) 계열:
* Tektronix 4014

상업적으로 이용 가능한 터미널 기기에서 사용되는 프로토콜 외에도 xterm은 다음과 같은 몇 가지 프로토콜을 추가했으며, 이는 다른 터미널 에뮬레이터에서도 채택되었다.

* 마우스 트래킹: 버튼 4와 5에 대한 지원은 패치 120에서 추가되었다.
* 16색 터미널 프로토콜: 패치 39에서 추가되었다.
* 256색 터미널 프로토콜: 패치 111에서 추가되었다.
* 88색 터미널 프로토콜: 패치 115에서 추가되었다.
* 사용자 정의 색상 팔레트: 팔레트 항목에 대한 RGB 값을 지정하는 기능은 패치 111에서 추가되었다.

3.3. 사용자 정의

대부분의 X 응용 프로그램과 마찬가지로 xterm은 전역 X 리소스 파일(예: /usr/lib/X11/app-defaults/XTerm), 사용자별 리소스 파일(예: ~/XTerm, ~/.Xresources), 또는 명령줄 인수를 통해 사용자 정의할 수 있다. 매뉴얼 페이지에 나와 있듯이, 대부분의 명령줄 옵션은 리소스 설정에 해당한다.

프로그램 이름은 xterm이지만, X 리소스 클래스는 XTerm이다. uxterm 스크립트는 이를 재정의하여 UXTerm 리소스 클래스를 사용한다.

xterm은 일반적으로 메뉴 표시줄이 없다. xterm의 세 가지 메뉴에 접근하려면 사용자는 컨트롤 키를 누른 상태에서 마우스 왼쪽, 가운데 또는 오른쪽 버튼을 눌러야 한다. "도구 모음"에 대한 지원은 컴파일 시 포함될 수 있으며, 이는 동일한 메뉴를 호출한다.

xterm의 도구 모음을 보여주는 예시.
xterm의 도구 모음을 보여주는 예시.

3.4. 글꼴

초기 Xterm은 2000년 Xft 라이브러리가 도입되어 트루타입과 같은 현대적인 획 기반 글꼴을 지원하기 전까지는 PCF 비트맵 글꼴만 지원했다.

4. UXterm

xterm은 유니코드(UTF-8)를 지원하는 UXterm을 함께 제공한다.

5. 기타 파생 터미널

현재 xterm에서 파생된 많은 터미널 에뮬레이터가 존재한다.

xterm에는 일반적으로 메뉴 막대가 없다. 사용자는 Control 키를 누른 상태에서 왼쪽 클릭, 가운데 클릭, 오른쪽 클릭을 하여 세 개의 다른 메뉴에 접근할 수 있다. 컴파일 시 툴바를 포함시키는 것도 가능하지만, 이는 앞서 언급한 것과 동일한 메뉴를 호출한다.