Hoe installeer je een VNC-server op Ubuntu 22.04
Door een VNC-server op Ubuntu 22.04 te installeren, kunt u overal toegang krijgen tot uw Linux-bureaublad. Of u nu thuis werkt, op zakenreis bent of gewoon vanuit een andere kamer wilt werken — met een VNC-server hebt u altijd toegang tot uw werkomgeving.
Wat zijn de voordelen van een VNC-server op Ubuntu 22.04?
Het gebruik van een VNC-server op Ubuntu 22.04 biedt tal van mogelijkheden om het dagelijkse werk een stuk gemakkelijker te maken. Met een VNC-server heb je overal ter wereld toegang tot je Ubuntu-bureaublad. Dit betekent dat je niet achter je bureau hoeft te zitten om je applicaties en gegevens te beheren. Deze flexibiliteit is uitermate handig voor telewerkers, zakenreizigers of mensen die vanaf verschillende locaties willen werken. Bovendien is het opzetten van een VNC-server relatief eenvoudig, zodat zelfs minder technisch onderlegde gebruikers snel een werkende verbinding op afstand kunnen tot stand brengen.
Een VNC-server bevordert ook de samenwerking binnen teams. Hiermee krijgen meerdere teamleden tegelijkertijd toegang tot hetzelfde bureaublad. Zo kunnen teams effectief samenwerken, ongeacht hun locatie, gezamenlijk aan projecten werken en problemen in realtime oplossen. IT-beheerders en supportmedewerkers kunnen fouten ook op afstand verhelpen zonder ter plaatse te hoeven zijn. Dit bespaart tijd en kosten voor reizen en extra afspraken. Wat de beveiliging betreft, beschikken veel VNC-servers op Ubuntu 22.04 over robuuste beveiligingsopties. Versleutelde verbindingen en diverse authenticatiemethoden beschermen uw gegevens en zorgen ervoor dat alleen geautoriseerde personen toegang hebben tot uw systeem.
Dit zijn de vereisten voor een VNC-server op Ubuntu 22.04
Allereerst heb je een werkende installatie van Ubuntu 22.04 nodig. Veel VNC-servers zijn volledig compatibel met dit besturingssysteem en alle benodigde pakketten en afhankelijkheden zijn beschikbaar in de officiële Ubuntu-repositories. Zorg ervoor dat je systeem up-to-date is om mogelijke problemen tijdens de installatie te voorkomen. Over het algemeen moet je aan de volgende vereisten voldoen:
- Ubuntu 22.04: Een werkende en up-to-date installatie van Ubuntu 22.04.
- Netwerkverbinding: Een stabiele Ethernet- of WLAN-verbinding voor toegang op afstand.
- Root-rechten: De VNC-servergebruiker heeft root-rechten nodig voor de installatie en configuratie.
- Softwarepakket: Installatie van VNC-serversoftware, zoals TigerVNC, RealVNC of x11vnc uit de Ubuntu-repositories.
- Desktopomgeving: De vereiste desktopomgeving (bijv. GNOME, XFCE) moet geïnstalleerd zijn.
- Firewallconfiguratie: Open poort 5900 of pas de firewallregels aan om VNC-verkeer toe te staan.
Hoe installeer je een VNC-server op Ubuntu 22.04
Er zijn tal van mogelijkheden als het gaat om het kiezen van een VNC-server en een desktopomgeving. In deze handleiding installeren we de nieuwste pakketten voor de XFCE-desktopomgeving en het TigerVNC-pakket dat beschikbaar is in de officiële Ubuntu-repository. Zowel XFCE als TigerVNC vragen weinig systeembronnen en presteren snel. Daardoor blijft de VNC-verbinding soepel en stabiel, zelfs bij tragere internetverbindingen.
Stap 1: Pakketten bijwerken
Zorg ervoor dat uw systeem up-to-date is voordat u met de installatie begint. Voer de volgende opdrachten uit om alle beschikbare updates te installeren:
sudo apt update
sudo apt upgradebashStap 2: Installeer de desktopomgeving
De VNC-server heeft een desktopomgeving nodig, omdat deze de desktop via het netwerk weergeeft. Ubuntu 22.04 wordt standaard geleverd met GNOME, maar je kunt ook andere desktopomgevingen installeren, zoals XFCE, dat bijzonder licht is.
sudo apt install xfce4 xfce4-goodiesbashHet xfce4-goodies -pakket bevat extra handige tools en plug-ins voor XFCE.
Stap 3: Maak een nieuwe gebruiker aan
Nadat u de desktopomgeving hebt geïnstalleerd, moet u een nieuwe gebruiker aanmaken om de VNC-server te kunnen gebruiken. Omwille van de veiligheid is het raadzaam dit niet als root-gebruiker te doen. In dit geval maken we een nieuwe gebruiker aan met de naam ‘john’ en geven we hem de benodigde rechten om de VNC-server onder dit gebruikersaccount te draaien.
Eerst moet je de gebruiker ‘john’ aanmaken en hem een wachtwoord toewijzen. Dit kun je doen met de volgende commando’s:
sudo useradd -m -s /bin/bash john
sudo passwd johnbashMet het commando sudo useradd -m -s /bin/bash john maak je een nieuwe gebruiker ‘john’ aan en stel je een thuismap in, waarbij je de standaard-shell instelt op /bin/bash. Gebruik vervolgens sudo passwd john om een wachtwoord voor deze gebruiker in te stellen. Het is van essentieel belang om een veilig wachtwoord te kiezen.
Nadat de gebruiker is aangemaakt, moet u deze toevoegen aan de sudo-groep, zodat hij beheerdersopdrachten kan uitvoeren. Dit doet u met de volgende opdracht:
sudo usermod -aG sudo johnbashMet dit commando kan ‘john’ commando’s uitvoeren met de uitgebreide rechten die door sudo worden geboden.
Om te controleren of ‘john’ over de juiste rechten beschikt, logt u in als ‘john’ en test u de root-rechten. Voer hiervoor de volgende opdrachten uit:
su - john
sudo subashMet su - john schakel je over naar de gebruiker ‘john’ en met sudo su krijg je root-rechten, mits het wachtwoord correct is ingevoerd. Als de authenticatie is gelukt, krijg je een prompt te zien zoals root@hostname, waarmee wordt bevestigd dat je root-rechten hebt.
Stap 4: Installeer de VNC-serversoftware
Voor deze tutorial gebruiken we TigerVNC, omdat dit een veelgebruikte en goed ondersteunde VNC-server is. Installeer TigerVNC met de volgende opdracht:
sudo apt install tigervnc-standalone-server tigervnc-common tigervnc-toolsbashMet dit item worden zowel de VNC-serversoftware als enkele noodzakelijke standaardpakketten geïnstalleerd die nodig zijn voor de werking ervan.
Stap 5: Maak de VNC-serverinstantie aan
Voordat u de VNC-server kunt starten, moet u een wachtwoord instellen dat nodig is om toegang te krijgen tot de VNC-server. Voer de volgende opdracht in de terminal in:
vncserverbashU wordt gevraagd een wachtwoord in te voeren en te bevestigen. Dit wachtwoord beveiligt de toegang tot uw VNC-server. U kunt ook een optie selecteren om een wachtwoord voor alleen-lezen in te stellen, als u wilt dat andere gebruikers het scherm alleen kunnen bekijken, maar geen controle hebben.
Wanneer de server voor het eerst wordt gestart, wordt er een nieuw scherm aangemaakt, meestal :1. In de uitvoer wordt het exacte nummer van het scherm weergegeven dat u kunt gebruiken.
Hier is een voorbeeld:
New 'X' desktop is your-machine-name:1bashNoteer het schermnummer (in dit geval :1), want dat heb je nodig om verbinding te maken met de VNC-client.
Stap 6: De VNC-serverconfiguratie instellen
Maak een configuratiebestand voor de VNC-server om ervoor te zorgen dat XFCE wordt geladen wanneer de VNC-server wordt gestart. Het bestand ~/.vnc/xstartup kan bijvoorbeeld de volgende inhoud hebben:
#!/bin/sh
# Start up the standard system desktop
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
/usr/bin/startxfce4
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
x-window-manager &bashHet bestand wordt uitvoerbaar wanneer je deze opdracht gebruikt:
chmod +x ~/.vnc/xstartupbashStap 7: Start de VNC-server als systeemservice
Door de VNC-server als een Systemd-service in te stellen, kunt u deze net als elke andere service starten, stoppen en opnieuw opstarten. U kunt ook Systemd-opdrachten gebruiken om de VNC-server automatisch te starten wanneer het systeem opstart.
Maak eerst een nieuw bestand aan met een teksteditor naar keuze:
nano /etc/systemd/system/vncserver@.servicebashVoeg de volgende inhoud toe aan het bestand:
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<your-username>
PAMName=login
PIDFile=/home/<your-username>/.vnc/%H:%i.pid
ExecStart=/usr/bin/vncserver %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.targetbashVervang <your-username> door je eigen gebruikersnaam. Laad het nieuwe servicebestand en activeer de service:
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@:1bashHet commando sudo systemctl enable vncserver@1.service activeert de VNC-serverservice voor beeldscherm :1, zodat deze automatisch start wanneer het systeem de volgende keer wordt opgestart. Hiervoor wordt het systemd-servicebestand vncserver@.service gebruikt, waarin %i wordt vervangen door 1. Hierdoor kan de VNC-server voor beeldscherm :1 worden geconfigureerd en wordt gewaarborgd dat deze bij elke systeemstart wordt gestart. Het commando maakt de benodigde snelkoppelingen aan om de service in het juiste opstartproces op te nemen.
Stap 8: De firewall configureren
Als u een firewall op uw Ubuntu-server hebt ingeschakeld, moet u de VNC-poort vrijgeven om verbindingen op afstand mogelijk te maken. Standaard gebruikt de VNC-server poort 5900, gevolgd door het nummer van het beeldscherm. Voor beeldscherm :1 is de poort dus 5901.
Open poort ufw:
sudo ufw allow 5901/tcpbashControleer de firewallregels om te controleren of de poort open is:
sudo ufw statusbashHier is een voorbeeld van een mogelijke uitvoer:
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
5901/tcp ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
5901/tcp (v6) ALLOW Anywhere (v6)bashStap 9: Maak verbinding met de VNC-server
Om verbinding te maken met uw VNC-server, hebt u een VNC-client op uw lokale computer nodig. Populaire VNC-clients zijn RealVNC, TigerVNC Viewer en TightVNC Viewer. Om de beveiliging van uw VNC-verbinding te verbeteren, kunt u overwegen om een versleutelde verbinding via SSH te gebruiken. Dit beschermt de communicatie tussen uw VNC-client en de server.
Maak via SSH verbinding met je server en stel de VNC-poort in:
ssh -L 59000:localhost:5901 -C -N -l <your-username>@<server-ip>bashssh: Het commando voor een beveiligde verbinding met een externe server via het SSH-protocol, waarmee gegevens in gecodeerde vorm worden verzonden.-L 59000:localhost:5901: Schakelt lokale poortdoorsturing in. Verkeer vanaf poort 59000 op uw lokale computer wordt via de SSH-tunnel doorgestuurd naar poort 5901 op de externe server.localhostverwijst naar de externe server waarop de VNC-server draait.C: Activeert de compressie van dataverkeer. Dit kan de overdrachtssnelheid verbeteren en het bandbreedtegebruik verminderen, vooral bij trage verbindingen.N: Voorkomt dat commando’s op de externe server worden uitgevoerd. Deze modus is handig als u alleen de tunnel wilt opzetten zonder een shell op de externe server te starten.-l <your-username>: Geeft de gebruikersnaam op waarmee u inlogt op de externe server.<server-ip>: Het IP-adres of de hostnaam van de externe server waarmee u verbinding wilt maken via SSH.
Vervang <your-username> door je gebruikersnaam en <server-ip> door het IP-adres van je server.
Maak verbinding met de lokale poort 5901 die je via de SSH-tunnel hebt doorgestuurd door localhost:5901 in te voeren in je VNC-viewer.
Deze methode zorgt ervoor dat uw VNC-verbinding via een versleutelde SSH-verbinding tot stand komt en daardoor veiliger is.
Stap 10: De VNC-server beheren
Gebruik de volgende opdrachten om de VNC-server te stoppen of opnieuw te starten:
VNC-server stoppen:
vncserver -kill :1bashVNC-server opnieuw starten:
vncserver :1bashVNC-server afsluiten (met systemd):
sudo systemctl stop vncserver@:1bashStatus controleren:
sudo systemctl status vncserver@1bashEen mogelijke uitvoer zou kunnen zijn:
vncserver@1.service - Start TigerVNC server at startup
Loaded: loaded (/etc/systemd/system/vncserver@.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2024-07-29 16:57:26 UTC; 20s ago
Process: 97088 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
Process: 97092 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :1 (code=exited, status=0/SUCCESS)
Main PID: 97103 (Xtigervnc)
Tasks: 77 (limit: 4665)
Memory: 146.7M
CPU: 4.459s
CGroup: /system.slice/system-vncserver.slice/vncserver@1.service
. . .bashStap 11: Problemen oplossen
Als u problemen ondervindt, controleer dan het volgende:
- Logbestanden: De logbestanden voor de VNC-server bevinden zich in
~/.vnc. Controleer deze bestanden op foutmeldingen die op mogelijke problemen kunnen wijzen. - Netwerkverbinding: Zorg ervoor dat er geen netwerkbeperkingen of firewalls zijn die de toegang tot de VNC-poort blokkeren.
- Configuratiebestanden: Zorg ervoor dat er geen fouten zitten in de configuratie van de desktopomgeving in het bestand
~/.vnc/xstartup.
U hebt nu de mogelijkheid om uw bestanden en programma’s, evenals uw systeeminstellingen, eenvoudig te beheren via een VNC-server. Als u liever Windows gebruikt, raden wijuonze handleiding‘VNC-server installeren op Windows’aan.