웹사이트 검색

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에 대한 것으로, 이는 단순히 이전의 두 명령(stopstart)이 하나의 명령으로 결합된 것입니다.

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의 터미널을 통해 이 작업을 수행할 수 있습니다.

(userserver_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 서버가 실행되고 있어야 합니다. 이제 사용하기 쉬운 그래픽 인터페이스로 서버의 파일, 소프트웨어 및 설정을 관리할 수 있습니다.