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:
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user