1. 22
  1. 10

    Yeah, it did. And that’s unfortunate, because the ability to interact with a remote computer graphically as easily as you can with ssh would have been very useful. “Most people only ever interact with remote machines with either text mode SSH or a browser talking to a web server on the remote machine.” says the article, and indeed a web browser talking to a server on the remote machine is basically how one interacts with a remote computer graphically nowadays. This is wildly popular, of course, but is it the best possible world? Probably not.

    1. 5

      If you want to do that, RDP is actually well implemented and works for such purposes, on the Windows side.

      1. 6

        Unfortunately, there are a lot of “RDP hostile” applications these days – many of them from Microsoft themselves! For example, using Skype for text chat over RDP is quite painful now.

        1. 1

          Not only on the Windows side. FreeRDP is very good too.

      2. 10

        I don’t think it’s fair to judge a 30 year old graphics system against today’s applications. X’s network transparency worked well for the low resolution displays and simpler applications that existed in 1987.

        Just because it’s not useful any more doesn’t mean it was never useful and an overall failure.

        1. 3

          I agree entirely. I relied on remote X sessions with all kind of graphical stuff from web browsers to TCL/TK programs exported back to my client right up to 2000.

          This article is ill-considered.

          1. 2

            I don’t think it’s fair to judge a 30 year old graphics system against today’s applications.

            Why not? We fairly judge 90s crypto by modern standards.

            I think that while X may have been well-designed by the standard of its day, it was indeed a failure because it ended up optimising for the wrong things.

            That doesn’t mean that X is unusable or not the best alternative — just that as a protocol it has failed to live up to its fundamental goals.

            1. 2

              I think it’s fair to ask whether X meets today’s requirements or not, but it shouldn’t be called a success or failure judging solely by today’s standards.

              X is outdated, but it was still a successful project.

          2. 9

            This is a bold statement, I do quite a bit of ssh -X work, even thousands of miles distant from the server. I do very much wish ssh -X could forward sound somehow, but I certainly couldn’t live without X’s network transparency.

            1. 6

              Curious, what do you use it for? Every time I tried it, the experience was pain-stakingly slow.

              1. 7

                I find it okay for running things that aren’t fully interactive applications. For example I mainly run the terminal version of R on a remote server, but it’s nice that X’s network transparency means I can still do plot() and have a plot pop up.

                1. 5

                  Have you tried SSH compression? I normally use ssh -YC.

                  1. 4

                    Compression can’t do anything about latency, and latency impacts X11 a lot since it’s an extremely chatty protocol.

                    1. 4

                      There are some attempts to stick a caching proxy in the path to reduce the chattiness, since X11 is often chatty in pretty naive ways that ought to be fixable with a sufficiently protocol-aware caching server. I’ve heard good things about NX, but last time I tried to use it, the installation was messy.

                      1. 1

                        There’s a difference between latency (what you talk about) and speed (what I replied to). X11 mainly transfers an obscene amount of bitmaps.

                        1. 1

                          Both latency and bandwidth impact perceived speed.

                  2. 6

                    Seconded. Decades after, it’s still the best “remote desktop” experience out there.

                    1. 3

                      I regularly use it when I am on a Mac and want to use some Linux-only software (primarily scientific software). Since the machines that I run it on are a few floors up or down, it works magnificently well. Of course, I could run a Linux desktop in a VM, but it is nicer having the applications directly on the Mac desktop.

                      Unfortunately, Apple does not seem to care at all about XQuartz anymore (can’t sell it to the animoji crowd) and XQuartz on HiDPI is just a PITA. Moreover, there is a bug in Sierra/High Sierra where the location menu (you can’t make this up) steals the focus of XQuartz all the time:


                      So regretfully, X11 is out for me soon.

                      1. 3

                        Second. I have a Fibre connection at home. I’ve found X11 forwarding works great for a lot of simply GTK applications (EasyTag), file managers, etc.

                        Running my IntelliJ IDE or Firefox over X11/openvpn was pretty painfully slow, and IntelliJ became buggy, but that might have just been OpenVPN. Locally within the same building, X11 forwarding worked fine.

                        I’ve given Wayland/Weston a shot on my home theater PC with the xwayland module for backward compatibility. It works .. all right. Almost all my games work (humble/steam) thankfully, but I have very few native wayland applications. Kodi is still glitchy, and I know Weston is meant to just be a reference implementation, but it’s still kinda garbage. There also don’t appear to be any wayland display managers on Void Linux, so if I want to display a login screen, it has to start X, then switch to Wayland.

                        I’ve seen the Wayland/X talk and I agree, X has a lot of garbage in it and we should move forward. At the same time, it’s still not ready for prime time. You can’t say, “Well you can implement RDP” or some other type of remote composition and then hand wave it away.

                        I’ll probably give Wayland/Sway a try when I get my new laptop to see if it works better on Gentoo.

                        1. 2

                          No hand waving necessary, Weston does implement RDP :)

                      2. 9

                        I can’t agree. I’ve been using my IDE (Qt Creator!) over networked X11 and it worked really well (though the VPN used to freeze and there’s no session management, so I eventually stopped). Similarly, running Firefox on servers remotely is sometimes indispensable. What’s there to miss?

                        1. 8

                          These kinds of posts tend to take one out of two stances on ‘network transparency’ depending on what the author actually wants to attack, and if there is a reference to the “standup over substance” Daniel Stone talk on X11 vs Wayland - you can be sure it will be the ‘haha, X isn’t actually transparent’ one, followed by perplexed users saying that it is actually very useful to them. The reddit thread referencing this article is one such example.

                          The first camp talking about the drawing primitives and commands as such and saying that the actual drawing commands should be sent and treated locally in the same way as they are treated remotely and since the toolkits have all made data type and parameters opaque pixmaps, opaque transfers are needed.

                          The ‘my use experience’ camp talks about the convenience in just saying ‘run graphics program’ from a remote shell and it seem to appear on the local machine similarly enough to how it would behave had it actually been run locally. That’s the meaning of transparency to them.

                          The later perspective is, in my opinion, more interesting since it can be improved on in many more ways than just switching compression schemes. Incidentally, I might just have something for that in the works…

                          1. 3

                            Most basic applications work fine with X11 forwarding. Stone’s talk stating X isn’t transparent is really referring to specific use cases (direct rendering and opengl), which, of course, isn’t going to work over the network.

                            I agree with his talk that we need to move forward from X, but you can’t just hand wave away a lot of features that people currently use. Usability matters. It took Pulseaudio a long time to get to a usable state where it’s not the first thing I try to disable (I think it works pretty well now, especially with bluetooth devices). Systemd is still terrible in terms of its usability with its terrible CLI interface.

                            1. 4

                              tone’s talk stating X isn’t transparent is really referring to specific use cases (direct rendering and opengl), which, of course, isn’t going to work over the network.

                              Gaming over the network has been around for some time. Some products were around before the cloud became a thing. These days, some are doing gaming desktops and rendering workstations with cloud VM’s. Probably more like X is an outdated design being made to do things in totally different context it can’t handle.

                              1. 2

                                specific use cases (direct rendering and opengl), which, of course, isn’t going to work over the network.

                                Couldn’t OpenGL, at least, be made to work over a network? It’s just commands which have larger effects; I’d think some sort of binary protocol could transmit it fairly effectively.