Ubuntu 14.04에서 VNC를 설치하고 구성하는 방법
소개
VNC 또는 "Virtual Network Computing\은 키보드와 마우스를 사용하여 원격 서버의 그래픽 데스크톱 환경과 상호 작용할 수 있는 연결 시스템입니다. VNC를 사용하면 원격 서버에서 파일, 소프트웨어 및 설정을 보다 쉽게 관리할 수 있습니다. 아직 명령줄 작업에 익숙하지 않은 사용자
이 가이드에서는 Ubuntu 14.04 서버에 VNC를 설정하고 SSH 터널을 통해 안전하게 연결합니다. 우리가 사용할 VNC 서버는 빠르고 가벼운 원격 제어 패키지인 TightVNC입니다. 이 선택은 느린 인터넷 연결에서도 VNC 연결이 원활하고 안정적임을 보장합니다.
전제 조건
이 가이드를 시작하기 전에 먼저 완료해야 하는 몇 가지 단계가 있습니다.
sudo
권한이 있는 루트가 아닌 사용자로 Ubuntu 14.04 서버를 설치 및 구성해야 합니다. 아직 이 작업을 수행하지 않은 경우 Ubuntu 14.04 초기 서버 설정 가이드의 1-4단계를 실행하여 이 계정을 만들 수 있습니다.
루트가 아닌 사용자가 있으면 이를 사용하여 Ubuntu 서버에 SSH로 연결하고 VNC 서버 설치를 계속할 수 있습니다.
1단계 - 데스크톱 환경 및 VNC 서버 설치
기본적으로 대부분의 Linux 서버 설치에는 그래픽 데스크탑 환경이 제공되지 않습니다. 이 경우 작업할 수 있는 것을 설치하는 것부터 시작해야 합니다. 이 예에서는 대부분의 사용자에게 친숙하면서도 매우 가벼운 XFCE4를 설치합니다.
apt
를 사용하여 Ubuntu의 소프트웨어 리포지토리에서 직접 TightVNC용 패키지와 함께 XFCE 패키지를 가져올 수 있습니다.
sudo apt-get update
sudo apt-get install xfce4 xfce4-goodies tightvncserver
VNC 서버의 초기 구성을 완료하려면 vncserver
명령을 사용하여 보안 암호를 설정하십시오.
vncserver
(액세스 비밀번호를 설정한 후 보기 전용 비밀번호를 입력할 것인지 묻는 메시지가 표시됩니다. 보기 전용 비밀번호로 로그인한 사용자는 마우스나 키보드로 VNC 인스턴스를 제어할 수 없습니다. 이것은 VNC 서버를 사용하는 다른 사람들에게 무언가를 시연하려는 경우 유용한 옵션입니다.)
vncserver
는 서버에서 사용할 기본 구성 파일과 연결 정보를 생성하여 VNC 설치를 완료합니다. 이러한 패키지가 설치되면 VNC 서버와 그래픽 데스크탑을 구성할 준비가 된 것입니다.
2단계 - VNC 서버 구성
먼저 VNC 서버가 시작할 때 수행할 명령을 알려줘야 합니다. 이러한 명령은 xstartup
이라는 구성 파일에 있습니다. 우리의 VNC 서버에는 이미 사전 로드된 xstartup
파일이 있지만 XFCE 데스크톱에 대해 몇 가지 다른 명령을 사용해야 합니다.
VNC가 처음 설정되면 포트 5901에서 기본 서버 인스턴스를 시작합니다. 이 포트를 디스플레이 포트라고 하며 VNC에서 :1
로 참조합니다. VNC는 :2
, :3
등과 같은 다른 디스플레이 포트에서 여러 인스턴스를 시작할 수 있습니다. VNC 서버로 작업할 때 :X
를 기억하십시오. 5900+X
를 참조하는 디스플레이 포트입니다.
VNC 서버 구성 방식을 변경할 예정이므로 먼저 포트 5901에서 실행 중인 VNC 서버 인스턴스를 중지해야 합니다.
vncserver -kill :1
새 xstartup
파일 구성을 시작하기 전에 나중에 필요할 경우를 대비하여 원본을 백업해 두겠습니다.
mv ~/.vnc/xstartup ~/.vnc/xstartup.bak
이제 nano
를 사용하여 새 xstartup
파일을 열 수 있습니다.
nano ~/.vnc/xstartup
VNC 서버를 시작하거나 다시 시작할 때마다 자동으로 수행되도록 다음 명령을 파일에 삽입합니다.
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
파일의 첫 번째 명령인 xrdb $HOME/.Xresources
는 VNC의 GUI 프레임워크에 서버 사용자의 .Xresources
파일을 읽도록 지시합니다. .Xresources
는 사용자가 터미널 색상, 커서 테마 및 글꼴 렌더링과 같은 그래픽 데스크톱의 특정 설정을 변경할 수 있는 곳입니다.
두 번째 명령은 단순히 서버에 XFCE를 시작하도록 지시합니다. 여기에서 서버를 편안하게 관리하는 데 필요한 모든 그래픽 소프트웨어를 찾을 수 있습니다.
VNC 서버가 이 새로운 시작 파일을 제대로 사용할 수 있도록 하려면 실행 권한을 부여해야 합니다.
sudo chmod +x ~/.vnc/xstartup
3단계 - VNC 서비스 파일 만들기
새로운 VNC 서버를 쉽게 제어하려면 우분투 서비스로 설정해야 합니다. 이렇게 하면 필요에 따라 VNC 서버를 시작, 중지 및 다시 시작할 수 있습니다.
먼저 nano
를 사용하여 /etc/init.d
에서 새 서비스 파일을 엽니다.
sudo nano /etc/init.d/vncserver
첫 번째 데이터 블록은 사용자 이름 및 디스플레이 해상도와 같이 VNC가 많이 참조할 몇 가지 공통 설정을 선언하는 곳입니다.
#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER="user"
DISPLAY="1"
DEPTH="16"
GEOMETRY="1024x768"
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
. /lib/lsb/init-functions
user
를 설정한 루트가 아닌 사용자로 바꾸고 1024x768
을 변경해야 합니다. 가상 디스플레이에 다른 화면 해상도를 사용하고 싶습니다.
다음으로 새 서비스를 관리할 수 있는 명령 지침을 삽입할 수 있습니다. 다음 블록은 VNC 서버를 시작하는 데 필요한 명령과 시작되고 있다는 피드백을 start
명령 키워드에 바인딩합니다.
case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;
다음 블록은 기존 VNC 서버 인스턴스를 즉시 종료하는 명령 키워드 stop
을 생성합니다.
stop)
log_action_begin_msg "Stopping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;
마지막 블록은 명령 키워드 restart
에 대한 것으로, 이는 단순히 이전의 두 명령(stop
및 start
)이 하나의 명령으로 결합된 것입니다.
restart)
$0 stop
$0 start
;;
esac
exit 0
해당 블록이 모두 서비스 스크립트에 있으면 해당 파일을 저장하고 닫을 수 있습니다. 방금 설정한 명령을 사용할 수 있도록 이 서비스 스크립트를 실행 가능하게 만드십시오.
sudo chmod +x /etc/init.d/vncserver
이제 서비스 및 명령을 사용하여 새 VNC 서버 인스턴스를 시작해 보십시오.
sudo service vncserver start
4단계 - VNC 데스크톱에 연결
VNC 서버를 테스트하려면 SSH 터널을 통한 VNC 연결을 지원하는 클라이언트를 사용해야 합니다. Windows를 사용하는 경우 TightVNC, RealVNC 또는 UltraVNC를 사용할 수 있습니다. Mac OS X 사용자는 내장된 화면 공유를 사용하거나 RealVNC와 같은 교차 플랫폼 앱을 사용할 수 있습니다.
먼저 VNC용 localhost
연결로 안전하게 전달하는 SSH 연결을 로컬 컴퓨터에 생성해야 합니다. 다음 명령을 통해 Linux 또는 OS X의 터미널을 통해 이 작업을 수행할 수 있습니다.
(user
및 server_ip_address
를 SSH를 통해 서버에 연결하는 데 사용한 사용자 이름 및 IP로 교체해야 합니다. )
ssh -L 5901:127.0.0.1:5901 -N -f -l user server_ip_address
PuTTY와 같은 그래픽 SSH 클라이언트를 사용하는 경우 server_ip_address
를 연결 IP로 사용하고 localhost:5901
을 새 전달 포트로 설정합니다. 프로그램의 SSH 터널 설정에서.
다음으로 VNC 뷰어를 사용하여 localhost:5901
에서 VNC 서버에 연결할 수 있습니다. VNC 인스턴스에 액세스할 수 있는 유일한 포트이므로 끝에 있는 :5901
을 잊지 마십시오.
연결되면 구성 및 사용할 준비가 된 기본 XFCE 데스크톱이 표시됩니다! 다음과 같아야 합니다.

VNC 연결이 작동하는지 확인했으면 VNC 서비스를 기본 서비스에 추가하여 서버를 부팅할 때마다 자동으로 시작되도록 합니다.
sudo update-rc.d vncserver defaults
결론
이제 Ubuntu 14.04 서버에서 보안 VNC 서버가 실행되고 있어야 합니다. 이제 사용하기 쉬운 그래픽 인터페이스로 서버의 파일, 소프트웨어 및 설정을 관리할 수 있습니다.