VNC를 사용하여 linux 서버 GUI 다루기

in vnc •  7 years ago 

보통 서버에서 작업을 할 때 터미널 ssh만 사용하지만, 가끔 gui가 필요할 때가 있다. 예를 들어, 브라우저를 켜서 로그인을 하여 인증을 받아야 다운받을 수 있는 링크가 있을때.

그래서 VNC를 사용하여 서버의 gui를 사용해보고자 한다.

HOST server는 UBUNTU 14.04, client는 macOS라고 가정하였지만 다른 경우도 별반 다르지 않을 것이다. 주요 아이디어는 VNC-server를 Host에서 작동시키고, client에서는 Host로 적절 Port(:590x)에 Portforward를 하고 localhost:590x에서 접속을 한다.

VNC 설정

서버에서 :

필요한 것들 설치. sudo apt-get install vnc4server, xrdp, xfce4

vncpasswd로 비밀번호 생성. 참고로 8자가 넘어가면 안된다.

그리고 /etc/init.d/vnc-mine 파일을 만들어줌. 여기서 각자 바꿔야할 값은 USER와 DISPLAY.

#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER="junho"  #Current unbuntu id
DISPLAY="3" #이것도 새로만들어줌.
DEPTH="16"
GEOMETRY="1280x800"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
. /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 "Stopping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

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

방금 만든 vnc-mine은 당연히 executable해야함. sudo chmod 755 vnc-mine

그다음 ~/.vnc/xstartup 경로에 다음 코드로 대체. 이미 있을 수 있는데 백업해놓자.

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

chmod 755 xstartup 로 executable하게 바꾼다.
마지막으로 vnc server 가동 sudo service vnc-mine start

클라이언트에서:

vnc-viewer를 설치.
ssh -L 590x:localhost:590x [email protected] 로 클라이언트에서 서버로 포트포워딩.
여기서 x는 아까 vnc-mine에서 DISPLAY에 있는 숫자. 위의 경우에는 3이 들어가야함.
터미널 세션이 켜져있을 동안에 local:590x 에 접속하면 비밀번호가 생기고 아까 vncpasswd로 만들어준 비밀번호로 로그인하면 됨.

성공화면

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!