Document xrdp blank-screen fix (Wayland-only GNOME needs XFCE) (#42)
After replacing gnome-remote-desktop with xrdp, the connection succeeded but showed a blank screen: GNOME 50 on Fedora is Wayland-only and can't run on xrdp's Xorg backend, so the session started and died in ~2s. Fixed by installing XFCE (an X11 desktop that works without GL) and creating the missing /etc/xrdp/startwm.sh to launch it. Verified xfce4-session/xfwm4 persist and guacd streams sustained desktop frames. Co-authored-by: Samuel James <ssamjame@amazon.com> Co-authored-by: Kiro <noreply@kiro.dev>
This commit is contained in:
parent
05e78f0fa5
commit
060ac6c078
1 changed files with 20 additions and 0 deletions
|
|
@ -38,6 +38,26 @@ plus the alternative considered:
|
||||||
streams live desktop frames. **`security` MUST be `any` (or blank → defaults to `any`)** for
|
streams live desktop frames. **`security` MUST be `any` (or blank → defaults to `any`)** for
|
||||||
xrdp's default config — `nla` fails (`Security negotiation failed`) and `rdp` errors out.
|
xrdp's default config — `nla` fails (`Security negotiation failed`) and `rdp` errors out.
|
||||||
Note: xrdp gives a fresh X login session, not a takeover of the existing Wayland session.
|
Note: xrdp gives a fresh X login session, not a takeover of the existing Wayland session.
|
||||||
|
|
||||||
|
**Gotcha (connected-but-blank screen):** after installing xrdp you may connect successfully
|
||||||
|
but see a blank/black screen. Cause: **GNOME 50 on Fedora is Wayland-only** (no Xorg session
|
||||||
|
in `/usr/share/xsessions/`), so it cannot run on xrdp's Xorg backend — the session starts and
|
||||||
|
dies in ~2s (`xrdp-sesman` logs `Session on display N has finished`). Fix: install a
|
||||||
|
lightweight **X11** desktop and point xrdp at it:
|
||||||
|
```bash
|
||||||
|
sudo dnf install -y @xfce-desktop # XFCE: X11, no GL needed, reliable over xrdp
|
||||||
|
# /etc/xrdp/startwm.sh was missing on this VM — create it:
|
||||||
|
sudo tee /etc/xrdp/startwm.sh >/dev/null <<'WM'
|
||||||
|
#!/bin/sh
|
||||||
|
[ -r /etc/profile ] && . /etc/profile
|
||||||
|
export XDG_SESSION_TYPE=x11
|
||||||
|
export XDG_CURRENT_DESKTOP=XFCE
|
||||||
|
exec startxfce4
|
||||||
|
WM
|
||||||
|
sudo chmod +x /etc/xrdp/startwm.sh
|
||||||
|
sudo systemctl restart xrdp-sesman xrdp
|
||||||
|
```
|
||||||
|
Verified: `xfce4-session` + `xfwm4` stay running and guacd streams sustained desktop frames.
|
||||||
- **Alternative (infra, affects everyone): a custom guacd build with FreeRDP 3.** Not worth it
|
- **Alternative (infra, affects everyone): a custom guacd build with FreeRDP 3.** Not worth it
|
||||||
yet — it's a 30+ min from-source build to maintain in `docker-compose.yml`, for one upstream
|
yet — it's a 30+ min from-source build to maintain in `docker-compose.yml`, for one upstream
|
||||||
gap that Apache will eventually close. Revisit if/when `guacamole/guacd` ships FreeRDP 3.
|
gap that Apache will eventually close. Revisit if/when `guacamole/guacd` ships FreeRDP 3.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue