Agh, I so want this to be good. With remote desktop, I think one thing that makes a product in this area stand out is how it handles delay, packet loss and bandwidth issues. There's a ton of stuff re: adaptively changing quality and keyframe frequency, sending delta updates for parts of the screen, compressing the data, and doing all this without pegging the cpu at 100% etc etc.
Teamviewer and Nomachine NX are two examples that I use a ton that seem to have most of this stuff figured out, whereas their competitors seems to work in theory, whereas in practice they are bloated, they lag, they make my computer fan go crazy, etc.
Another thing is ease of connection through NAT/firewalls, though for that this seems to shift the burden on the server setup.
x2go is great. I desperately want to see VirtualGL integration in it though so you can run egl compositors with local rendering (since GPUs on VMs are still uncommon).
The other thing RDP is amazing at that I haven't seen Linux do well at all is resuming local sessions remotely and vice versa - with RDP it feels integrated, with x2go you're back to just transferring frames.
X2GO is extremely reliable for me. But speed is not good compared to teamviewer (which had a lot of stability issues on linux when I tested it 3-4 years ago)
Huh. Does anybody know what the good clients use as a transport? E.g., are they UDP-based? A quick skim of the docs suggests that this only uses HTTP and Websockets, which I understand are TCP-based. The only browser thing I know of does an unreliable transport is WebRTC, but that currently isn't supported: https://glyptodon.org/jira/browse/GUAC-815
pcANYWHERE for Windows had this all figured out in the late 80’s. They hooked GDI and transported the API calls wherever possible. It worked awesomely over a 56k modem. Then the guys involved sold to Symantec, and they let it go fallow, EOLing it in 2014 after 7 years of no updates.
> pcANYWHERE for Windows had this all figured out in the late 80’s. They hooked GDI and transported the API calls wherever possible.
RDP does the same; the early revs were basically GDI over wire. Later versions would have extensions/hax to transport the DirectX stuff (did they just ship framebuffers? I dunno).
Then why is it always compared favorably to X over network, which does exactly the same thing (sending graphics primitives over the network, although these days mostly having to throw over complete frame buffers because everything wants to draw itself)?
2) When times changed, RDP adapted, X did not. No one uses those old graphics primitives anymore, and X's network protocol failed to keep up with the new reality of client-side rendering. So now that protocol sucks for remoting GUIs.
Yep. For many applications, RDP on a LAN is literally indistinguishable from a local session. Sadly, nothing I've tried on the Linux desktop comes close to this performance. One of the few areas where the Linux desktop is 15 years behind.
To add to this a bit, another area where the "X ecosystem" didn't keep up is with toolkits. X11 is a very asynchronous protocol, but this is difficult to work with for toolkits so they synchronize most things, making it slow over high latency links (but unnoticeable over low latency links, like UNIX domain sockets on the local host).
Strange pcAnywhere has fallen by the wayside. That was de-facto in some support jobs I did and you could expect customers to have it for support. What do people use now if pcAnywhere is not there?
I don't do support but I did use it in non-support roles, I just can't imagine the use case nowadays.
I had the pleasure of working with the pcANYWHERE guys on interfacing their product with a product I was working on. They really loved their product and it really showed in the quality of their work. Little details like how you could hit Ctrl-Alt-Del on the remote to reboot the host. So they got fuck you money from Symantec, which I'm sure they enjoyed. But Symantec did not love the product like they did. They could have been a formidable competitor to Citrix, and look how their product line has proliferated.
About 12 years ago I deployed Windows Terminal Server in a corporate environment, and used PXE boot on the client computers to start a basic Linux distro that then launched the 2X client to access TS. Right now I'm creating a reference document for a VDI deployment using VMware/Citrix/TS. I've briefly looked at the NoMachine client by installing it to a Win10 computer, and the performance of NoMachine is worse than RDP to the same computer over the same link. Since you're happy with NoMahchine do you know of any optimization techniques for it?
Hmm - I haven't really administered Nomachine myself (we have an enterprise installation on one of the clusters at work), so I can't really help you there unfortunately, but only to say that it doesn't often crash or hang for me, and the delay is quite low enough over wan that using the GUI / mouse works almost perfectly, both on OSX and windows.
RDP is pretty darn fast (at least when I last used it ~10y ago)
I think the attraction to NX for linux users is that it is still way better than VNC.. and both of which are pretty much the only consistently functioning / packaged server options for most distros without fiddling..
I've been a nomachine fan for a few years now, use it to access my linux work laptop from my windows gaming desktop. It has some minor irritations but on the whole it handles this use case quite well. I'll definitely be giving guacamole a shot though.
Teradici PCoIP is proprietary, but absolutely, amazingly good. It is licensed by various thin client and Virtual Desktop Infrastructure products, like AWS WorkSpaces. RDP is also really effective.
I use both, but Teradici is the one that made me abandon my local Windows VMs.
Teamviewer and Nomachine NX are two examples that I use a ton that seem to have most of this stuff figured out, whereas their competitors seems to work in theory, whereas in practice they are bloated, they lag, they make my computer fan go crazy, etc.
Another thing is ease of connection through NAT/firewalls, though for that this seems to shift the burden on the server setup.