Remote Desktop
Business model: Uber for pixels
November 18, 2019 — July 31, 2020
Accessing a graphical terminal (you know, with windows and widgets and such; the dominant mode of interacting with desktop computers) remotely, over the network.
I keep forgetting the current fashionable way of doing this. Also, which client is popular right this second. And which client is compatible with which server, which is the same thing as knowing which app talks which dialect of which protocol, which the IT department is usually quiet about because they do not want to field many help requests about various exotic combinations of clients and servers and such, so they just tell you to use their preferred client. Inevitably there is some reason that does not work because the preferred client does not exist for your flavour of windows or requires some weird network setup which crashes something. To answer these and many more tedious other questions I do not even know to ask yet, I present this disordered notebook, wherein I mention the various protocols so I know what to search for.
1 Swiss army knife
I should note for myself that a popular Swiss army knife client for Linux is Remmina. This seems to talk every protocol (although possibly not NX).
2 SSH+X11 forwarding
The classic way is ssh with X11 display forwarding. In practice, this might not be simple since it needs an X server on the client machine and supporting SSH server config plus an X app on the server machine. It is intrinsically slow. If you really need to do this from outside the same intranet, you are in a bad situation. Try Vivek Gite’s settings:
That should open up a window on your local machine which confusingly represents an app running on a remote screen. Still, if you have to plug two machines together and they both run X (e.g. because they are both Linux machines) this is certainly simple and requires no software installation.
3 NX
My last two campuses liked the protocol Nomachine NX.
This is the protocol, I think, spoken by X2Go. As far as preferred clients, popular ones are the x2go qt client (needs an X11 server) and a Python one called PyHoca-GUI. The web presence for X2Go looks worryingly amateur and the client versions in the repositories are ooooold. Some systems offer a browser client which looks tidier, but AFACIT is Linux-only. But it does seem to be not so laggy over bad internet connections when you set it up right.
4 VNC
VNC is AFAICT not cool anymore but was what we used for a while there. It uses some protocol called RFB
. I think this is the one that Apple favours? The main barrier for use is that last time I looked into using this there were so many different implementations and options with various incompatibilities and speed and quirks that my brain shut down and I decided to work from the command line instead. Anyway, the original RealVNC software is blessed by Raspberry Pi so maybe that will be a good default option for next time.
5 RDP
Remote Desktop Protocol is Microsoft’s one. They have client apps for it. There is some patent controversy and dispute about how open the protocol is, but nonetheless there are various open-source clients for this. FreeRDP seems to be a popular cross-platform one.
6 SPICE
This popular display protocol for virtual machines is also available for remote desktops. I suspect this is even nerdier than usual. File for later.