Een Linux-server heeft geen scherm, en meestal heeft hij er ook geen nodig. Soms wel: een browser die vanaf het adres van de server zelf moet draaien, een tool die alleen een grafische interface heeft, of een desktop die je laat draaien en vanaf elke computer weer oppakt. Deze handleiding voegt de lichte desktop XFCE en xrdp toe aan Ubuntu 24.04, zodat je hem opent met dezelfde Extern bureaublad-app als een Windows-server.
We hebben elke stap op onze Ubuntu 24.04-image getest. Twee standaardinstellingen lieten de eerste poging mislukken, en hieronder lossen we beide op. Je hebt een gewone gebruiker met sudo nodig; de Ubuntu-installatiehandleiding maakt er een aan. In de voorbeelden heet hij deploy.
1. Installeer XFCE en xrdp
sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp
Op onze server met 2 GB duurde dit ongeveer vierenhalve minuut en kostte het 1,7 GB schijf (2,7 GB gebruikt vooraf, 4,4 GB erna). Het installeert xrdp 0.9.24, dat meteen start en op poort 3389 luistert.
2. Laat xrdp XFCE starten, niet GNOME
Log in als de gebruiker die de desktop gaat gebruiken en voer uit:
echo xfce4-session > ~/.xsession
Zonder dit bestand startte onze eerste login GNOME in plaats van XFCE, en de sessie stopte meteen met "Oh no! Something has gone wrong". De pakketten uit stap 1 halen ook de sessiebeheerder van GNOME binnen, en Ubuntu maakt die de standaard. Met ~/.xsession op zijn plek start xrdp XFCE.
3. Laat xrdp TLS gebruiken
xrdp draait als eigen gebruiker xrdp, en die kan de privésleutel van de server niet lezen. Onze eerste verbinding werkte, maar /var/log/xrdp.log liet zien waarom je die niet moet vertrouwen:
Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1
Zonder de sleutel valt xrdp terug op de oude RDP-versleuteling in plaats van TLS. Geef hem toegang en herstart:
sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp
De volgende verbinding stond in ons log als TLS connection established ... TLSv1.3. Je controleert de jouwe op dezelfde manier:
sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2
4. Houd poort 3389 van internet af
Na installatie luistert xrdp op elk adres. Anders dan Windows heeft xrdp geen Network Level Authentication, dus iedereen die de poort bereikt krijgt een inlogscherm om wachtwoorden op te raden. Laat hem alleen op de server zelf luisteren:
sudo sed -i 's|^port=3389$|port=tcp://127.0.0.1:3389|' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
ss -ltn | grep 3389
De laatste regel moet 127.0.0.1:3389 tonen. In onze test werd een directe verbinding met het adres van de server op 3389 daarna geweigerd, en de tunnel uit de volgende stap bleef werken.
5. Verbind via SSH
Open op je eigen computer een tunnel. Op Windows heeft PowerShell hetzelfde ssh-commando:
ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP
Op een NAT-pakket voeg je -p en de persoonlijke SSH-poort uit je dashboard toe. Laat dat venster open. Richt daarna je Extern bureaublad-app op localhost:13389 en log in als deploy met het wachtwoord van die gebruiker:
- Windows: Verbinding met extern bureaublad (
mstsc). - macOS: de Windows App uit de App Store.
- Linux: Remmina, of
xfreerdp /v:localhost:13389 /u:deploy.
De lokale poort is 13389 en niet 3389, omdat 3389 op je computer al bezet kan zijn door zijn eigen Extern bureaublad. De eerste keer waarschuwt de app voor een certificaat dat hij niet kent. Dat is het zelfondertekende certificaat van de server, en de verbinding is binnen SSH toch al versleuteld.
6. Wat je krijgt
Je krijgt een XFCE-desktop met een paneel, een bestandsbeheerder en een terminal. Op onze server kwam er met één sessie ongeveer 360 MB RAM bij: 388 MB in gebruik voordat we verbonden, 747 MB tijdens de sessie.
Het venster van Extern bureaublad sluiten logt je niet uit. In onze test liep een lang commando door nadat we de verbinding verbraken. Toen we opnieuw verbonden, zette xrdp ons terug in dezelfde sessie (reconnected session ... display :10 in zijn log). Wil je de sessie echt beëindigen, gebruik dan Log Out in het XFCE-menu.
Welk pakket
De desktop heeft meer aan RAM dan aan CPU. Micro (2 vCPU, 2 GB, 25 GB, $5/maand) draait XFCE en lichte tools zonder moeite. Wil je een webbrowser in de sessie open houden, neem dan Small met 4 vCPU en 4 GB voor $8/maand. Beide zijn NAT-pakketten, en dat is hier geen probleem: Extern bureaublad gaat via je SSH-poort.
Heb je eigenlijk Windows-software nodig, dan draait een Windows-VPS die direct, en Windows-Small begint bij $11/maand. Ubuntu 24.04 staat op de Ubuntu VPS-pagina en op elk Linux-pakket onder VPS. Betalen gaat in USDT, USDC of ETH op Base, Ethereum of Polygon.
Reacties
Nog geen reacties. Wees de eerste.