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), erlaube
  • Firewall-Regel nur dein LAN-Subnetz.

    # Beispiel (anpassen!): nur 10.100.6.0/24 darf auf 3389
    # Datei: /etc/nftables.conf (oder dein eigenes Ruleset)
    #
    # tcp dport 3389 ip saddr 10.100.6.0/24 accept
    # tcp dport 3389 drop

    Server: Plasma sauber für XRDPdein starten

    internes

    XRDPNetz startet(Beispiel: standardmäßig10.0.0.0/8): /etc/xrdp/startwm.sh.Port Damit3389 Plasmanur stabilintern läufterlauben.

  • Starke Passwörter, kein Root-Login per RDP.
  • System aktuell halten.

5) Client verbinden (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: = passt die Auflösung passt sich 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

  • Im Client muss Clipboard-Weiterleitung aktiv sein (bei FreeRDP: +clipboard).
  • Auf dem Server darf XRDP den Clipboard-Channel 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 keineKeine Fensterleisten und/ allesnichts klebtverschiebbar: oben links (dannKWin läuft keinnicht (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.