회사에서 VNC를 사용하고자 하는데, RealVNC 라는 업체에서 제공하는 것은 왠지 찝찝했다.

그러다가 발견한 문구 !!!

 

"free for both personal and commercial usage, with full source code available"

 

http://www.tightvnc.com/

 

거기에다가 vnc4server와 거의 완벽히 일치한다.

 

기본 실행 환경은 Ubuntu Desktop 버전을 기본값으로 그대로 설치하고,

기본 패키지 업그레이드는 기본 상태에서 최신으로 계속 갱신해 놓은 상태이다.

 

아래 내용을 테스트한 환경은 아래와 같다.

- Ubuntu 12.04 LTS 64bit

- Ubuntu 14.04 LTS 64bit

- Ubuntu 16.04 LTS 64bit

 

이하 과정은 vnc4server와 거의 동일하다.

 

 

1. 필요 패키지 설치

 

    본래는 아래 패키지들도 설치해야하지만, 이미 설치되어 있어서 제외하고 설치해도 된다.

 

        - sudo apt-get install gnome-settings-daemon gnome-terminal metacity nautilus

 

    아래와 같이 필요한 패키지를 설치하자

 

$ sudo apt-get install gnome-panel tightvncserver

 

 

 

2. 첫 실행

 

    첫 실행을 해서 기본 Config 등의 구성을 하도록 하면 되는데,

    sudo 없이 계정 권한으로 실행하여도 된다.

 

$ vncserver

 

    아래와 같이 패스워드 설정을 진행하면 된다.

 

 

 

    위의 화면을 보면 알겠지만, 계정 권한으로 실행을 하면 해당 계정으로 환경 설정을 한다.

 

 

 

 

3. 기본 창 관리자 변경

 

    기본 생성된 xstartup 파일에는 내가 원하는 대로 환경 설정이 되어 있지 않다.

    가장 먼저 실행된 vnc4server를 종료부터 하고 xstartup 파일을 수정하자.

 

$ vncserver -kill :1

$ cp ~/.vnc/xstartup ~/.vnc/xstartup.old

$ nano ~/.vnc/xstartup

 

#!/bin/sh

export XKL_XMODMAP_DISABLE=1
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &

gnome-panel &
gnome-settings-daemon &
metacity &
nautilus &
gnome-terminal &

 

 

 

4. 다시 실행하기

 

    실행할 때에 해상도를 미리 정해줘야 한다.

 

$ vncserver -geometry 1024x768

 

 

 

5. VNC Viewer 로 접속하기

 

    다른 PC에서 해당 IP로 접속하면 된다. 물론 뒤에 디스플레이 번호 붙여서...

    VNC Viewer를 그대로 사용할 수도 있다.

 

 

    예쁘게 잘 나온다!

 

 

 

 

6. TightVNC Java Viewer 로 접속하기

 

    이왕 TightVNC를 사용하는 김에 Viewer도 바꿔 보자.

 

       - http://www.tightvnc.com/download.php

 

 

    다운로드 후 압축을 풀어서 실행하면 된다.

 

 

 

    실행하는 방법은 살짝 다르다. 여기에서는 Display가 아니라 포트 번호를 적어주면 된다.

 

 

 

    실행은 뭐 당연하게도 잘된다!

 

 

 

7. 부팅 時 자동으로 실행

 

    이제 잘 되는 것 까지는 확인했으니, 부팅할 때에 알아서 되도록만 하면 되겠다.

 

$ sudo nano /etc/init.d/vncserver

 

    아래 내용을 그대로 사용하면 된다.

    USER 부분이나 해상도 부분은 각자 상황에 맞게...

 

#!/bin/bash
### BEGIN INIT INFO
# Provides:          vncserver
# Required-Start:    networking
# Required-Stop:     networking
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
### END INIT INFO

 

PATH="$PATH:/usr/bin/"
export USER="u12"

 

DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"

 

OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY}"

 

. /lib/lsb/init-functions

 

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

 

stop)
log_action_begin_msg "Stoping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

 

restart)
$0 stop
$0 start
;;
esac
exit 0

 

$ sudo chmod +x /etc/init.d/vncserver

$ sudo update-rc.d vncserver defaults

 

    이제는 재부팅을 하여도 잘 된다~!!!

 

반응형

+ Recent posts