1 |
On 3/22/22 10:41 AM, Grant Edwards wrote: |
2 |
> How does one run "modern" X11 apps remotely? |
3 |
|
4 |
Xvnc |
5 |
|
6 |
As in run an Xvnc server as an X11 server / display. Point your |
7 |
programs at that display / server. Then have a VNC client connect to |
8 |
said VNC server. |
9 |
|
10 |
> Using ssh -X or ssh -Y works fine for older applications, but not for |
11 |
> things that use "modern" toolkits. Modern tookit designers appear to |
12 |
> have adopted a life mission to maximize the number of client-server |
13 |
> round-trips required for even a trivial event like a keystroke in a |
14 |
> text box. |
15 |
|
16 |
Yes. The back and forth between the X11 client (program) and server |
17 |
(display) is quite chatty and latency sensitive. |
18 |
|
19 |
The thing that running the Xvnc server on the same system as the X11 |
20 |
clients is that the latency between the two that the X11 protocol sees |
21 |
is effectively as small as possible. Then VNC's Remote Frame Buffer |
22 |
(RFB) protocol is more forgiving with latency between the VNC server and |
23 |
the VNC client. |
24 |
|
25 |
> As a result, even with a 5-10Mbps remote connection, it takes several |
26 |
> minutes to enter a string of even a few characters. A mouseclick on |
27 |
> a button can take a minute or two to get processed. Resizing a window |
28 |
> pretty much means it's time for a cuppa. |
29 |
|
30 |
Been there. |
31 |
|
32 |
Done that. |
33 |
|
34 |
> Opening chrome and loading a web page can take 10-15 minutes. No |
35 |
> activity at all on the screen, but the network connection to the |
36 |
> remote machine is saturated at 5Mbps for minutes at a time. WTF? |
37 |
|
38 |
You also want to minimize spurious / superfluous updates that aren't |
39 |
actually /needed/. E.g. things fading in / out / animations. |
40 |
|
41 |
> I do not want a "remote desktop". I just want to run a single |
42 |
> application on a remote machine and have its window show up locally. |
43 |
|
44 |
You can adjust the size of the Xvnc's display so that it's the size of |
45 |
just the application in question. You also don't need the full desktop |
46 |
to display on that screen. |
47 |
|
48 |
> Back in the day, I used to run X11 apps remotely through dial-up |
49 |
> connections, and most of them were a little sluggish but still |
50 |
> actually usable... |
51 |
|
52 |
The X11 protocol has changed a lot over the years. Older versions of |
53 |
X11 are less chatty than newer versions of X11. |
54 |
|
55 |
Reducing color depth also helps reduce the amount of data that needs to |
56 |
be exchanged. |
57 |
|
58 |
> X11 transparent network support was its killer feature, |
59 |
I completely agree. Especially when you start running different |
60 |
programs on different systems / users / contexts. |
61 |
|
62 |
> but for all practical purpopses, that feature seems to have been |
63 |
> killed. |
64 |
|
65 |
I don't think that's true. |
66 |
|
67 |
I run programs like this on the daily. E.g. Lotus Notes 9.x running on |
68 |
an old CentOS 6.x VM (last supported version) displaying on contemporary |
69 |
Gentoo on my workstation. The latency is noticeable if you know what to |
70 |
look for. But the latency is also quite tolerable. |
71 |
|
72 |
I find web browsing to be considerably slower than my Notes client which |
73 |
I use interactively on the daily, if not hourly. |
74 |
|
75 |
|
76 |
|
77 |
-- |
78 |
Grant. . . . |
79 |
unix || die |