Computer >> 컴퓨터 >  >> 시스템 >> Linux

우분투 리눅스(Ubuntu)에서 VNC 서버 설치하고 원격 데스크톱으로 접속하는 방법

원격 데스크톱으로 다른 컴퓨터에 접속하는 것은 현대 업무 환경에서 중요한 부분입니다. 원격 데스크톱 프로그램을 사용하면 물리적으로 가까이 있지 않아도 다른 시스템에 접근하고 제어할 수 있습니다. 재택근무가 보편화되면서 멀리 떨어진 지역에서도 자신의 컴퓨터를 활용해 원격으로 일할 수 있게 되었고, 원격 컴퓨팅의 중요성은 더욱 커지고 있습니다.

이 가이드에서는 우분투(Ubuntu) 20.04 LTS에 VNC(Virtual Network Computing) 서버를 설치하여 시스템에서 원격 컴퓨팅을 사용할 수 있도록 설정하는 방법을 단계별로 소개합니다.

VNC 서버란 무엇인가?

전통적으로 리눅스 컴퓨터는 SSH(Secure Shell) 같은 유틸리티를 통해 터미널로 다른 시스템에 접속해 왔습니다. 하지만 명령줄 인터페이스(CLI)만으로는 GUI를 통해 상대 PC와 상호작용할 수 없다는 한계가 있습니다. 바로 이럴 때 VNC 연결이 유용하게 쓰입니다.

VNC 서버(Virtual Network Computing Server)는 네트워크를 통해 그래픽 인터페이스로 다른 PC에 원격 접속하고 상호작용할 수 있게 해주는 시스템입니다. TightVNC, TigerVNC, RealVNC 등 다양한 VNC 애플리케이션이 개발되어 있으며, 이 가이드에서는 x11vnc 서버를 사용해 우분투 시스템에 원격 컴퓨팅 환경을 구축합니다.

x11vnc는 가볍고 효율적인 VNC 서버로, 원격 데스크톱용 별도의 디스플레이를 생성하지 않습니다. 대신 KDE, GNOME, Xfce 등 리눅스 시스템의 기존 x11 디스플레이를 실시간으로 보여줍니다. 또한 어떤 VNC 클라이언트나 뷰어로도 접속할 수 있다는 장점이 있습니다.

x11vnc 서버는 SSL/TLS 암호화와 2048비트 RSA 인증이 내장되어 있으며, VeNCrypt 지원과 함께 UNIX 계정 및 비밀번호 로그인 시스템도 제공합니다.

호환되는 디스플레이 매니저 설치하기

우분투 리눅스는 기본 디스플레이 매니저로 GNOME 디스플레이 매니저(GDM)를 사용하며, 최신 버전에서는 gdm3를 사용합니다. 하지만 GDM은 x11vnc 서버와 호환성이 좋지 않은 경우가 많습니다. 이 문제를 해결하려면 LightDM(Light Display Manager)을 설치해야 합니다.

Ctrl + Alt + T 단축키로 터미널을 열고, 먼저 apt로 소프트웨어 소스를 업데이트합니다.

sudo apt update

그다음 아래 명령으로 lightdm을 설치합니다.

sudo apt install lightdm

설치 과정에서 다음과 같은 화면이 나타납니다. 키보드의 Enter 키를 눌러 계속 진행하세요.

우분투 리눅스(Ubuntu)에서 VNC 서버 설치하고 원격 데스크톱으로 접속하는 방법

다음으로 lightdm 옵션을 선택하고 Enter 키를 누릅니다.

우분투 리눅스(Ubuntu)에서 VNC 서버 설치하고 원격 데스크톱으로 접속하는 방법

디스플레이 매니저 변경 사항을 적용하려면 PC를 재부팅합니다.

sudo reboot

재부팅 후 로그인 화면이 살짝 달라진 것을 확인할 수 있는데, 이제 lightdm을 디스플레이 매니저로 사용하기 때문입니다.

우분투에 x11vnc 서버 설치하기

x11vnc 서버를 설치하려면 Ctrl + Alt + T를 눌러 시스템 터미널을 연 뒤 아래 명령을 실행합니다.

sudo apt install x11vnc

x11vnc 서버 구성하기

이제 x11vnc 서버를 시작하는 데 사용할 systemd 서비스를 구성합니다. /lib/systemd/system/ 디렉터리에 x11vnc.service라는 이름의 파일을 생성합니다. 이 가이드에서는 Vim을 사용하지만 nano 등 선호하는 다른 리눅스 텍스트 편집기를 사용해도 됩니다.

sudo vim /lib/systemd/system/x11vnc.service

새로 만든 서비스 파일에 아래 내용을 복사해 붙여넣습니다.

[Unit]
Description=x11vnc service
After=display-manager.service
network.target syslog.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -forever -display :0 -auth guess -passwd randompassword
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
[Install]
WantedBy=multi-user.target

randompassword는 서버에 로그인할 때 사용할 비밀번호입니다. 이 부분을 수정해 자신만의 강력한 비밀번호로 설정하세요.

쉽게 말해 이 서비스 파일의 내용은 다음과 같습니다: 이 서비스는 자식(child) 서비스이며, 시스템은 다른 모든 서비스가 시작된 후에 이 서비스를 시작해야 합니다. 실행에 실패할 경우, 프로세스가 multi-user 타깃에 도달하기 전에 서비스가 스스로 재시작됩니다.

Vim을 사용 중이라면 Esc 키를 누른 후 :wq를 입력하고 Enter 키를 눌러 변경 사항을 저장하고 편집기를 종료합니다.

파일을 저장한 후에는 systemd 관리자 구성 및 유닛 파일을 반드시 다시 로드합니다.

systemctl daemon-reload

그다음 x11vnc 서비스를 활성화합니다.

systemctl enable x11vnc.service

마지막으로 아래 명령으로 VNC 서버를 시작합니다.

sudo systemctl start x11vnc.service

systemctl로 x11vnc 서비스 상태를 확인합니다.

systemctl status x11vnc.service

출력 결과는 아래 이미지와 비슷할 것입니다.

우분투 리눅스(Ubuntu)에서 VNC 서버 설치하고 원격 데스크톱으로 접속하는 방법

위 출력에서 볼 수 있듯이 서비스가 활성화(active)되어 정상적으로 실행 중입니다.

또 하나 주목할 점은 x11vnc 서버가 사용하는 포트입니다. 이 예제에서는 5900번 포트를 사용합니다.

방화벽에서 서버 포트 허용하기

우분투는 기본적으로 ufw 방화벽을 사용합니다. x11vnc 서버가 사용하는 포트를 통해 다른 PC가 우분투 시스템에 접근할 수 있도록 하려면 다음 명령을 실행합니다.

sudo ufw allow 5900/tcp

다른 컴퓨터에서 접속하기

이제 VNC를 통해 우분투 시스템에 원격 데스크톱으로 접속할 수 있습니다.

어떤 VNC 클라이언트든 우분투 리눅스 PC에 접속하는 데 사용할 수 있습니다. 추천하는 VNC 뷰어 중 하나는 RealVNC의 VNC Connect로, macOS, 리눅스, Windows, iOS, Android 등 거의 모든 주요 플랫폼에서 사용할 수 있습니다.

다운로드: RealVNC VNC Viewer

VNC 클라이언트를 다운로드한 후 시스템에 설치하고 애플리케이션을 실행합니다.

이 가이드에서는 macOS에 설치한 VNC Connect를 사용하지만, 다른 운영체제에서도 절차는 거의 동일합니다.

접속하려는 PC의 IP 주소와 x11vnc 서버가 사용하는 포트 번호를 입력한 뒤, 키보드의 Enter 키를 눌러 접속합니다.

우분투 리눅스(Ubuntu)에서 VNC 서버 설치하고 원격 데스크톱으로 접속하는 방법

참고: 우분투에서는 아래 명령어로 자신의 IP 주소를 확인할 수 있습니다.

ip addr

VNC 연결은 기본적으로 암호화되지 않으므로, 네트워크를 도청하는 사람이 데이터에 접근해 쉽게 볼 수 있습니다. 다만 비밀번호 자체는 암호화되어 전송됩니다. VNC 클라이언트가 암호화되지 않은 연결에 대해 경고를 표시하면 Continue(계속) 버튼을 선택해 진행합니다.

우분투 리눅스(Ubuntu)에서 VNC 서버 설치하고 원격 데스크톱으로 접속하는 방법

다음 화면에서 비밀번호 입력을 요구받는데, 이는 앞서 x11vnc.service 파일에서 설정한 비밀번호입니다. 비밀번호를 입력하고 Ok(확인) 버튼을 눌러 계속 진행합니다.

우분투 리눅스(Ubuntu)에서 VNC 서버 설치하고 원격 데스크톱으로 접속하는 방법

이제 다른 기기에서 PC에 접속해 원격으로 사용할 수 있습니다.

우분투 리눅스(Ubuntu)에서 VNC 서버 설치하고 원격 데스크톱으로 접속하는 방법

화면 잠금 비활성화하기

x11vnc 서버 사용 시 겪을 수 있는 문제 중 하나는 화면 잠금입니다. 하지만 PC에서 화면 잠금을 비활성화하면 이 문제를 쉽게 해결할 수 있습니다.

설정 > 개인정보 보호 > 화면 잠금 메뉴로 이동하여 자동 화면 잠금(Automatic Screen Lock)절전 시 화면 잠금(Lock Screen on Suspend) 옵션을 모두 비활성화합니다.

참고: 이는 잠재적인 보안 위험이므로, 원격 작업이 끝난 후에는 반드시 다시 활성화하는 것이 좋습니다.

리눅스 머신에서 원격으로 작업하기

원격으로 일한다면 원격 데스크톱 프로그램은 빼놓을 수 없는 필수 도구입니다. 시스템에 VNC 서버가 설정되어 있더라도 VNC 클라이언트 없이는 시스템에 접속할 수 없습니다. 리눅스 PC에 VNC 서버를 미리 설치해 두면 언제 어디서든 다른 기기로 자신의 시스템에 접속할 수 있습니다.

원격 컴퓨팅에서 운영체제는 더 이상 제약이 되지 않습니다. 거의 모든 운영체제에서 사용할 수 있는 다양한 애플리케이션으로 손쉽게 VNC 서버를 구축할 수 있습니다.