On 2022-03-22, Laurence Perkins <[email protected]> wrote: >>Even something "lightweight" like atril is so slow it's barely usable. >> >>I do not want a "remote desktop". I just want to run a single >>application on a remote machine and have its window show up locally. >> >>Back in the day, I used to run X11 apps remotely through dial-up >>connections, and most of them were a little sluggish but still >>actually usable... >> >>X11 transparent network support was its killer feature, but for all >>practical purpopses, that feature seems to have been killed.
> As you mentioned, it's a lot of extra round-trips. Which means that > it's not primarily your bandwidth that's the limiting factor, it's > the latency. > > Unfortunately, the speed of light being what it is, there are > practical limits to what you can do about latency depending on how > far apart the systems in question are. Where "far" is measured more in in hops than miles. :) Even with cut-through routing, each hop can be expensive. Add a couple firewalls with stateful packet inpsection, and latency from my house to the house next door isn't great. > But, check for and mitigate any bufferbloat issues you may have, > that will spike your latency quite a bit. > > The key back in the day was that people used X11 primitives > directly. But the X11 primitives are ugly, and there weren't any > tools for making them pretty. Yea, I remember. I wrote a couple xlib apps way back back when and it was painful. Even the old Xt toolkit wasn't fun. I do appreciate how easy it is to slap together something in Python and Gtk, I just wish it worked remotely after it was done. :) > So rather than add those mechanisms all the toolkit authors just did > their own thing and now everything is just bitmaps and practically > no processing can be done locally. > > Some programs like gVim will detect that they're running over SSH > and fall back to basic X11 for the speed factor. Not sure what > browsers might do that. Things like Xemacs are still usable, but if I'm doing emacs, I usually just run it directly in an ssh "terminal".

