DISPLAY 변수의 의미

개요


X Window 시스템에서 DISPLAY 변수를 아주 중요하게 사용합니다. 이 DISPLAY 변수의 의미가 궁금합니다. (디스플레이, display, screen, number)



내용


X Window 시스템에서 DISPLAY 변수의 의미는 xterm과 같은 X 응용 프로그램이 화면 출력을 위해 접속할 X 서버의 장소를 의미합니다.

DISPLAY 변수는 다음과 같이 4부분으로 구성되어 있습니다.

HOSTNAME:display_number.screen_number


첫번째 HOSTNAME은 유닉스/리눅스 장비의 네트워크를 통해 도달이 가능한 이름을 의미합니다.

Xmanager를 통해 접속할 경우 Xmanager가 설치된 PC의 이름 혹은 그 IP 주소입니다. 이 HOSTNAME이 없거나 unix라는 이름으로 된 경우가 있습니다. 이는 X 응용 프로그램이 TCP/IP를 통해 원격의 X 서버에 접속하는 것이 아니고 유닉스 도메인 소켓(Unix Domain Sockets)을 통해 로컬의 Xserver에 접속하겠다는 뜻입니다. Xmanager를 사용하시는 분들이 습관적으로 로그인 스크립트에 DISPLAY 변수를 이렇게 설정해 놓는 경향이 있는데 이렇게 되면 Xmanager와 같은 원격의 X 서버를 이용하여 X 응용 프로그램을 이용하실 수 없습니다.


두번째 요소인 콜론은 X 응용 프로그램이 X 서버(Xmanager)와 유닉스 도메인 소켓을 이용하거나 TCP/IP를 이용하여 통신을 할 것이라는 것을 의미합니다. 네트워크를 통한 X Window 접속은 TCP/IP외에 DECnet이라는 프로토콜을 이용해서도 가능합니다. Xmanager는 TCP/IP 접속을 이용하므로 DECnet에 대해서는 언급하지 않겠습니다.


세번째 요소는 디스플레이 번호입니다. 서버 번호라고도 합니다. 이는 위에서 설명한 HOSTNAME의 X서버가 X응용프로그램을 위해 대기하고 있는 TCP 포트를 의미한다고 보시면 됩니다. 디스플레이 번호는 0번부터 시작하며 디스플레이 번호 0은 이 번호에 6000을 더한 TCP 포트 6000번을 의미합니다. Xmanager를 실행할 때마다 이 디스플레이 번호는 순차적으로 자동 증가합니다만 사용자가 직접 지정할 수도 있습니다. 디스플레이 번호는 생략될 수 없습니다.


네번째는 스크린 번호입니다. 여러 모니터를 지원하는 X 서버의 경우 각각의 모니터에 독자적인 스크린 번호를 부여함으로써 여러 모니터를 사용할 수 있습니다. 지금은 거의 쓰이지 않지만 X 터미널과 같은 하드웨어 장비에 있어서 다중 X 서버를 구동할 수 없는 경우 이 스크린 번호는 의미가 있을 수 있습니다. 그러나 Xmanager와 같이 한 장비에서 다중 X서버를 지원하는 경우에는 이 스크린 번호는 의미가 없으므로 사용하고 있지 않습니다. 이 번호는 생략될 수 있으며 생략된 경우는 스크린 번호 0을 의미합니다. Xmanager에서는 이 번호를 생략하거나 사용하더라도 반드시 0을 사용하여야 합니다.


마지막으로 Xmanager를 이용하여 접속할 경우 DISPLAY가 자동으로 설정되니 사용자는 임의로 DISPLAY 변수를 설정하여서는 안됩니다.