블로그로 돌아가기

Ubuntu 18.04에서 VNC를 설치하고 구성하는 방법

Ubuntu 18.04에서 VNC를 설치하고 구성하는 방법

VNC (Virtual Network Computing )를 사용하면 그래픽 사용자 인터페이스(GUI),  데스크톱, 마우스 및 키보드를 사용하여 컴퓨터를 사용하는 것처럼 서버를 사용할 수 있습니다. 서버 작업이 처음인 사용자가 더 쉽게 컴퓨팅을 할 수 있도록 도와줍니다.

Cloudsigma를 사용하면 서버를 생성한 직후에 VNC에 액세스할 수 있습니다. 이와 함께 이 튜토리얼에서는 Ubuntu 18.04에 VNC 서버를 설정하고 보안 터널을 사용하여 연결합니다. 이 튜토리얼에서는 가볍고 빠른 VNC 서버 패키지인 TigerVNC를 사용합니다. 이를 통해 느린 네트워크에서도 원활한 환경을 제공합니다.

사전 요구 사항

먼저 머신을 생성해야 합니다. CloudSigma 웹 앱의 컴퓨팅 섹션에서 쉽게 생성할 수 있습니다.
Create a Linux Server setup java VNC

이 튜토리얼에서는 다음 리소스를 사용할 수 있습니다.
CPU: 8 GHz
RAM: 8 GB
SSD: 50 GB

다음과 같이 디스크를 마운트할 수 있습니다. Ubuntu 18.04 LTS 이미지는 CloudSigma 라이브러리에서 사용할 수 있습니다.
Ubuntu 18.04: VirtIO 드라이버가 사전 설치된 64비트, superuser, Python 2.7.17, Pip 20.0.2 OpenSSL 1.1.1d, Cloud-init 및 2019-03-03까지의 최신 업데이트.

머신을 시작한 후, 다음 명령을 실행하여 머신의 기존 모든 저장소와 패키지를 업데이트할 수 있습니다.

CloudSigma VNC 기능

CloudSigma는 VNC를 통해 머신에 쉽게 액세스할 수 있는 방법을 제공합니다.

vnc tunnel

VNC Tunnel’의 토글 버튼을 클릭하여 활성화할 수 있습니다. 활성화하면 이 화면이 표시됩니다.

vnc link

SSH 키를 첨부한 경우, 서버에 액세스하고 다음 명령을 사용하여 비밀번호를 변경해야 합니다.

SSH 키를 첨부하지 않은 경우 위의 단계를 건너뛸 수 있습니다. 비밀번호는 설치 노트(Install Notes)에서 찾을 수 있습니다.

 

브라우저에서 VNC 창을 열려면 ‘Display VNC’를 클릭하거나, VNC 클라이언트에 연결하는 데 필요한 세부 정보를 보려면 ‘Display VNC URL’을 클릭할 수 있습니다. ‘Display VNC’를 클릭하면 새 탭이 열리고 자격 증명을 묻는 메시지가 표시됩니다. VNC 클라이언트를 사용하여 VM을 사용하는 것과 동일한 방식으로 사용할 수 있습니다.

open vnc in browser

이제 서버에 VNC를 설치하는 다른 방법을 살펴보겠습니다.

VNC 서버 설치

Ubuntu 이미지에는 기본적으로 GUI 패키지가 포함되어 있지 않습니다. 최신 XFCE 데스크톱 환경을 위한 패키지와 Ubuntu 저장소에서 제공되는 TigerVNC 패키지를 설치하겠습니다.

다음 명령을 사용하여 XFCE 패키지를 설치할 수 있습니다.

sudo apt install xfce4 xfce4-goodies

XFCE 패키지 설치 후, 다음 명령을 사용하여 TigerVNC 서버를 설치할 수 있습니다.

구성을 완료하려면 다음 명령을 실행하고 VNC 연결을 위한 비밀번호를 설정하십시오.

위 명령을 실행하는 동안 보기 전용(view-only) 비밀번호로 로그인할지 묻는 메시지가 표시됩니다. 보기 전용 비밀번호를 사용하면 화면만 볼 수 있고 시스템을 사용할 수는 없습니다. 이 옵션은 다른 사람이 화면을 볼 수만 있고 조작은 하지 못하게 하려는 경우에 유용합니다.

다음으로, 명령이 필요한 모든 구성을 생성합니다. 이 단계에서 원격 시스템이나 컴퓨터에서 VNC 서버를 사용할 수 있습니다. 이 튜토리얼의 일환으로, 사용하기 전에 서버를 추가로 구성하겠습니다.

VNC 서버 구성

이 섹션에서는 사용할 기본 데스크톱을 구성하는 방법을 보여줍니다. 

홈 디렉토리의 .vnc 폴더에 있는 ‘xstartup’이라는 파일에 이 명령들을 구성해야 합니다. vncserver 명령을 처음 실행했을 때 시작 스크립트가 생성되었습니다. XFCE 데스크톱을 실행하기 위해 다른 스크립트를 생성할 것입니다.

또한, vncserver 명령을 처음 실행했을 때 포트 5901을 사용하는 기본 서버 인스턴스가 실행되었습니다. 이 포트는 디스플레이 포트라고 불리며 VNC에서는 “:1”로 참조됩니다. 명령을 다시 실행하면 VNC는 다른 포트에 다른 인스턴스 “:2”를 생성하는 식으로 계속 진행됩니다.

VNC 서버를 구성할 예정이므로 이미 실행 중인 인스턴스를 중지합니다: 

시작 파일을 수정하기 전에 원본 파일의 백업을 만듭니다:

이제 vim 편집기를 사용하여 원본 파일을 편집하고 해당 내용을 다음과 같이 바꿀 수 있습니다:

vncserver를 시작하거나 재시작할 때마다 프로세스는 이 파일의 명령을 실행합니다. 이 명령들은 데스크톱 환경이 아직 시작되지 않은 경우 이를 시작합니다. 

첫 번째 명령인 “xrdb $HOME/.Xresources” 은 GUI 프레임워크에 이 위치에서 구성을 읽도록 지시합니다. 터미널 색상, 커서 테마 등 데스크톱의 다양한 설정을 구성할 수 있습니다. 두 번째 명령은 XFCE를 시작합니다.

VNC 서버가 파일을 실행할 수 있도록 하려면 권한을 변경해야 합니다:

권한을 변경한 후, 이제 VNC 서버를 실행할 수 있습니다:

Start VNC Server

이제 서버가 준비되었으므로 컴퓨터에서 서버에 연결할 수 있습니다.

VNC 연결을 위한 보안 터널 생성

VNC는 연결할 때 보안 프로토콜을 사용하지 않으므로, SSH를 사용하여 보안 연결을 생성합니다. SSH 보안 터널을 사용하여 가상 데스크톱에 연결할 수 있습니다.

연결을 localhost로 안전하게 전달하는 SSH 터널을 생성하려면 터미널 또는 PowerShell(Windows용)에서 다음 명령을 사용할 수 있습니다:

위 명령에서,

-L: 포트 바인딩을 지정하는 데 사용됩니다. 이 경우 서버의 5901 포트를 우리 시스템의 5901 포트로 전달합니다.

-C: 압축을 활성화하는 데 사용됩니다.

-N: 명령의 원격 실행이 필요하지 않음을 지정하는 데 사용됩니다.

-l: 원격 로그인 이름을 지정합니다.

-i: 키의 위치를 지정합니다. 

Creating SSH Tunnel

터널이 실행되면 VNC 클라이언트를 사용하여 localhost:5901에 연결합니다. 이전에 설정한 비밀번호를 입력하라는 메시지가 표시됩니다.

연결되면 이와 유사한 화면이 표시됩니다.

Connecting to Remote Desktop

Ctrl + C를 눌러 SSH 터널을 중지할 수 있습니다.

VNC를 시스템 서비스로 실행

이제 systemd 명령을 사용하여 VNC를 시작, 재시작 또는 상태를 확인하는 시스템 서비스로 설정할 수 있습니다. 또한 서버가 재부팅될 때 VNC 서버가 시작되도록 보장합니다.

그렇게 하려면 새 유닛 파일인 /etc/systemd/system/vncserver@.service를 생성합니다.

위의 파일 이름에 ‘@’ 기호가 있는 것을 알 수 있습니다. 이를 통해 서버 구성에서 사용할 수 있는 인수를 전달할 수 있습니다. 

파일에 다음 내용을 추가합니다:

‘ExecStartPre’ 명령은 VNC가 이미 실행 중인 경우 이를 중지하는 반면, ExecStart 명령은 색상 깊이를 24비트 색상으로, 해상도를 1280×800으로 설정하여 VNC를 시작합니다. 필요에 맞게 이 파일을 수정할 수 있습니다.

이제 다음 명령어를 사용하여 systemd 유닛을 다시 로드할 수 있습니다:

이제 systemctl이 새 유닛을 인식했으므로 다음 명령어를 사용하여 활성화할 수 있습니다:

@ 뒤의 숫자 1은 서비스가 표시될 디스플레이 번호를 나타냅니다. 예:1, :2 등.

현재 인스턴스를 중지하려면 다음 명령어를 실행하세요:

Enabling Service

이제 다른 서비스를 시작하는 것처럼 VNC 서버를 시작할 수 있습니다.

서비스가 실행 중인지 확인하려면 다음 명령어를 실행하세요:

이제 서버를 재부팅하면 VNC 서버를 사용할 수 있습니다.

이제 VNC 서버를 설정하는 방법을 알았으므로, 컴퓨터를 관리하는 것처럼 서버를 쉽게 관리할 수 있습니다.

author

Akshay Nagpal

작성자 · CloudSigma

Preslav Dobrev는 CloudSigma의 크리에이티브 디자이너로서, 전통적이고 혁신적인 마케팅 채널을 활용하여 일관된 비즈니스 정체성을 구축하는 데 중점을 두고 있습니다. 그는 영향력 있는 브랜드 내러티브를 창출하기 위해 예술적 비전과 전략적 마케팅을 결합하는 데 능숙합니다.

댓글

아직 댓글이 없습니다. 첫 번째로 작성해 보세요.