#611 UAT PASS both accounts; close-out + session-hygiene part 5 (#611)

Full matrix green incl. close-Jump-and-return (apps persist, reconnect
resumes). DisconnectedTimeLimit=0 + tcp keepalives documented; the
manager-recycle clean-slate layer (systemctl stop user@UID) captured in
the script. Scratch user/harness removed.

Details: https://projects.knownelement.com/issues/611
This commit is contained in:
2026-09-01 17:38:55 -05:00
parent f815149472
commit f66138e40b
2 changed files with 22 additions and 1 deletions
+21
View File
@@ -105,6 +105,27 @@ else
systemctl restart xrdp
fi
echo "EGFX disabled (drdynvc=false) — clients now negotiate classic codecs."
###############################################################################
# Part 5 — session hygiene (2026-09-01 night, #611 close-out)
#
# - sesman.ini: KillDisconnected=false + DisconnectedTimeLimit=0 — human
# keeps apps up 24x7 and reconnects at will.
# - xrdp.ini: tcp_nodelay/tcp_keepalive=true so dead client connections
# (iPad backgrounding Jump) are detected; reconnects then RESUME the
# existing session instead of spawning duplicates.
# - THE CLEAN SLATE, when a login black-screens and nothing else works:
# the systemd --user manager accumulates poisoned state across session
# generations (stale DISPLAY env, wedged dbus name waits — plasma units
# are Type=dbus and hang "activating" at ~0% CPU). Recycle it:
# systemctl stop user@<uid>
# then reconnect (fresh manager = clean login at ANY resolution).
# pkill of kwin/plasmashell/Xorg alone does NOT reach this layer.
###############################################################################
grep -q '^DisconnectedTimeLimit=0' /etc/xrdp/sesman.ini || sed -i 's/^DisconnectedTimeLimit=.*/DisconnectedTimeLimit=0/' /etc/xrdp/sesman.ini
grep -qE '^tcp_keepalive' /etc/xrdp/xrdp.ini || printf 'tcp_keepalive=true\ntcp_nodelay=true\n' >> /etc/xrdp/xrdp.ini
echo "session hygiene present (DisconnectedTimeLimit=0, tcp keepalives)."
echo "kwin unit override: /etc/systemd/user/plasma-kwin_x11.service.d/bigres-timeout.conf"
echo
echo "If a session is currently black: loginctl terminate-session <id> (or"