테크레시피

검은 배경에 흰 글씨…터미널이 탄생한 배경

PC를 이용한 애플리케이션 개발이나 파일 조작 등을 할 때, 사용자가 텍스트 기반으로 명령어를 입력해 컴퓨터 시스템이나 애플리케이션을 제어하기 위한 호스트 애플리케이션 터미널(Terminal)이 사용되는 경우가 있다. 이런 터미널은 어떻게 탄생했을까.

현대까지 이어지는 터미널은 DEC(Digital Equipment Corporation)가 1978년 출시한 비디오 디스플레이 터미널인 VT100에서 그 뿌리를 찾을 수 있다.

비디오 디스플레이 터미널은 이전 텔레타이프 터미널을 개선한 것. 텔레타이프 터미널은 키보드로 입력한 내용이나 수신한 메시지를 종이에 출력하는 것이었지만 비디오 디스플레이 터미널은 종이를 사용하지 않고 인터랙티브한 인터페이스를 갖춰 디스플레이 상에 정보를 표시할 수 있었다.

VT100이 등장하기 전까지 비디오 디스플레이 터미널은 장치마다 독자적인 이스케이프 시퀀스를 사용하고 있었다. 그 때문에 당시 애플리케이션에는 어떤 시퀀스를 사용해야 할지 고려하는 과정이 필요했고 이는 더 나은 발전을 저해하는 요인이 됐다.

이런 문제를 해결하기 위해 Termcap 같은 헬퍼 프로그램이 개발됐다. 현대에도 Termcap 개선 버전인 라이브러리인 Terminfo가 사용되고 있다.

이후 ECMA-48이나 ANSI X3.64와 같은 이스케이프 시퀀스의 규격이 정비됐고 VT100은 이런 이스케이프 시퀀스 규격을 지원한 첫 비디오 디스플레이 터미널이 됐다. VT100은 표준 이스케이프 시퀀스 규격을 지원해 확실한 프로그램 실행이 가능해졌다. 그 결과 VT100은 높은 인기를 얻어 많은 클론이 만들어졌다고 한다.

VT100 터미널을 기반으로 1984년에는 MIT에서 X 윈도 시스템 표준 터미널 소프트웨어인 xterm이 개발됐다. xterm은 기존 비디오 디스플레이 터미널에는 없었던 마우스 트래킹이나 설정 가능한 컬러 팔레트 같은 기능을 갖추고 있어 여러 클론이 이런 기능을 복사하게 됐다. 이렇게 xterm은 터미널 소프트웨어에서 새로운 사실상 표준으로 성장했다고 한다.

현대 터미널 기반 애플리케이션에서는 사용자가 자신이 확인할 수 있는 텍스트와 터미널 상태를 변경하는 제어 코드라는 2종류 데이터를 터미널에 작성하게 된다. 제어 코드에는 커서를 현재 행 선두로 이동시키는 /r이나 커서를 다음 행으로 이동시키는 /n 등 C0 제어 코드 등이 사용된다.

이런 터미널은 셸에서 직접 코드를 실행할 수 있는 등 기본적으로는 사용하기 쉽게 설계되어 있다. 하지만 현대 터미널 에뮬레이터 시스템을 지탱하는 건 xterm과 같은 오래된 기술이기 때문에 Ctrl이나 Alt 등 수정키 처리 방법 등 문제가 발생해 왔다.

그럼에도 불구하고 반복되는 업데이트와 개발로 인해 이런 문제는 해결되어 가고 있다. 터미널 기반이 되는 기술은 현대 기술 기준으로 볼 때 오래된 것이다. 하지만 이는 단점이 아니라 강점이라고 할 수 있다. 터미널 소프트웨어는 등장하고 사라지지만 터미널 기반이 되는 플랫폼이 사라지는 일은 없다는 설명이다. 관련 내용은 이곳에서 확인할 수 있다.

이원영 기자

컴퓨터 전문 월간지인 편집장을 지내고 가격비교쇼핑몰 다나와를 거치며 인터넷 비즈니스 기획 관련 업무를 두루 섭렵했다. 현재는 디지털 IT에 아날로그 감성을 접목해 수작업으로 마우스 패드를 제작 · 판매하는 상상공작소(www.glasspad.co.kr)를 직접 운영하고 있다. 동시에 IT와 기술의 새로운 만남을 즐기는 마음으로 칼럼니스트로도 활동 중이다.

뉴스레터 구독