Ubuntu 20.04에서 VNC 설치 및 구성 방법

Ubuntu 20.04에서 VNC 설치 및 구성 방법

2022-05-16 last update

11 minutes reading ubuntu vnc
가상 네트워크 컴퓨팅(VNC)은 키보드와 마우스를 사용하여 다른 컴퓨터를 원격으로 제어할 수 있는 그래픽 데스크탑 공유 시스템입니다.그것은 마이크로소프트remote desktop의 소스 오픈 대체품이다.
프로토콜(RDP).본고는 Ubuntu 20.04에 VNC 서버를 설치하고 설정하는 방법을 소개한다.SSH 터널을 통해 VNC 서버에 안전하게 연결하는 방법도 보여 드리겠습니다.

데스크탑 환경 설치

Ubuntu 서버는 명령줄을 통해 관리되며 기본적으로 데스크톱 환경이 설치되어 있지 않습니다.데스크톱 버전의 Ubuntu를 실행하고 있다면, 이 단계를 건너뛰십시오.Ubuntu 저장소에서는 다양한 데스크톱 환경을 제공합니다.Gnome을 설치하는 옵션은 Ubuntu 20.04의 기본 데스크톱 환경입니다.다른 옵션은 설치Xfce
. 원격 서버에서 사용하기에 적합한 빠르고 안정적이며 가벼운 데스크탑 환경입니다.이 설명서에서는 Xfce를 설치합니다.다음 명령을 user with sudo privileges 형식으로 입력합니다.
:
sudo apt updatesudo apt install xfce4 xfce4-goodies
시스템에 따라 Xfce 패키지를 다운로드하고 설치하는 데 시간이 좀 걸릴 수 있습니다.

VNC 서버 설치

Ubuntu 저장소에는 몇 가지 다른 VNC 서버가 있습니다. 예를 들어TightVNC
, TigerVNC
, 및 x11vnc
. 각 VNC 서버는 속도와 보안 면에서 서로 다른 장점과 단점을 가지고 있다.TigerVNC를 설치합니다.사전 예방적으로 유지 관리되는 고성능 VNC 서버입니다.패키지를 설치하려면 다음 명령을 입력합니다.
sudo apt install tigervnc-standalone-server

VNC 액세스 구성

VNC 서버를 설치한 후 초기 사용자 구성을 만들고 암호를 설정합니다.vncpasswd 명령을 사용하여 사용자 암호를 설정합니다.다음 명령을 실행할 때 sudo를 사용하지 마십시오.
vncpasswd
시스템은 비밀번호를 입력하고 확인하며, 비밀번호만 보기로 설정하는지 알려 줍니다.암호만 보기 위해 설정을 선택한 경우 사용자는 마우스와 키보드를 사용하여 VNC 인스턴스와 상호 작용할 수 없습니다.
Password:
Verify:
Would you like to enter a view-only password (y/n)? n
암호 파일은 ~/.vnc 디렉터리에 저장되며 존재하지 않으면 이 디렉터리를 생성합니다.그런 다음 Xfce를 사용하도록 TigerVNC를 구성해야 합니다.이렇게 하려면 ~/파일을 만듭니다.vnc/xstartup
nano ~/.vnc/xstartup
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4 
에 파일을 저장하고 닫습니다.이러한 명령은 TigerVNC 서버를 시작하거나 다시 시작할 때마다 자동으로 실행됩니다.~/.vnc/xstartup 파일에는 실행 권한이 필요합니다.사용 chmod
명령 설정 파일 권한:
chmod u+x ~/.vnc/xstartup
통과해야 할 경우additional options
VNC 서버에서 행당 옵션을 추가하는 config라는 파일을 생성합니다.다음은 하나의 예: ~/.vnc/config
geometry=1920x1080
dpi=96
현재 vncserver 명령을 사용하여 vnc 서버를 시작할 수 있습니다.
vncserver
New 'server2.:1 ()' desktop at :1 on machine server2.

Starting applications specified in /home//.vnc/xstartup
Log file is /home//.vnc/server2.:1.log

Use xtigervncviewer -SecurityTypes VncAuth -passwd /home//.vnc/passwd :1 to connect to the VNC server.
주의hostname 뒤에 있는 :1위의 출력에서모니터에 표시되는 vnc 포트는 무엇입니까?이 예에서는 서버가 TCP 포트5901(5900+1)에서 실행됩니다.vncserver를 사용하여 두 번째 실례를 만들면 다음 빈 포트:2에서 실행됩니다. 이것은 서버가 포트5902(5900+2)에서 실행되고 있음을 의미합니다.기억해야 할 것은 VNC 서버를 사용할 때:X5900+X의 디스플레이 포트를 가리킨다.(adsbygoogle=window.adsbygoogle | |[]).추진({});
vncserver -list
TigerVNC server sessions:

X DISPLAY #	RFB PORT #	PROCESS ID
:1		      5901		    5710
를 입력하면 현재 실행 중인 모든 VNC 세션의 목록을 얻을 수 있습니다. 다음 단계를 진행하기 전에 vncserver 옵션이 있는 -kill 명령과 서버 번호를 매개 변수로 사용하여 VNC 인스턴스를 중지하십시오.이 예에서 서버는 포트 5901(:1에서 실행되기 때문에 우리는
vncserver -kill :1
Killing Xtigervnc process ID 5710... success!

Systemd 단위 파일 만들기

를 사용하여 서버를 정지할 것입니다. 우리는 수동으로 VNC 세션을 시작할 필요가 없고 필요에 따라 VNC 서비스를 시작하고 정지하고 다시 시작할 수 있는 시스템 단위 파일을 만들 것입니다.텍스트 편집기를 열고 다음 설정을 복사하고 붙여넣습니다.사용자 이름과 일치하도록 7 행의 사용자 이름을 변경해야 합니다.
sudo nano /etc/systemd/system/[email protected]
/etc/systemd/system/[email protected]
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target

[Service]
Type=simple
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 :%i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target
파일을 저장하고 닫습니다.알림 시스템d가 새 단위 파일을 만들었습니다:
sudo systemctl daemon-reload
시작 서비스:
sudo systemctl enable [email protected]
기호 1 이후의 숫자 @는 VNC 서비스가 실행될 디스플레이 포트를 정의합니다.이는 VNC 서버가 이전 섹션에서 설명한 것처럼 포트5901를 수신한다는 의미입니다.다음 명령을 실행하여 VNC 서비스를 시작합니다.
sudo systemctl start [email protected]
서비스가 성공적으로 시작되었는지 확인합니다.
sudo systemctl status [email protected]
[email protected] - Remote desktop service (VNC)
     Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-03-26 20:00:59 UTC; 3s ago
...

VNC 서버에 연결

VNC는 암호화 프로토콜이 아니기 때문에 패키지 탐색을 할 수 있습니다.권장되는 방법은 하나를 만드는 것SSH tunnel
포트 5901의 로컬 컴퓨터의 데이터를 같은 포트의 서버로 안전하게 전송합니다.

Linux 및 macOS에서 SSH 터널 설정

만약에 기기에서 Linux, macOS 또는 다른 Unix 기반 운영체제를 운행한다면 다음 명령을 사용하여 SSH 터널을 쉽게 만들 수 있습니다.
ssh -L 5901:127.0.0.1:5901 -N -f -l vagrant 192.168.33.10
시스템은 사용자 비밀번호를 입력하라고 알릴 것입니다.사용자 이름과 서버의 IP 주소로 usernameserver_ip_address를 교체해야 합니다.

Windows에서 SSH 터널 설정

Windows를 실행하는 경우 PuTTY SSH client를 사용하여 SSH 터널을 설정할 수 있습니다.
. Putty를 열고 Host name or IP address 필드에 서버 IP 주소를 입력합니다.Connection SSH 메뉴에서 선택 상자, 펼치기Tunnels, 그리고 선택5901.Source Port 필드에 VNC 서버 포트server_ip_address:5901를 입력하고 Destination 필드에 Add를 입력한 다음 Session 단추를 누르면 다음 그림과 같이 페이지로 돌아가 설정을 저장할 수 있기 때문에 매번 설정을 입력할 필요가 없습니다.원격 서버에 액세스하려면 저장된 세션을 선택하고 Open 버튼을 클릭합니다.

Vncviewer를 사용하여 연결

현재 SSH 터널이 만들어졌으며, Vncviewer를 열고 localhost:5901에 연결된 VNC 서버에 연결할 때입니다.TigerVNC, TightVNC, RealVNC, UltraVNC, Vinagre 및 VNC 뷰어Google Chrome와 같은 모든 VNC 뷰어를 사용할 수 있습니다.
. TigerVNC를 사용합니다.뷰어를 열고 localhost:5901를 입력한 다음 Connect 버튼을 클릭합니다. 입력your user
프롬프트에서 암호를 입력하면 기본 Xfce 데스크톱이 표시됩니다.이것은 이렇게 보입니다. 키보드와 마우스를 사용하여 로컬 기기에서 원격 XFCE 데스크톱과 상호작용을 시작할 수 있습니다.

결론

Ubuntu 20.04에서 VNC 서버를 설치하고 설정하고 실행하는 방법을 보여 드렸습니다.VNC 서버를 여러 사용자의 디스플레이를 시작하도록 구성하려면 초기 구성을 만들고 vncpasswd 명령을 사용하여 암호를 설정합니다.다른 포트를 사용하여 새 서비스 파일을 만들어야 합니다.질문이 있으시면 언제든지 의견을 달아 주십시오.