사이드바 영역으로 건너뛰기

Ubuntu Dapper에서 리모트 X 어플리케이션 실행하기


X 윈도우 시스템의 장점 중 하나라면 리모트 X 어플리케이션을 자신이 보고있는 디스플레이 장치 (X 서버가 설치되어 있는 컴퓨터의) 로 실행시킬 수 있다는 (?) 점이다. 
그 방법은 간단해서, X 서버가 설치되어 있는 컴퓨터에서

$ xhost + remote-host
라고 한 다음, 리모트 컴퓨터에서 -display 옵션을 사용하거나, DISPLAY 환경변수를 X 서버 주소를 설정해 주면, 실행되는 X 어플리케이션을 자신의 모니터로 학인 할 수 있었다.

그러나, 이런 방식은 보안상의 이유로 최근 배포판에서는 사용되지 않는 듯 하다. 그래서 우분투 대퍼에서는 리모트 X 어플리케이션을 실행하려면 ssh 의 X 프로토콜 포워딩 기능을 사용해야 한다.

방법은 간단하지만, 리모트 서버에 sshd 데몬이 설치/실행되어야 하고, xauth 패키지가 설치되어 있어야 한다.

X 서버가 실행되고 있는 컴퓨터에서 다음과 같이 실행한다.

myname@myserver:~$ ssh -X remote-id@remote-host
remote-id@remote-host's password:(remote-host의 remote-id 비밀번호 입력)

Linux remote-host 2.6.15-23-server #1 SMP Tue May 23 15:10:35 UTC 2006 i686 GNU/Linux

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
Last login: Fri Jun 16 15:07:02 2006 from XX.XX.XX.XX
/usr/bin/xauth:  creating new authority file  /home/remote-id/.Xauthority
라고 한 다음, 리모트 컴퓨터에서 -display 옵션을 사용하거나, DISPLAY 환경변수를 설정한 다음 X 어플리케이션을 실행하면 자신의 컴퓨터에서 확인 할 수 있다.

* 2006년 7월 27일 추가
리모트 호스트가 솔라리스일 경우 안되어서 확인해 본 결과, 리모트 호스트쪽 sshd_config 파일의 내용이 다음과 같아야 한다. (붉은색 부분이 바뀐 부분)
XAuthLocation 항목은 xauth 프로그램 위치를 나타내는데, 굳이 없어도 잘 동작한다.
# Port forwarding
AllowTcpForwarding yes

# If port forwarding is enabled, specify if the server can bind to INADDR_ANY.
# This allows the local port forwarding to work when connections are received
# from any remote host.
GatewayPorts no

# X11 tunneling options
X11Forwarding yes
X11DisplayOffset 10
#XAuthLocation /usr/openwin/bin/xauth




* 도움 받은 글 : 우분투 포럼 Remote X Apps

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크