Operating System/Linux2010. 1. 12. 16:39

Linux 서버에 VNC Server를 설치하여 X-Window에 vnc로 연결할 수 있도록 설정을 해보겠습니다.

가장먼저 rpm 명령어를 통해서 서버에 VNC Server가 깔려 있는지부터 확인해보도록 합니다.

# rpm -qa | grep vnc


vnc 서버가 설치되어 있지 않아서 아무것도 리스트에 나타나지 않는다면 yum 명령어로 vnc-server를 설치해 줍니다.

# yum -y install vnc-server


설치가 끝나면 가장 먼저 /etc/sysconfig/vncservers 파일을 열어서 아래 두 줄을 추가해 줍니다.

vnc 서비스의 순서와 계정, 해상도를 설정하는 부분으로 "1:root"와 "1440x900" 부분을 원하는 값으로 변경하시면 됩니다.

vnc 서비스의 접속 포트번호는 여기서 설정한 순번에 5900을 더한 값으로 지정이 됩니다.(1번으로 설정하면 5901)

VNCSERVERS="1:root"
VNCSERVERARGS[1]="-geometry 1440x900"




위에서 사용하지는 않았지만 /etc/sysconfig/vncservers 파일 설정시 사용할 수 있는 옵션...

-nolisten tcp
TCP 통신을 통한 VNC 서버로의 연결을 차단합니다.

-nohttpd
웹기반 VNC 클라이언트의 연결을 차단합니다.

-localhost
secure tunnel을 통하지 않은 모든 원격 클라이언트의 접속을 차단합니다.


/etc/sysconfig/vncservers 파일의 설정을 모두 마쳤으면 vnc 연결에서 사용할 계정의 vnc 연결용 패스워드를 지정해줍니다.

# vncpasswd


패스워드를 지정하였으면 /root(사용할 계정 홈 디렉토리)/.vnc/xstartup 파일을 열어서

아래 이미지에서 표시된 부분의 주석 처리를 제거해주고 저장합니다.

이 작업이 이루어 지지 않으면 vnc 연결시 정상적인 X-Window가 보이지 않고 터미널 화면만 보이게 됩니다.



이제 VNC 서버의 설정은 모두 마쳤습니다. 서비스에 등록한 다음 시작해 봅니다.

# chkconfig vncserver on
#
# service vncserver start


서비스가 정상적으로 올라갔다면 VNC Client를 통해서 접속을 시도해 봅니다.

필자는 잘 알려진 윈도우용 VNC 프로그램인 RealVNC(http://www.realvnc.com/)를 이용하여 접속하였습니다.







만약에 정상 접속이 이루어 지지 않는다면 가장 먼저 서버에서 netstat 명령어를 통해 해당 포트가 listen 상태인지 확인합니다.

[root@huikyun /]# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:5801                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:5901                0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:6001                0.0.0.0:*                   LISTEN
tcp        0      0 :::6001                     :::*                        LISTEN
tcp        0      0 :::22                       :::*                        LISTEN
tcp        0    228 ::ffff:xxx.xxx.xxx.xxx:22       ::ffff:xxx.xxx.xxx.xxx:4129     ESTABLISHED
[root@huikyun /]#


netstat 명령에서 포트 listen이 정상임에도 접속이 안되는 것이라면

방화벽 설정에서 vnc 서비스용 포트를 열어두었는지 확인합니다.

# system-config-securitylevel

Posted by Huikyun