Sådan installeres og konfigureres VNC Server på Ubuntu


Virtual Network Computing (VNC) er et meget anvendt grafisk desktop-delingssystem, der gør det muligt for brugerkonti at forbinde og styre desktop-grænsefladen på en computer fra en anden computer eller mobilenhed eksternt.

I denne artikel vil vi forklare, hvordan du installerer og konfigurerer en VNC-server på en Ubuntu 18.04 Desktop-udgave via tigervnc-serverprogram.

VNC Server: 192.168.56.108
VNC Client: 192.168.56.2

Installer et skrivebordsmiljø i Ubuntu

Som jeg sagde, er VNC et desktop-delingssystem, så du skal have et desktop-miljø installeret på din Ubuntu-server. Du kan installere DE efter eget valg ved at køre de relevante kommandoer nedenfor. Med henblik på denne artikel vil vi installere Ubuntu Gnome (officiel smag).

$ sudo apt-get install ubuntu-desktop		#Default Ubuntu desktop
$ sudo apt install ubuntu-gnome-desktop	        #Ubuntu Gnome (Official flavor)
$ sudo apt-get install xfce4			#LXDE
$ sudo apt-get install lxde			#LXDE
$ sudo apt-get install kubuntu-desktop		#KDE

Installer og konfigurer et VNC i Ubuntu

Tigervnc-server er et højhastigheds VNC-program med flere platforme, der kører en Xvnc-server og starter parallelle sessioner med Gnome eller andet skrivebordsmiljø på VNC-skrivebordet.

For at installere TigerVNC-serveren og andre tilknyttede pakker i Ubuntu skal du køre følgende kommando.

$ sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-xorg-extension tigervnc-viewer

Start nu VNC-serveren ved at køre kommandoen vncserver som en normal bruger. Denne handling opretter den oprindelige konfiguration, der er gemt i /.vnc -mappen, og den vil også bede dig om at oprette en loginadgangskode.

Indtast en adgangskode (som skal være på mindst seks tegn), og bekræft/bekræft den. Indstil derefter en visningsadgangskode, hvis du ønsker det, som følger.

$ vncserver
$ ls -l ~/.vnc 

Dernæst er vi nødt til at konfigurere DE til at arbejde med VNC-serveren. Så stop VNC-serveren ved hjælp af følgende kommando for at udføre nogle konfigurationer.

$ vncserver -kill :1

For at konfigurere GNOME eller et hvilket som helst skrivebord, du har installeret, skal du oprette en fil kaldet xstartup under konfigurationsmappen ved hjælp af din yndlings teksteditor.

$ vi ~/.vnc/xstartup

Tilføj følgende linjer i filen. Disse kommandoer udføres automatisk, hver gang du starter eller genstarter TigerVNC-serveren. Bemærk, at kommandoerne kan variere afhængigt af DE, du har installeret.

#!/bin/sh
exec /etc/vnc/xstartup
xrdb $HOME/.Xresources
vncconfig -iconic &
dbus-launch --exit-with-session gnome-session &

Gem filen, og indstil den relevante tilladelse til filen, så den kan udføres.

$ chmod 700 ~/.vnc/xstartup

Start derefter VNC-serveren ved at køre følgende kommando som en normal bruger. Indstil dine egne værdier for skærmgeometrien. Derudover skal du bruge flagget -localhost til kun at tillade forbindelser fra localhost og analogt, kun fra brugere, der er godkendt på serveren.

Derudover bruger VNC som standard TCP-port 5900 + N , hvor N er displaynummeret. I dette tilfælde betyder : 1 , at VNC-serveren kører på displayportnummer 5901.

$ vncserver :1 -localhost -geometry 1024x768 -depth 32

For at liste VNC-serversessioner på dit system skal du køre følgende kommando.

$ vncserver -list

Når VNC-serveren er startet, skal du kontrollere porten, den kører på, med kommandoen netstat.

$ netstat -tlnp

Opretter forbindelse til VNC-server via VNC-klient

I dette afsnit vil vi vise, hvordan du opretter forbindelse til VNC-serveren, men før vi går ind på det, skal du vide, at VNC som standard ikke er sikker som standard (det er ikke en krypteret protokol og kan være genstand for pakke sniffing) . Dette problem kan løses ved at oprette en tunnel fra klient til serverforbindelse via SSH.

Ved hjælp af SSH-tunneling kan du sikkert videresende trafik fra din lokale maskine på port 5901 til VNC-serveren på den samme port.

På Linux-klientmaskine skal du åbne et nyt terminalvindue og køre følgende kommando for at oprette en SSH-tunnel til VNC-server.

$ ssh -i ~/.ssh/ubuntu18.04 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.108

Næste installer vncviewer-klient, såsom TigerVNC Viewer, som følger s (du kan installere enhver anden klient efter eget valg).

$ sudo apt install tigervnc-viewer		#Ubuntu/Debian
$ sudo yum install tigervnc-viewer		#CnetOS/RHEL
$ sudo yum install tigervnc-viewer		#Fedora 22+
$ sudo zypper install tigervnc-viewer	        #OpenSUSE
$ sudo pacman -S tigervnc			#Arch Linux

Når installationen er afsluttet, skal du køre din VNC-klient, angive adressen localhost: 5901 for at oprette forbindelse til skærm 1 som følger.

$ vncviewer localhost:5901

Alternativt kan du åbne den fra systemmenuen, indtaste adressen ovenfor og derefter klikke på Opret forbindelse.

Du bliver bedt om at indtaste VNC-adgangskoden, der blev oprettet tidligere, indtast den og klik på OK for at fortsætte.

Hvis adgangskoden er korrekt, lander du i logingrænsefladen på dit skrivebord. Indtast din adgangskode for at få adgang til skrivebordet.

OBS: Hvis du er sikkerhedsbevidst, har du muligvis bemærket, at VNC-fremviseren viser "forbindelse ikke krypteret", selvom vi har aktiveret SSH-tunneling.

Dette skyldes, at det er designet til at bruge andre specifikke sikkerhedsordninger end SSH-tunneling, når man forsøger at godkende med serveren. Forbindelsen er imidlertid sikker, når du har aktiveret SSH-tunneling.

Oprettelse af en Systemd-enhedsfil til TigerVNC Server

For at administrere VNC-serveren under systemd, dvs. starte, stoppe og genstarte VNC-tjenesten efter behov, er vi nødt til at oprette en enhedsfil til den under/etc/systemd/system/biblioteket med root-rettigheder.

$ sudo vim /etc/systemd/system/[email 

Tilføj derefter følgende linjer i filen:

[Unit] 
Description=Remote desktop service (VNC) 
After=syslog.target network.target 

[Service] 
Type=simple 
User=tecmint 
PAMName=login 
PIDFile=/home/%u/.vnc/%H%i.pid 
ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1024x768 
ExecStop=/usr/bin/vncserver -kill :%i 

[Install] 
WantedBy=multi-user.target

Gem filen, og luk den.

Genindlæs derefter systemd manager-konfigurationen for at læse den nyoprettede enhedsfil som følger.

$ sudo systemctl daemon-reload

Start derefter VNC-tjenesten, aktiver den til automatisk start ved systemstart og kontroller dens status som vist.

$ sudo systemctl start [email 
$ sudo systemctl enable [email 
$ sudo systemctl status [email 

Det er alt! I denne artikel har vi forklaret, hvordan du installerer og konfigurerer VNC-server på Ubuntu Linux-distribution. Del dine spørgsmål eller tanker med os via feedbackformularen nedenfor.