VNC
VIrtual Network Computing (VNC) 는 GUI 기반 원격 데스크탑을 지원한다. MS의 remote desktop protocol (RDP)에 대한 오픈 소스형 대안이 될 수 있다.
Desktop 환경 설치
ubuntu에는 다양한 데스크탑 환경이 있느데, 한가지는 Gnome으로서 ubuntu 20.04의 기본적인 데스크 탑 환경이다. 다른 방법은 Xfce를 설치하는 것으로, 빠르고 안정적이고 가벼운 데스크탑환경을 지원하여, 원격 서버사용에 이상적이다.
여기서는 Xfce를 설치하는 방법을 사용한다.
sudo apt update
sudo apt install xfce4 xfce4-goodies
VNC server 설치
TightVNC, TigerVNC 와 x11vnc 등 다양한 VNC server들이 있다. 각각 속도와 안전성에서 장단점이 있지만, 고성능 VNC 서버로 활발히 개발되고 있는 TIgerVNC를 설치한다.
sudo apt install tigervnc-standalone-server
VNC 접근 설정
VNC server 가 설치되면, 사용자 암호를 설정을 진행한다. 이때 sudo를 사용하면 않된다.
vncpasswd
view-only 암호인지 물어보면, n
를 선택하야 한다. 그렇지 않으면, mouse, keyboard 입력을 받을 수 없다.
암호는 ~/.vnc
에 저장된다.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
다음은 TigerVNC가 Xfce 데스크탑을 사용하도록 설정한다. xstartup
은 TigerVNC 서버가 시작할 때 자동으로 실행된다.
nano ~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
/.vnc/xstartup
은 실행 가능하도록 모드를 변경한다.
chmod u+x ~/.vnc/xstartup
VNC server에 추가 옵션을 설정하는 경우, ~/.vnc/config
를 파일을 생성한다.
아래는 화면 크기와 dpi를 설정하는 예제이다.
geometry=1920x1080
dpi=96
이제 VNC server를 시작한다.
vncserver
New Xtigervnc server 'test:4 (user)' on port 5904 for display :4.
Use xtigervncviewer -SecurityTypes VncAuth -passwd /home/user/.vnc/passwd :4 to connect to the VNC server.
혹은 port를 지정할 수 있다.
vncserver -localhost no :2
:4
은 hostname이고, VNC server가 동작중인 display port를 나타낸다. 이 예제에서 서버는 TCP port 5904 에서 동작한다.
VNC server 리스트는 다음 명령으로 확인할 수 있다.
vncserver -list
TigerVNC server sessions:
X DISPLAY # RFB PORT # PROCESS ID SERVER
:2 5902 5097 Xtigervnc
:3 5903 5952 Xtigervnc
:3 5904 13926 Xtigervnc
VNC 인스턴스를 중지하는 명령은 다음과 같다.
vncserver -kill :4
자동 실행 설정
VNC를 수동으로 시작한 경우, systemd unit file을 생성하면 자동으로 VNC service를 시작할 수 있다.
sudo nano /etc/systemd/system/vncserver@.service
아래 파일에서 User를 변경하고, geometry등을 설정하면 된다.
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=user
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -localhost no :%i -geometry 1920x1080 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
systemd에 새로운 unit file이 생성되었음을 알린다.
sudo systemctl daemon-reload
boot시 service가 시작하도록 활성화시킨다.
sudo systemctl enable vncserver@1.service
@
다음의 숫자 1은 VNC service가 동작할 display port를 정의한다.
VNC 서비스를 다음과 같이 시작시킨다.
sudo systemctl start vncserver@1.service
제대로 시작되었는지 확인한다.
sudo systemctl status vncserver@1.service
VNC viewer 사용하여 연결
TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre 등의 VNC viewer를 사용할 수 있다.
'리눅스' 카테고리의 다른 글
Ubuntu 18.04: GUI 기반 NVidia Driver 설치 (0) | 2021.06.11 |
---|---|
Ubuntu 18.04: 기존 Nvidia driver 직접 설치 (1) | 2021.06.11 |
Ubuntu 18.04 설치 2: VNC (0) | 2021.06.11 |
Ubuntu 18.04 설치 1 (0) | 2021.06.11 |
Ubuntu 21.04 설치 1 (0) | 2021.06.09 |