−25%

på Windows ved årlig betaling, til 31/10. Se pakkerne

EQVPS
Kom i gang

Sådan installerer du et skrivebord på en Linux-VPS og forbinder med Fjernskrivebord (XFCE + xrdp)

Et grafisk skrivebord på en Ubuntu 24.04-VPS, som du åbner med den almindelige Fjernskrivebord-app: XFCE og xrdp, de to standardindstillinger der ødelægger det (forkert session, ingen TLS), og en opsætning hvor port 3389 aldrig vender ud mod internettet. Med målt diskplads og RAM pr. session.

En Linux-server har ingen skærm, og det meste af tiden har den ikke brug for en. Nogle gange har den: en browser, der skal køre fra serverens egen adresse, et værktøj kun med grafisk brugerflade, eller et skrivebord du kan lade køre og vende tilbage til fra en hvilken som helst computer. Denne guide tilføjer det lette skrivebord XFCE og xrdp til Ubuntu 24.04, så du kan åbne det med den samme Fjernskrivebord-app, som du ville bruge til en Windows-server.

Vi testede hvert trin på vores Ubuntu 24.04-image. To standardindstillinger fik første forsøg til at fejle, og vi retter begge nedenfor. Du skal bruge en almindelig bruger med sudo; guiden til opsætning af Ubuntu opretter en. I eksemplerne hedder den deploy.

1. Installér XFCE og xrdp

sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp

På vores server med 2 GB tog det omkring fire og et halvt minut og brugte 1,7 GB disk (2,7 GB brugt før, 4,4 GB efter). Det installerer xrdp 0.9.24, som starter med det samme og lytter på port 3389.

2. Få xrdp til at starte XFCE, ikke GNOME

Log ind som den bruger, der skal bruge skrivebordet, og kør:

echo xfce4-session > ~/.xsession

Uden denne fil startede vores første login GNOME i stedet for XFCE, og sessionen døde straks med "Oh no! Something has gone wrong". Pakkerne fra trin 1 trækker også GNOME's sessionshåndtering med, og Ubuntu gør den til standard. Med ~/.xsession på plads starter xrdp XFCE.

3. Lad xrdp bruge TLS

xrdp kører som sin egen bruger xrdp, og den bruger kan ikke læse serverens private nøgle. Vores første forbindelse virkede, men /var/log/xrdp.log viste, hvorfor man ikke skal stole på den:

Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1

Uden nøglen falder xrdp tilbage til den gamle RDP-kryptering i stedet for TLS. Giv den adgang og genstart:

sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp

Den næste forbindelse stod i vores log som TLS connection established ... TLSv1.3. Du kan tjekke din på samme måde:

sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2

4. Hold port 3389 væk fra internettet

Når xrdp er installeret, lytter det på alle adresser. I modsætning til Windows har xrdp ingen Network Level Authentication, så alle, der kan nå porten, får en loginskærm at gætte adgangskoder på. Få det til kun at lytte på selve serveren:

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

Sidste linje skal vise 127.0.0.1:3389. I vores test blev en direkte forbindelse til serverens adresse på 3389 derefter afvist, og tunnellen i næste trin virkede stadig.

5. Forbind gennem SSH

Åbn en tunnel på din egen computer. På Windows har PowerShell den samme ssh-kommando:

ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP

På en NAT-plan tilføjer du -p og den personlige SSH-port fra kontrolpanelet. Lad vinduet være åbent. Peg så din Fjernskrivebord-app på localhost:13389, og log ind som deploy med brugerens adgangskode:

  • Windows: Forbindelse til Fjernskrivebord (mstsc).
  • macOS: Windows App fra App Store.
  • Linux: Remmina eller xfreerdp /v:localhost:13389 /u:deploy.

Den lokale port er 13389 og ikke 3389, fordi 3389 allerede kan være optaget på din computer af dens eget Fjernskrivebord. Første gang advarer appen om et certifikat, den ikke kender. Det er serverens selvsignerede certifikat, og forbindelsen er alligevel krypteret inde i SSH.

6. Hvad du får

Du får et XFCE-skrivebord med panel, filhåndtering og terminal. På vores server lagde én session omkring 360 MB RAM oven i: 388 MB brugt før vi forbandt, 747 MB under sessionen.

At lukke Fjernskrivebord-vinduet logger dig ikke ud. I vores test fortsatte en lang kommando, efter vi afbrød forbindelsen. Da vi forbandt igen, satte xrdp os tilbage i den samme session (reconnected session ... display :10 i dens log). For virkelig at afslutte sessionen bruger du Log Out i XFCE-menuen.

Hvilken plan

Skrivebordet har mere brug for RAM end CPU. Micro (2 vCPU, 2 GB, 25 GB, $5/md.) kører XFCE og lette værktøjer uden besvær. Vil du have en webbrowser åben i sessionen, så tag Small med 4 vCPU og 4 GB til $8/md. Begge er NAT-planer, og det er fint her: Fjernskrivebordet går gennem din SSH-port.

Hvis det, du egentlig har brug for, er Windows-software, kører en Windows-VPS den direkte, og Windows-Small starter ved $11/md. Ubuntu 24.04 findes på Ubuntu VPS-siden og på alle Linux-planer under VPS. Betaling sker i USDT, USDC eller ETH på Base, Ethereum eller Polygon.

FAQ

Kan jeg forbinde med den almindelige Fjernskrivebord-app i Windows?

Ja. xrdp taler RDP-protokollen, så den indbyggede Forbindelse til Fjernskrivebord i Windows, Windows App på macOS og Remmina eller xfreerdp på Linux virker alle. Du forbinder til localhost gennem en SSH-tunnel i stedet for til serverens adresse.

Virker det på en NAT-plan?

Ja. RDP-forbindelsen går inde i SSH, og SSH er netop den ene port, som en NAT-plan videresender til din server. Det er den opsætning, guiden anbefaler på alle planer, fordi port 3389 forbliver lukket mod internettet.

Hvor meget RAM bruger skrivebordet?

På vores testserver lagde én XFCE-session omkring 360 MB oven i: brugt hukommelse gik fra 388 MB til 747 MB. Micro-planen med 2 GB er nok til skrivebordet og lette værktøjer. Kører du en webbrowser i sessionen, er 4 GB mere behageligt.

Jeg får en sort skærm eller "Oh no! Something has gone wrong". Hvad er galt?

xrdp startede GNOME i stedet for XFCE. Pakkerne fra trin 1 trækker også GNOME's sessionshåndtering med, og Ubuntu gør den til systemstandard. Opret ~/.xsession med xfce4-session for den bruger, der logger ind, og forbind igen.

Kan jeg logge ind over RDP som root?

xrdp tillader det som standard (AllowRootLogin=true i /etc/xrdp/sesman.ini), men brug hellere en almindelig bruger med sudo. Vil du spærre root, så sæt AllowRootLogin=false og genstart xrdp.

Kommentarer

Ingen kommentarer endnu. Vær den første.

Skriv en kommentar

Kommentarer modereres, før de vises.