x11VNC는 원격 데스크톱 공유를 허용하는 VNC(가상 네트워크 컴퓨팅) 서버중 하나이다. 각 사용자에 대해 별도 데스크탑을 생성하는 다른 VNC 서버와 달리 x11VNC는 사용자가 기존 X11 세션을 원격으로 제어할 수 있어 편리하다. 이 글에서는 Ubuntu 22.04에서 x11VNC를 설치 및 설정 방법에 대해 알아본다.
lightdm 설치
최신 GDM 패키지는 기본 디스플레이 서버 백엔드로 Xwayload와 함께 제공된다. 하지만, x11VNC를 사용하려면 Xorg를 사용해야 한다. 해서 display manager로 lightdm
을 설치하고 default로 잡아준다.
sudo apt install lightdm

x11VNC 설치
터미널을 열고 다음 명령을 사용하여 x11VNC를 설치한다.
sudo apt install x11vnc -y
Password 설정
x11VNC에 접속하기 위한 암호를 설정한다.
x11vnc -storepasswd
이 명령을 실행하면 비밀번호를 묻는 메시지가 나타난다. 비밀번호를 입력하고 저장한다.

서비스 설정
x11VNC를 서비스로 등록하여 시스템이 부팅될 때 자동으로 실행되도록 설정한다.
sudo nano /etc/systemd/system/x11vnc.service
다음의 내용으로 파일을 작성한다. USERNAME는 password를 만든 계정 ID로 대체한다.
[Unit]
Description=x11vnc VNC Server
After=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/USERNAME/.vnc/passwd -rfbport 5900 -shared
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure
Restart-sec=2
[Install]
WantedBy=multi-user.target
서비스 활성화 및 시작
아래와 같이 systemd x11vnc 서비스를 활성화하고 시작한다.
sudo systemctl enable x11vnc.service
sudo systemctl start x11vnc.service
방화벽 설정 (선택 사항)
만약 방화벽을 사용하고 있다면, VNC 포트를 허용해야 한다. 기본적으로 VNC는 5900번 포트를 사용하므로 아래와 같이 5900 포트를 허용하도록 한다.
sudo ufw allow 5900
원격 접속
이제 VNC 클라이언트를 사용하여 Ubuntu 22.04 시스템에 연결할 수 있다. 원하는 VNC 클라이언트를 사용하여 호스트 주소에 시스템 IP 주소나 호스트 이름을 입력하고 연결한다. 아래는 Windows 에서 UltraVNC Viewer로 Ubuntu 22.04에 접속한 화면이다.
