Wie man XRDP auf Ubuntu 22.04 installiert und konfiguriert
XRDP ist eine Open-Source-Implementierung von Microsofts Remote Desktop Protocol (RDP)-Server für Linux. Es ermöglicht jedem RDP-kompatiblen Client — einschließlich Windows Remote Desktop Connection, Remmina und FreeRDP — eine vollständige grafische Desktop-Sitzung auf einem entfernten Linux-Rechner aufzubauen. Auf Ubuntu 22.04 fungiert XRDP als Brücke zwischen dem RDP-Client und einer zugrunde liegenden X11- oder Xorg-Anzeigesitzung und bietet eine reaktionsschnelle, verschlüsselte Remote-Desktop-Erfahrung ohne VNC oder proprietäre Software.
Dieser Leitfaden behandelt die vollständige Installation, SSL-Zertifikatskonfiguration, Firewall-Härtung, Desktop-Umgebungsintegration und das Verbindungsverfahren für XRDP auf Ubuntu 22.04 LTS — einschließlich Sonderfälle und Probleme nach der Installation, die die meisten Anleitungen auslassen.
Was ist XRDP und wie funktioniert es
XRDP arbeitet nach einem Client-Server-Modell. Der xrdp-Daemon lauscht auf TCP-Port 3389 und verwaltet den RDP-Handshake, die Sitzungsaushandlung und die Transportverschlüsselung über TLS. Intern startet er einen xrdp-sesman-Sitzungsmanager, der Benutzer über PAM (Pluggable Authentication Modules) authentifiziert und eine X11-Sitzung über ein konfigurierbares Backend startet — typischerweise Xvfb (virtueller Framebuffer) oder eine direkte Xorg-Sitzung.
Die wichtigsten Architekturkomponenten sind:
- xrdp-Daemon — verwaltet die RDP-Protokollaushandlung und TLS-Terminierung
- xrdp-sesman — verwaltet den Lebenszyklus von Benutzersitzungen und PAM-Authentifizierung
- X11-Backend — stellt den grafischen Framebuffer bereit (Xvfb, Xorg oder X11rdp)
- chansrv — verwaltet Zwischenablage-Freigabe, Audio-Umleitung und Laufwerk-Zuordnung
Diese Architektur bedeutet, dass XRDP Ihren Display-Manager nicht ersetzt — es läuft parallel dazu und erstellt isolierte grafische Sitzungen pro authentifiziertem Benutzer.
XRDP vs. Alternativen: Protokoll- und Funktionsvergleich
| Funktion | XRDP (RDP) | x11vnc (VNC) | NoMachine (NX) | TeamViewer |
|---|---|---|---|---|
| Protokoll | RDP (Microsoft-Standard) | VNC/RFB | NX-Protokoll | Proprietär |
| Nativer Windows-Client | Ja (integriertes MSTSC) | Nein (Client erforderlich) | Nein (Client erforderlich) | Nein (Client erforderlich) |
| TLS-Verschlüsselung | Ja (nativ) | Optional (über stunnel) | Ja | Ja |
| Multi-Sitzungs-Unterstützung | Ja | Nein (einzelne Anzeige) | Ja | Ja |
| Zwischenablage-Freigabe | Ja | Ja | Ja | Ja |
| Audio-Umleitung | Ja (über PulseAudio) | Eingeschränkt | Ja | Ja |
| Leistung über WAN | Gut | Schlecht | Ausgezeichnet | Gut |
| Open Source | Ja (Apache 2.0) | Ja | Teilweise | Nein |
| Port | 3389 | 5900 | 4000 | 5938 |
Für Teams, die bereits Windows-Infrastruktur nutzen, ist XRDP die betrieblich effizienteste Wahl, da auf Windows-Rechnern keine zusätzliche Client-Software erforderlich ist.
Voraussetzungen
Stellen Sie vor dem Fortfahren Folgendes sicher:
- Ein laufender Ubuntu 22.04 LTS-Server oder Desktop-Instanz
- Ein Benutzerkonto mit
sudo-Berechtigungen - Eine installierte Desktop-Umgebung (GNOME, XFCE oder MATE — Details unten)
- SSH-Zugang zum Server für die Erstkonfiguration
- UFW oder iptables für die Firewall-Verwaltung verfügbar
Wenn Sie einen headless VPS ohne vorinstallierte Desktop-Umgebung betreiben, müssen Sie eine installieren, bevor XRDP eine grafische Sitzung bereitstellen kann. Eine minimale XFCE-Installation wird für die Remote-Desktop-Nutzung aufgrund ihres geringen Speicherbedarfs dringend empfohlen.
Schritt 1 — Systempakete aktualisieren
Synchronisieren Sie immer Ihren Paketindex und wenden Sie ausstehende Upgrades an, bevor Sie neue Software installieren. Dies verhindert Abhängigkeitskonflikte und stellt sicher, dass Sie die neueste gepatchte Version von XRDP erhalten.
sudo apt update && sudo apt upgrade -yStarten Sie neu, wenn ein Kernel-Update angewendet wurde:
sudo rebootSchritt 2 — Desktop-Umgebung installieren (nur für Headless-Server)
Wenn Ihre Ubuntu 22.04-Instanz keine GUI hat, installieren Sie eine leichtgewichtige Desktop-Umgebung. XFCE4 ist die zuverlässigste Wahl für XRDP auf Headless-Servern — GNOME-Sitzungen über XRDP auf Ubuntu 22.04 haben bekannte Rendering-Probleme im Zusammenhang mit Wayland/GDM3-Konflikten.
sudo apt install xfce4 xfce4-goodies -yAlternativ für MATE:
sudo apt install ubuntu-mate-desktop -yWichtiger Hinweis für GNOME-Benutzer: Ubuntu 22.04 verwendet standardmäßig eine Wayland-Sitzung. XRDP unterstützt Wayland nicht nativ. Wenn Sie GNOME verwenden möchten, müssen Sie Xorg-Sitzungen erzwingen, indem Sie /etc/gdm3/custom.conf bearbeiten und WaylandEnable=false auskommentieren. Selbst dann erzeugt GNOME über XRDP auf 22.04 häufig einen schwarzen Bildschirm beim Anmelden — XFCE eliminiert diese Art von Problem vollständig.
Schritt 3 — XRDP installieren
Installieren Sie XRDP aus den offiziellen Ubuntu-Repositories:
sudo apt install xrdp -yDer Paketmanager installiert xrdp zusammen mit seiner Abhängigkeit xorgxrdp, die das Xorg-basierte Display-Treiber-Backend bereitstellt. Die Installation ist auf einem Standard-VPS mit cPanel oder Bare-Metal-Server mit stabiler Internetverbindung typischerweise in unter zwei Minuten abgeschlossen.
Schritt 4 — Den XRDP-Dienst aktivieren und starten
Aktivieren Sie XRDP für den automatischen Start beim Booten und starten Sie es sofort:
sudo systemctl enable xrdp
sudo systemctl start xrdpÜberprüfen Sie, ob der Dienst aktiv ist und lauscht:
sudo systemctl status xrdpDie erwartete Ausgabe enthält Active: active (running) und eine Zeile, die bestätigt, dass der Prozess lauscht. Um die Port-Bindung explizit zu bestätigen:
sudo ss -tlnp | grep 3389Sie sollten eine Ausgabe ähnlich der folgenden sehen:
LISTEN 0 10 0.0.0.0:3389 0.0.0.0:* users:(("xrdp",pid=XXXX,fd=12))Wenn der Port nicht gebunden ist, überprüfen Sie /var/log/xrdp.log auf Startfehler, bevor Sie fortfahren.
Schritt 5 — SSL-Zertifikatsberechtigungen konfigurieren
Während der Installation erstellt XRDP einen dedizierten Systembenutzer namens xrdp. Der Daemon verwendet den Zertifikatsschlüssel unter /etc/ssl/private/ssl-cert-snakeoil.key für die TLS-Sitzungsverschlüsselung. Standardmäßig gehört diese Datei der Gruppe ssl-cert, und der Benutzer xrdp gehört ihr nicht an — was zu TLS-Handshake-Fehlern oder einem Fallback auf unverschlüsselte Sitzungen führt.
Fügen Sie den Benutzer xrdp zur Gruppe ssl-cert hinzu:
sudo usermod -a -G ssl-cert xrdpStarten Sie XRDP neu, um die Gruppenänderung anzuwenden:
sudo systemctl restart xrdpProduktionshinweis: Das ssl-cert-snakeoil-Zertifikat ist ein selbstsigniertes Zertifikat, das vom Paket ssl-cert generiert wird. Für Produktionsumgebungen oder Server, die dem Internet ausgesetzt sind, ersetzen Sie es durch ein gültiges Zertifikat einer vertrauenswürdigen CA. Wenn Ihr Server eine öffentliche Domain hat, können Sie ein Zertifikat Ihres SSL-Zertifikats-Anbieters verwenden und XRDP so konfigurieren, dass es über die Direktiven certificate und key_file in /etc/xrdp/xrdp.ini darauf verweist.
So verwenden Sie ein benutzerdefiniertes Zertifikat:
sudo nano /etc/xrdp/xrdp.iniSuchen und aktualisieren Sie diese Zeilen:
certificate=/etc/ssl/certs/your-domain.crt
key_file=/etc/ssl/private/your-domain.keySchritt 6 — Desktop-Sitzung für XRDP konfigurieren
XRDP liest eine benutzerspezifische Sitzungskonfigurationsdatei unter ~/.xsession oder ~/.Xclients, um zu bestimmen, welche Desktop-Umgebung gestartet werden soll. Ohne diese Datei erzeugen viele Ubuntu 22.04-Konfigurationen nach der Authentifizierung einen grauen oder schwarzen Bildschirm.
Erstellen Sie für XFCE die Sitzungsdatei für Ihren Benutzer:
echo "xfce4-session" > ~/.xsession
chmod +x ~/.xsessionFür MATE:
echo "mate-session" > ~/.xsession
chmod +x ~/.xsessionWenn Sie dies für mehrere Benutzer auf einem Dedicated Server konfigurieren, automatisieren Sie diesen Schritt mit einer Shell-Schleife oder einem Konfigurationsverwaltungstool wie Ansible.
Schritt 7 — Firewall konfigurieren
XRDP lauscht auf TCP-Port 3389. Sie müssen diesen Port explizit durch UFW erlauben. Das direkte Exponieren von RDP ins Internet auf 0.0.0.0 ist jedoch ein erhebliches Sicherheitsrisiko — RDP ist einer der am häufigsten per Brute-Force angegriffenen Dienste im Internet.
Empfohlener Ansatz: Zugriff auf einen bestimmten IP-Bereich oder VPN-Subnetz beschränken.
Zugriff nur von einem bestimmten vertrauenswürdigen Subnetz erlauben:
sudo ufw allow from 192.168.1.0/24 to any port 3389Wenn Sie von einer einzelnen bekannten IP-Adresse aus verbinden:
sudo ufw allow from YOUR.IP.ADDRESS to any port 3389Wenn Sie vorübergehend einen breiteren Zugriff erlauben müssen (nicht für Produktionsumgebungen empfohlen):
sudo ufw allow 3389/tcpFirewall-Regeln neu laden und überprüfen:
sudo ufw reload
sudo ufw status verboseEmpfehlungen zur Sicherheitshärtung:
- Standard-Port ändern: Bearbeiten Sie
/etc/xrdp/xrdp.iniund setzen Sieport=33890(oder einen anderen nicht standardmäßigen Port), und aktualisieren Sie Ihre UFW-Regel entsprechend. Dies reduziert automatisiertes Scan-Rauschen erheblich. - fail2ban verwenden: Installieren und konfigurieren Sie
fail2banmit demxrdp-Jail, um IP-Adressen nach wiederholten fehlgeschlagenen Authentifizierungsversuchen zu sperren. - Über SSH tunneln: Für maximale Sicherheit binden Sie XRDP nur an
127.0.0.1und greifen Sie über einen SSH-Tunnel darauf zu. Dies eliminiert die direkte Internetexposition vollständig.
Um XRDP nur an localhost zu binden:
sudo nano /etc/xrdp/xrdp.iniSetzen Sie:
address=127.0.0.1Verbinden Sie sich dann über SSH-Tunnel von Ihrem Client aus:
ssh -L 3389:127.0.0.1:3389 user@your-server-ip -NRichten Sie Ihren RDP-Client auf 127.0.0.1:3389.
Schritt 8 — Mit dem XRDP Remote Desktop verbinden
Von Windows aus
- Drücken Sie
Win + R, geben Siemstscein und drücken Sie Enter, um die Remotedesktopverbindung zu öffnen. - Geben Sie im Feld Computer die IP-Adresse Ihres Ubuntu-Servers ein (z. B.
203.0.113.45). - Klicken Sie auf Verbinden.
- Wählen Sie im XRDP-Anmeldebildschirm den Sitzungstyp (typischerweise
XvncoderXorg), geben Sie Ihren Ubuntu-Benutzernamen und Ihr Passwort ein und klicken Sie auf OK.
Von Linux aus (Remmina)
- Öffnen Sie Remmina und erstellen Sie ein neues Verbindungsprofil.
- Setzen Sie das Protokoll auf RDP.
- Geben Sie die Server-IP, Ihren Benutzernamen und Ihr Passwort ein.
- Setzen Sie die Farbtiefe auf True Color (32 bpp) für beste visuelle Qualität.
- Verbinden.
Von macOS aus
Verwenden Sie Microsoft Remote Desktop aus dem Mac App Store — es unterstützt RDP nativ und funktioniert nahtlos mit XRDP.
Fehlerbehebung bei häufigen XRDP-Problemen auf Ubuntu 22.04
Schwarzer Bildschirm nach der Anmeldung
Dies ist das häufigste Problem auf Ubuntu 22.04. Ursachen und Lösungen:
- Fehlende
~/.xsession-Datei: Erstellen Sie sie wie in Schritt 6 gezeigt. - Wayland-Sitzungskonflikt: Deaktivieren Sie Wayland in
/etc/gdm3/custom.conf. - Veraltete X-Sperrdatei: Löschen Sie
/tmp/.X*-lock-Dateien und starten Sie XRDP neu.
Authentifizierungsfehler trotz korrekter Anmeldedaten
- Überprüfen Sie, ob PAM den
xrdp-sesman-Prozess nicht blockiert: prüfen Sie/var/log/xrdp-sesman.log. - Stellen Sie sicher, dass das Benutzerkonto nicht gesperrt ist:
sudo passwd -S username. - Bestätigen Sie, dass der Benutzer nicht aufgefordert wird, sein Passwort bei der nächsten Anmeldung zu ändern.
Schlechte Leistung oder hohe Latenz
- Reduzieren Sie die Farbtiefe in den RDP-Client-Einstellungen (16-Bit statt 32-Bit).
- Aktivieren Sie RemoteFX oder H.264-Codec in
/etc/xrdp/xrdp.ini, wenn Ihr Client dies unterstützt. - Wechseln Sie im XRDP-Sitzungsselektor vom
Xvnc– zumXorg-Backend für bessere Leistung auf Servern mit Hardware-Beschleunigung.
Port 3389 nicht erreichbar
- Bestätigen Sie, dass XRDP läuft:
sudo systemctl status xrdp - Bestätigen Sie, dass UFW nicht blockiert:
sudo ufw status - Überprüfen Sie Sicherheitsgruppen oder Netzwerk-ACLs des Cloud-Anbieters — viele VPS-Anbieter haben eine zusätzliche Firewall-Schicht auf Hypervisor-Ebene, die unabhängig von UFW ist.
Erweiterte Konfigurationsoptionen
Zwischenablage-Freigabe aktivieren
Die Zwischenablage-Umleitung zwischen dem RDP-Client und dem Remote-Desktop erfordert den xrdp-chansrv-Kanaldienst. Er startet automatisch mit der Sitzung, aber wenn die Zwischenablage nicht funktioniert, überprüfen Sie, ob der Prozess läuft:
ps aux | grep xrdp-chansrvWenn er nicht läuft, suchen Sie nach Fehlern in den ~/.xrdp/-Protokolldateien im Home-Verzeichnis des Benutzers.
Audio-Umleitung aktivieren
Installieren Sie das PulseAudio RDP-Modul:
sudo apt install pulseaudio-module-xrdp -yMelden Sie sich ab und verbinden Sie sich erneut. Die Audio-Ausgabe vom Remote-Desktop wird zu den lokalen Client-Lautsprechern umgeleitet.
Gleichzeitige Multi-Benutzer-Sitzungen
XRDP unterstützt standardmäßig mehrere gleichzeitige Sitzungen. Jeder authentifizierte Benutzer erhält eine isolierte X11-Sitzung. So überprüfen Sie aktive Sitzungen:
sudo xrdp-seslistFür Umgebungen mit vielen gleichzeitigen Benutzern — wie Entwickler-Workstations oder Schulungsumgebungen — bietet ein Dedicated Server den notwendigen CPU- und RAM-Spielraum, um mehrere grafische Sitzungen ohne Engpässe aufrechtzuerhalten.
Wichtige Erkenntnisse und Entscheidungs-Checkliste
Überprüfen Sie vor der Bereitstellung von XRDP in der Produktion jeden der folgenden Punkte:
- Desktop-Umgebung installiert und
~/.xsessionpro Benutzer konfiguriert (XFCE empfohlen) xrdp-Benutzer zurssl-cert-Gruppe hinzugefügt — das Überspringen verursacht TLS-Fehler- Wayland deaktiviert bei Verwendung von GNOME (
/etc/gdm3/custom.conf) - Firewall-Regeln beschränken Port 3389 auf vertrauenswürdige IPs — exponieren Sie RDP niemals auf 0.0.0.0 auf einem öffentlichen Server
- Selbstsigniertes Zertifikat ersetzt durch ein gültiges CA-ausgestelltes Zertifikat für Produktionsbereitstellungen
- fail2ban konfiguriert mit einem XRDP-Jail zur Abwehr von Brute-Force-Angriffen
- SSH-Tunnel in Betracht gezogen als Alternative zur direkten Port-Exposition für hochsichere Umgebungen
- Hypervisor-Ebene Firewall überprüft — Sicherheitsgruppen des Cloud-Anbieters sind unabhängig von UFW
- Protokolldateien überwacht unter
/var/log/xrdp.logund/var/log/xrdp-sesman.logauf Sitzungsfehler
Häufig gestellte Fragen
Unterstützt XRDP Ubuntu 22.04 mit Wayland?
Nein. XRDP erfordert eine X11/Xorg-Sitzung. Ubuntu 22.04 verwendet standardmäßig Wayland unter GNOME. Sie müssen entweder Wayland in /etc/gdm3/custom.conf deaktivieren oder eine Desktop-Umgebung verwenden, die standardmäßig Xorg verwendet, wie XFCE oder MATE.
Was ist der Unterschied zwischen den Xvnc- und Xorg-Sitzungstypen in XRDP?
Das Xvnc-Backend erstellt intern einen virtuellen Framebuffer mit VNC, der mit den meisten Konfigurationen kompatibel ist, aber einen höheren CPU-Overhead hat. Das Xorg-Backend verwendet den xorgxrdp-Treiber für direktes Xorg-Rendering und bietet bessere Leistung und Hardware-Beschleunigungsunterstützung. Verwenden Sie Xorg wenn verfügbar.
Können mehrere Benutzer gleichzeitig mit XRDP verbunden sein?
Ja. XRDP erstellt für jeden authentifizierten Benutzer eine separate, isolierte X11-Sitzung. Sitzungen sind unabhängig und beeinflussen sich nicht gegenseitig, was XRDP für den Multi-Benutzer-Fernzugriff auf einem einzelnen Server geeignet macht.
Ist es sicher, XRDP-Port 3389 direkt dem Internet auszusetzen?
Nein. RDP ist eines der am stärksten angegriffenen Protokolle für Brute-Force- und Exploit-Angriffe. Beschränken Sie Port 3389 immer auf bekannte IP-Adressen über Firewall-Regeln, verwenden Sie fail2ban und erwägen Sie das Tunneln von XRDP über SSH für jede internetfähige Bereitstellung.
Wie deinstalliere ich XRDP von Ubuntu 22.04?
Führen Sie sudo apt purge xrdp -y && sudo apt autoremove -y aus. Dies entfernt die XRDP-Pakete und ihre Abhängigkeiten. Löschen Sie auch verbleibende Konfigurationsdateien mit sudo rm -rf /etc/xrdp und entfernen Sie die UFW-Regel mit sudo ufw delete allow 3389/tcp.
