IT관련 지식들 2019. 1. 22. 15:54

 서버에 X윈도우로 접근해서 UI텍스트 편집기를 사용하려는 꿈에서 VNC 서버 설치를 시작했다.


1. 설치

인터넷을 찾아보니 패키지 설치부터.


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

$sudo apt-get install gnome-panel vnc4server


2. 실행 - 암호 설정
계정으로 실행해보면 password 설정을 묻는다.


$vnc4server

... 중략 ...

password:

verify:

... 하략 ...


계정마다 서버에 대한 설정을 따로 진행하기 때문에 내가 사용하는 계정으로 한번 실행해야 한다.


3. 실행환경 설정

실행 환경을 설정한다. 이때 계정마다 설정을 다르게 하기 때문에 sudo 명령어가 필요없다.


$ vnc4server -kill :1

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

$ vim ~/.vnc/xstartup


아래 내용으로 변경한다.

#!/bin/sh


# Uncomment the following two lines for normal desktop:


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 &

# 만약 다른 곳에서 연결하는데 화면이 나오지 않으면 추가한다.

# /usr/bin/gnome-session --session=2d-gnome &


x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &

x-window-manager &



4. 자동실행 설정


$ sudo nano /etc/init.d/vncserver

아래 내용을 복사하여 붙여넣는다.

#!/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=사용자 계정


DISPLAY="1"

DEPTH="16"

GEOMETRY="1600x900"


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}"

echo "su ${USER} -c /usr/bin/vncserver ${OPTIONS}"

su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"

;;


stop)

log_action_begin_msg "Stoping vncserver for user ${USER} on localhost:${DISPLAY}"

echo "su ${USER} -c /usr/bin/vnc4server -kill :${DISPLAY}"

su ${USER} -c "/usr/bin/vnc4server -kill:${DISPLAY}"

;;


restart)

$0 stop

$0 start

;;


*)

echo "Usage:/etc/init.d/nvcserver {start|stop|restart}"
;;
esac

exit 0

쉘스트립트의 사용법을 잘 몰라서 ""때문에 고생을 많이 했다. 다른 사이트의 참고자료를 복사할 때도 주의해서 복사하자.



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

$ sudo update-rc.d vncserver defaults


쉘스트립트가 잘 동작하는 확인하기 위해서 다음과 같이 명령어를 실행시켜보면 좋다.


$ sudo /etc/init.d/vncserver start

 * “Starting vncserver for user ‘kangmin’ on localhost:1”...                    su kangmin -c '/usr/bin/vncserver -depth 16 -geometry 1280x720 :1'

A VNC server is already running as :1

$ sudo /etc/init.d/vncserver stop

 * “Stoping vncserver for user ‘kangmin’ on localhost:1”...                     su kangmin -c '/usr/bin/vnc4server -kill:1'


New 'Megatong00:11 (kangmin)' desktop is Megatong00:11


Starting applications specified in /home/kangmin/.vnc/xstartup

Log file is /home/kangmin/.vnc/Megatong00:11.log


vnc를 설정 해지하려면

$ sudo update-rc.d vncserver remove


posted by 동글동글82
: