Terug naar blog

Installeren en configureren van Virtual Network Computing (VNC) op Ubuntu 20.04

Installeren en configureren van Virtual Network Computing (VNC) op Ubuntu 20.04

Virtual Network Computing (VNC) is een systeem voor het delen van schermen dat wordt gebruikt om op afstand toegang te krijgen tot grafische gebruikersinterfaces. Het maakt gebruik van het remote frame buffer-protocol waarmee de ene server (gebruikerskant) verbinding kan maken met de andere kant (client). VNC is veilig, betrouwbaar en werkt op alle besturingssystemen.

RealVNC, UltraVNC, Xfce, TightVNC, om er een paar te noemen, zijn de meest populaire VNC-clients die tegenwoordig worden gebruikt. Uit de lijst met beschikbare alternatieven bent u vrij om elke VNC te kiezen die u wilt. In deze handleiding leiden we u door de stappen voor het installeren en configureren van VNC op Ubuntu 20.04. We gaan Xfce installeren vanwege de snelheid, het lichte gewicht en de uitstekende prestaties.

We beginnen met het opzetten van een VNC-server op een Ubuntu server en het tot stand brengen van een beveiligde verbinding via de SSH-tunnel. Ten slotte gebruiken we een VNC-clientprogramma op onze lokale machine om met de server te communiceren via een grafische desktopomgeving.

Vereisten

Om deze handleiding te volgen, heeft u het volgende nodig:

Stap 1— Installeer de desktopomgeving en de VNC-server

In tegenstelling tot eerdere Ubuntu-versies wordt Ubuntu 20.04 niet geleverd met een vooraf geïnstalleerde VNC. Als eerste stap installeren we de benodigde pakketten uit de officiële Ubuntu-repository. Voordat we verder gaan, updaten we de bestaande pakketten:

Nu installeren we Xfce en het xfce4-goodies-pakket met het commando:

Tijdens de installatie van het pakket ziet u een scherm waarin u wordt gevraagd een standaard display manager voor Xfce te kiezen. Negeer het bericht of stel het in als standaard, en druk vervolgens op ENTER.

Een display manager is een programma waarmee gebruikers via een grafische interface kunnen inloggen op een desktopomgeving. In deze handleiding gebruiken we Xfce bij het verbinden met een VNC-client waarbij we zijn ingelogd als een non-root Ubuntu-gebruiker. Daarom heeft de keuze van de display manager geen invloed op onze installatie.

Na de installatie van Xfce installeren we de TightVNC-server:

Gebruik in de volgende stap het vncserver-commando om een VNC-toegangswachtwoord in te stellen en de initiële configuratiebestanden aan te maken. Typ het volgende om de VNC-serverinstantie te starten:

Stel daarna een wachtwoord in van 6 tot 8 tekens lang en druk op ENTER. U ziet een promptbericht:

Nadat u het wachtwoord heeft geverifieerd, krijgt u de optie om een alleen-lezen wachtwoord aan te maken. Gebruikers die inloggen met het alleen-lezen wachtwoord kunnen de VNC niet bedienen met de muis of het toetsenbord. Dit wordt alleen aanbevolen en u kunt het inschakelen als u het nodig heeft, anders kunt u het overslaan.

Als u in de toekomst uw wachtwoord wilt wijzigen of een alleen-lezen wachtwoord wilt toevoegen, gebruik dan het commando:

Nu zijn alle standaardconfiguraties voor de server gemaakt en is er een displaypoort 5901 gestart als :1. VNC kan meerdere instanties starten op andere displaypoorten zoals :2, :3, en :4 die verwijst naar poort 5902, 5903, en 5904 respectievelijk:

Je VNC-server is nu geïnstalleerd en draait succesvol. In de volgende stap gaan we de server configureren om Xfce te starten om toegang te krijgen via de grafische interface.

Stap 2— Configureer de VNC-server

Onder de home-directory vind je de .vnc map die alle configuratiebestanden bevat genaamd startup. In eerste instantie zul je zien dat het opstartbestand draait dat automatisch is aangemaakt toen we het commando vncserver in Step-1 hebben uitgevoerd. Het opstartscript is gemaakt toen je het commando vncserver in de vorige stap hebt uitgevoerd. Nu ga je echter je eigen script maken om de Xfce-desktop te starten. We moeten ook onze eigen server maken om de Xfce-desktop te starten omdat de VNC-configuratie zal veranderen.

Voordat we verder gaan, moeten we de VNC-serverinstantie stoppen die draait op poort 5901:

Je ziet de volgende uitvoer:

In plaats van 17648, krijg je mogelijk een ander nummer en dat is prima. Vervolgens gaan we het bestand xstartup aanpassen. Voordat we wijzigingen in het bestand aanbrengen, maken we een back-up van het originele bestand:

Maak vervolgens een nieuw xstartup bestand aan en open het in een teksteditor. In deze handleiding gebruiken we nano:

Voeg daarna de volgende regels toe aan het bestand:

Telkens wanneer je de VNC-server start of herstart, worden deze commando's automatisch uitgevoerd. De eerste regel is de Shebang die het systeem informeert over de interpreter waaraan het bestand ~/.vnc/xstartup moet worden doorgegeven voor uitvoering. De volgende regel xrdb $HOME/. Xresources, informeert het GUI-framework van VNC om het bestand Xresources van de servergebruiker te lezen. Ten slotte vraagt de laatste regel de server om Xfce te starten. Sla na het toevoegen van deze regels het bestand op en sluit het.

We moeten het bestand uitvoerbaar maken zodat de VNC-server het nieuwe opstartbestand kan gebruiken:

Start vervolgens de VNC-server opnieuw op:

Nu is de optie -localhost hier toegevoegd. De localhost bindt de VNC-server aan de loopback-interface van je server, waardoor alleen verbindingen van geïnstalleerde servers worden toegestaan. Vervolgens zetten we een SSH-tunnel op tussen onze lokale machine en de server. Het doel is om een extra beveiligingslaag rond VNC toe te voegen. Waarom? Omdat de gebruikers die toegang krijgen, degenen zijn die al SSH-toegang tot de server hebben.

Je ziet de volgende uitvoer:

Nadat de configuratie is ingesteld, zijn we klaar om vanaf onze lokale machine verbinding te maken met de VNC-server.

Stap 3— Veilig verbinding maken met de VNC-desktop

Bij het verbinden met de server gebruikt VNC geen beveiligde protocollen. Daarom moeten we een SSH-tunnel opzetten en de VNC-client vragen om verbinding te maken via de tunnel in plaats van rechtstreeks verbinding te maken.

We maken een SSH-verbinding op onze lokale computer met behulp van het commando ssh dat doorstuurt naar de localhost verbinding. Gebruik het commando in de terminal om een SSH-verbinding te maken:

Laten we de bovenstaande code ontcijferen:

  • -L 59000:localhost:5901: De optie -L specificeert dat de opgegeven poort op de lokale computer ( 59000) naar de opgegeven host en poort op de bestemmingsserver ( localhost:5901) gaat. Dat betekent dat poort 5901 op de bestemmingsserver zal worden gedefinieerd als your_server_ip). De lokale poort die u opgeeft is willekeurig. Zolang de poort nog niet aan een andere service is gekoppeld, bent u vrij om deze te gebruiken als de doorstuurpoort voor uw tunnel.

  • -C: Schakelt compressie in, wat verder helpt bij het minimaliseren van het resourceverbruik en het versnellen van de prestaties.

  • -N: Handig voor het doorsturen van poorten. Dit informeert ssh om geen externe commando's uit te voeren.

  • -l cloudsigma your_server_ip: De -l optie stelt u in staat om de gebruiker op te geven waarmee u wilt inloggen nadat u verbinding hebt gemaakt met de server.

Het bovenstaande commando is een veiligere manier om een beveiligde verbinding tot stand te brengen dan louter de firewall van uw server open te stellen om verbindingen met poort toe te staan 5901 vanaf elke locatie. Zodra u de verbinding tot stand brengt, stuurt de SHH-tunnel de inhoud door van poort 5901 op uw VNC naar poort 59000 op uw lokale machine via de standaard SSH-poort; poort 22.

U kunt ook PuTTY gebruiken om verbinding te maken met uw server. Open PuTTY, ga naar de linkerkant van de PuTTY-terminal en zoek de Connection tak om verbinding te maken. Vouw vervolgens de SSH tak uit en klik op Tunnels. Op het Options controlling SSH port forwarding scherm, voer 59000 in als de Source Port en localhost:5901 als de Destination:

VNC image 1

Laat alle opties ongewijzigd, klik op Add, en daarna op Apply om de tunnel te implementeren. Zodra de tunnel start, gebruikt u een VNC-client om verbinding te maken met localhost: 59000. Standaard wordt u gevraagd om u te authenticeren met het wachtwoord dat we hebben aangemaakt in Stap-1. Zodra u verbinding hebt gemaakt, ziet u het standaard Xfce-bureaublad:

VNC 2

U kunt bestanden in de thuismap openen en beheren. Configureer ook uw VNC-server om te draaien als een systemd-service.

Stap 4 — VNC uitvoeren als een Systemd-service

Door de VNC-server in te stellen om als een systemd-service te draaien, is serverbeheer mogelijk. U kunt deze naar eigen wens en behoefte starten, stoppen, herstarten of beëindigen. Elke keer dat de server opstart, kunt u systemd-beheerscommando's gebruiken om te controleren of de server AAN of UIT.

Eerst maken we een nieuw unit-bestand om de VNC-displaypoort op te geven die we willen gebruiken bij het beheren van de services. Definieer een unit-bestand:

U vindt het @-symbool aan het einde van de bestandsnaam, waarmee u een argument kunt doorgeven voor het gebruik van de serviceconfiguratie.

Voeg vervolgens de reeks regels toe aan het unit-bestand. Wijzig de naam van de User, Group, WorkingDirectory, en de gebruikersnaam in de waarde van PIDFILE:

Als de VNC al draait, zal het ExecStartPre-commando deze stoppen. Het ExecStart-commando start VNC en stelt de kleurdiepte in op 24-bits kleur met een resolutie van 1280×800. U kunt deze opstartopties aanpassen aan uw behoeften. Let er ook op dat het ExecStart-commando opnieuw de -localhost-optie bevat. Sla het unit-bestand op en sluit het zodra u klaar bent.

Introduceer vervolgens het nieuwe unit-bestand bij uw systeem:

Zet AAN het unit-bestand:

De 1 die volgt op de @-teken geeft aan op welk schermnummer de service moet verschijnen. In ons geval is dit de standaard :1 zoals besproken in Stap-2. Als de VNC nog steeds actief is, kunt u de huidige instantie van de VNC-server stoppen met het kill-commando:

Start het vervolgens zoals u elke andere systemd-service zou starten:

U kunt controleren of het is gestart met dit commando:

U ziet de uitvoer:

Uw VNC-server is nu klaar voor gebruik telkens wanneer uw server opstart, en u kunt deze beheren met systemctl-commando's zoals elke andere systemd-service. U zult echter geen verschil merken aan de clientzijde. Om opnieuw verbinding te maken, start u uw SSH-tunnel met:

U kunt opnieuw verbinding maken met uw VNC-client naar localhost:59000 met uw server.

Conclusie

In het begin lijkt het opzetten van een VNC-server misschien een uitdaging, vooral wanneer u verbinding probeert te maken met een nieuwe computer. Zodra u een betrouwbare verbinding tot stand brengt, zal het werken met een computer op afstand leuk en opwindend zijn. Met een beveiligde VNC-server actief op uw Ubuntu 20.04-server, kunt u eenvoudig uw bronnen, bestanden, software en instellingen beheren met een gebruiksvriendelijke grafische interface. Het gebruik van overmatige bandbreedte is wellicht een nadeel van het gebruik van VNC. U kunt dit overbruggen door schermen met een lage resolutie en grijstinten te gebruiken voor een snellere overdracht.

Veel computerplezier!

author

Shreyas Patil

Auteur · CloudSigma

Preslav Dobrev is een creatief ontwerper bij CloudSigma, met de nadruk op een consistente bedrijfsidentiteit door middel van traditionele en innovatieve marketingkanalen. Hij is bedreven in het samenvoegen van artistieke visie met strategische marketing om impactvolle merkverhalen te creëren.

Reacties

Nog geen reacties. Wees de eerste.