SSH through a NAT will often stop working after some idle time. The "real" solution is to add ServerAliveInterval
to ssh_config
.
We should either pass this to the ssh tunnel command, or implement a heartbeat mechanism.
As it stands, my Xpra sessions die after about 2h of idle.
-o ServerAliveInterval=300
on ssh commandline solves the problem. I propose adding that by default.
My understanding of ssh is that specifying -o OPTION
overrides whatever is in the user's config file, so we probably don't want to do that.
Some users may have a low alive-interval set, others not, it should really be up to them to set this value - and they can do that already, in a much more flexible way (per host, etc) via ~/.ssh/config
Maybe we should just enable pings in xpra with a reasonable delay (currently the pings are enabled only when displaying statistics and are sent every second)
please close as 'wontfix' when the launcher is ready
note: --enable-pings
will send a ping every second, which will effectively keep the session alive, we may want to make the delay configurable and replace this with --ping-frequency=N
r1007 enables pings unconditionally with a delay of 20 seconds.
--enable-pings
now only increases the frequency of pings to 1 per second.
This should detect dead connections.
this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/111