다음 이전 차례

5. 클라이언트 일려주기(Telling the Client)

클라이언트 프로그램(예를 들어, 당신의 그래픽 응용프로그램)은 환경변수 DISPLAY를 살펴서 어느 디스플레이에 연결해야 하는가를 정한다. 그러나, 이 설정은 명령행 옵션 -display hostname:0이 프로그램이 실행을 시작할 때 클라이언트에 전해지는 것으로, 무시 될 수 있다. 설명을 명확하게 해줄지도 모르는 어떤 예가 있다.

우리의 컴퓨터는 외부에서 light로 식별하고, 도메인 uni.verse 상에 있다. 우리가 보통의 엑스 서버를 실행중이라면, 디스플레이는 light.uni.verse:0로 식별한다. 우리는, dark.matt.er라 불리는, 원격 컴퓨터상에서 그리기 프로그램 xfig를 실행하고, 여기 light에 그것의 출력을 표시하기를 원한다.

당신은 이미 원격 컴퓨터 dark.matt.er에 telnet접속이 되어있다고 가정한다.

당신이 원격 컴퓨터에서 csh을 실행중이라면:

dark% setenv DISPLAY light.uni.verse:0
dark% xfig &

또는 대신에:

dark% xfig -display light.uni.verse:0 &

당신이 원격 컴퓨터에서 sh을 실행중이라면:

dark$ DISPLAY=light.uni.verse:0
dark$ export DISPLAY
dark$ xfig &

또는 대신에:

dark$ DISPLAY=light.uni.verse:0 xfig &

또는 당연히:

dark$ xfig -display light.uni.verse:0 &

telnet의 어떤 버젼은 자동으로 원격 호스트 DISPLAY변수에 로컬 호스트 DISPLAY변수를 전달한다. 만약 당신이 이런 종류의 telnet을 가지고 있다면, 당신은 운이 좋은 것이다, 수동으로 변수를 설정않해도 된다. 그렇지 않은 경우라면, 대부분의 버전의 telnet은 TERM 환경 변수만을 전달한다; 약간의 사려 깊은 해킹으로 DISPLAY 변수가 TERM 변수와 같이 전달되도록 하는 것이 가능하다.

같이 전달되도록 하는 개념을 당신은 다음의 작업들을 수행할 수 있는 약간의 스크립트 작성으로 구현이 가능하다: telnet접속을 하기전에, DISPLAY의 값을 TERM에 붙인다. 그리고 나서 telnet접속을 한다. 원격접속이 이루어진 후에, 쉘에 따라 실행되는 .*shrc 파일이 실행 중에, TERM로부터 DISPLAY값을 읽는다.


다음 이전 차례