Skip to main content

Debian 13 + XRDP + KDE Plasma (X11) – Basic Setup

Ziel:

Hinweis: LAN-onlyDiese RemoteAnleitung Desktopgeht ohnedavon Cloud,aus, mitdass du Root bist (kein sudo). KDE Plasma,läuft dynamischer Auflösung und Copy+Paste per Zwischenablage.in XRDP erstelltzuverlässig dabeials eine eigene X11-SessionX11 (nicht deine lokale Wayland-Session)Wayland).

Server:1) Installation (Debian 13)

Pakete installieren

apt update
# XRDP Server + Xorg-Treiber für XRDP
apt install -y xrdp xorgxrdp # KDE Plasma (minimal) + DBus-X11 Helfer
apt install plasma-desktop plasma-workspace dbus-x11

Tipp: Wenn du nur eine schlanke Plasma-Session willst, reicht plasma-desktop. (Das volle Meta-Paket kde-standard/kde-full ist optional.)

2) XRDP-Startscript für Plasma setzen

Datei: /etc/xrdp/startwm.sh – Inhalt komplett ersetzen:

#!/bin/sh

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR

export XDG_SESSION_TYPE=x11
export KDE_FULL_SESSION=true
export QT_QPA_PLATFORM=xcb

export QT_QUICK_BACKEND=software
export LIBGL_ALWAYS_SOFTWARE=1

export KWIN_COMPOSE=N
export KWIN_NO_COMPOSITING=1

exec dbus-run-session -- startplasma-x11

Danach ausführbar machen:

chmod +x /etc/xrdp/startwm.sh

3) XRDP Dienste aktivieren / starten

systemctl enable --now xrdp xrdp-sesman

Security:

4) NurSecurity-Basics im(sehr LANempfohlen)

erlauben
Empfehlung:

XRDPRDP lauschtniemals auf“offen TCPins 3389.Internet”. Das sollte im NormalfallIdealerweise nur im LAN erreichbaroder sein.per WennVPN/SSH-Tunnel.

du
Firewall nutzt (nftables), erlaubeFirewall-Regel nur für dein LAN-Subnetz.internes
# BeispielNetz (anpassen!)Beispiel: 10.0.0.0/8): Port 3389 nur 10.100.6.0/24intern darferlauben.
aufStarke 3389Passwörter, #kein Datei:Root-Login /etc/nftables.confper (oderRDP. deinSystem eigenesaktuell Ruleset)halten. # # tcp dport 3389 ip saddr 10.100.6.0/24 accept # tcp dport 3389 drop

Server:5) PlasmaClient sauber für XRDP starten

XRDP startet standardmäßig /etc/xrdp/startwm.sh. Damit Plasma stabil läuftverbinden (ohne GPU/OpenGLDomain, Drama),mit mussDynamic dieResolution Session+ per DBus gestartet werden und KWin/Qt sollen auf Software-Rendering ausweichen.

Datei bearbeiten

Clipboard)

Datei: /etc/xrdp/startwm.sh

Inhalt (Beispiel, bewusst simpel):

#!/bin/sh

# XRDP-Session: keine "fremde" DBus-Adresse übernehmen
unset DBUS_SESSION_BUS_ADDRESS

# XRDP/Xorg hat oft kein GLX/EGL -> Plasma/Qt auf Software zwingen
export QT_QUICK_BACKEND=software

# KWin Compositor möglichst "harmlos" halten
# (Plasma 6 kann trotzdem versuchen OpenGL zu nutzen – diese Variablen helfen meist)
export KWIN_COMPOSE=QPainter
export KWIN_NO_COMPOSITING=1

# Scaling/DPI stabil halten (optional)
export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_SCALE_FACTOR=1

# Plasma X11 starten (nicht Wayland)
exec dbus-run-session startplasma-x11

Danach XRDP einmal neu laden:

systemctl restart xrdp xrdp-sesman

Client: Verbindung herstellen (Linux → Debian XRDP)

FreeRDP (schnell, dynamische Auflösung, Clipboard)

Auf dem Linux-Client (Debian/KDE):

apt update
apt install freerdp3-x11

Verbinden (Beispiel)FreeRDP):

xfreerdp3 /v:SERVER-IPIP:3389 /u:jj /d:. /dynamic-resolution +/clipboard /cert:tofu
    /d:. = keine Domain /dynamic-resolution: Auflösung= passt sichdie Auflösung beim Fenster-Resize an +/clipboard: Copy+= Copy/Paste zwischen lokalClient und remote /d:.: “lokal”, also keine AD-DomainSession /cert:tofu: Trust-On-First-Use= Zertifikat beim ersten Mal merken (ersteTrust VerbindungOn speichertFirst Zertifikat-Fingerprint)Use)

    Windows-Client (mstsc.exe)

    Du kannst auch mit dem eingebauten Windows-RDP-Client verbinden. Für “keine Domain”: Benutzername oft als .\jj (Punkt-Backslash) eingeben. Dynamisches Resizing hängt vom Client ab; FreeRDP ist dafür meist besser steuerbar.


    Copy6) &Typische Paste (Zwischenablage) – was muss stimmen?Stolpersteine

    • ImKeine ClientFensterleisten muss/ Clipboard-Weiterleitungnichts aktivverschiebbar: seinKWin (bei FreeRDP: +clipboard).
    Auf dem Server darf XRDP den Clipboard-Channelläuft nicht deaktivieren.

    Server-Check: Datei /etc/xrdp/xrdp.ini – dort gibt es einen Abschnitt für Channels. Achte darauf, dass cliprdr nicht deaktiviert ist.


    Dynamische Auflösung – typische Stolperfallen

      Dynamisches Resizing klappt am zuverlässigsten mit xorgxrdp + FreeRDP /dynamic-resolution. Wenn Plasma “komisch” skaliert, setze die Skalierungs-Variablen im startwm.sh stabil (siehe oben). Wenn KWin wegcrasht, hast du keine Fensterleisten und alles klebt oben links (dann läuft kein Window Manager).Manager

      Mini-Troubleshooting (wenn Fenster nicht bewegbar / keine Titlebar)

      In der XRDP-Session (oder per SSH) prüfen:

      pgrep -a kwin_x11 || echo "kwin_x11 fehlt"
      pgrep -a plasmashell || echo "plasmashell fehlt"

      Wenn kwin_x11 fehlt, ist das der Grund für “alles oben links, nix bewegbar”abgestürzt). DannLösung: stimmt meist der Plasma-Start (DBus/Compositor/GL) nicht.


      Hinweis zu “Apps wie Spotify” in XRDP

      Manche Apps basieren auf Chromium/Electron und zicken ohne GPU/OpenGL gern herum. Wenn eine App in der XRDP-Session nicht startet, probiere (für genau diese App) GPU zuCompositing deaktivieren (z.B.wie peroben) Startparameterund --disable-gpu),XRDP stattneu globalstarten. Sicherheitsoptionen

      Panel zuunten verschlechtern.schwarz / Wallpaper endet am Panel: Ohne Compositing wirken Transparenzen oft “kaputt”. Stelle das Panel auf undurchsichtig oder nutze ein Theme ohne Transparenz.