문제
다음 상황과 관련된 설명으로 알맞은 것은?
A 시스템에 있는 Firefox 프로그램을 원격지에 있는 B 시스템에 전송해서 실행할 수 있도록 제공하려고 한다.
① A 시스템은 X 서버가 되고, 환경변수인 DISPLAY를 변경한다. ② A 시스템은 X 클라이언트가 되고, 환경변수인 DISPLAY를 변경한다. ③ B 시스템은 X 클라이언트가 되고, 환경변수인 DISPLAY를 변경한다. ④ B 시스템은 X 서버가 되고, 환경변수인 DISPLAY를 변경한다.
정답
2번
해설
정답: 2. X 윈도에서 프로그램(Firefox)이 실행되는 A 시스템이 X "클라이언트", 화면을 표시하는 B 시스템이 X "서버"가 된다. A 의 클라이언트가 출력 위치를 B 로 보내려면 A 에서 환경변수 DISPLAY 를 B 시스템(서버)으로 지정한다. 따라서 "A 시스템은 X 클라이언트가 되고, DISPLAY 를 변경한다"가 옳다.
오답 풀이
- 1번: 프로그램을 실행하는 A 는 X 서버가 아니라 X 클라이언트이다.
- 2번: A=X 클라이언트, DISPLAY 를 B(서버)로 변경한다는 설명으로 옳다.
- 3번: 화면을 표시하는 B 는 클라이언트가 아니라 X 서버이며, DISPLAY 를 바꾸는 쪽은 클라이언트(A)이다.
- 4번: B 가 X 서버인 것은 맞지만 DISPLAY 를 변경하는 주체는 B 가 아니라 프로그램을 실행하는 A 이다.
보충 개념 X 윈도는 역할이 직관과 반대다: 프로그램(앱)이 X "클라이언트", 화면·입력장치를 가진 쪽이 X "서버". 클라이언트에서 "export DISPLAY=서버IP:0" 으로 출력 대상을 지정한다.