I wonder if in this time have any new solutions emerged, which could behave good reliable and not be heavy on bandwidth
TigerVNC is decent and I have used it in the past for cases where there is never a need to have a local session. It has the disadvantage of no native 3D rendering.
Intel AMT (that is not available in every processor, and a lot of people want to see dead) has a remote VNC thing that you can enable and allow you to even browse your BIOS and Grub with it: it covers more cases than any alternative, but it's not a software solution. It's the one I prefer when available.
For me the performance is quite well.
As far as bandwidth goes, I usually just tunnel over SSH to decrease bandwidth.
I have played with xRDP on Fedora 39 though, and I had some very interesting results. My client "machine" was actually an iPad.
I am happy to report that I was able to get audio (from youtube) playing on the remote machine and being reproduced locally through the iPad speakers (bluetooth headset, actually). I was also able to forward microphone from the iPad to the browser running on the remote machine. Virtual disk was also working to move files from the iPad to the remote machine.
I was using the RDP client from Microsoft, so I'd attribute at least 50% of the success to that.
Specifically, I was running RDP to access a VNC (tigervnc) session because I wanted desktop sessions to be persistent across connection losses and I like the idea of a remote desktop being "always there, always on".
It seems however that this whole setup is a bit fragile, as sometime the whole session would hang and restarting the whole desktop was necessary. Here and there I had to set a fixed user id in my configuration file.
I haven't looked into much details but with enough elbow (finger?) grease it should be possible to make it work reliably.
Overall I was satisfied. I connected to my desktop at home from the ipad while on a bus driving across Italy at ~120 Km/hour (on the highway of course) in the middle of nowhere, using a 4G mobile connection, and it worked pretty okay. It was night though so mobile network congestion might have been low at the time.
So overall it's feasible and works well, but care and expertise is needed to make it reliable.
EDIT: to clarify: worked pretty well for normal desktop usage, but video playback (eg: youtube) from the remote machine to the RDP client was essentially trash, don't even bother trying that.
- If you are trying to login on the machine AND remotely at the same time, this might be hard to do
- If you are trying to do audio or printing over the wire (play sounds or print remotely), also a pain
- If you need it to look fancy or customize the look and feel of the login window, this also might be hard to do
What I like about it e.g. over GNOME's integrated RDP feature is, (yes, it is really integrated via Wayland) that you can go from power off to successful login without jumping through hoops and it just works. I did not try KRdp[4] for KDE Plasma yet.
There is also an installer script[1], that is able to solve some of the problems, but I would first try to install it manually, because the script does a lot of stuff that is not really needed any more. There is also a stack overflow post about this[2], but it my case, it was just enough to
apt install xrdp
done. If you are willing to try a "more modern" approach, you could try RustDesk [3]
but I never felt the need to try. I also don't know if RustDesk can go from power off to remote login without having a logged in user in the first place. I'm going to try this in the near future.1: https://c-nergy.be/blog/?p=19917
2: https://stackoverflow.com/questions/78074498/how-to-configur...
4: https://planet.kde.org/arjen-hiemstra-2023-08-08-remote-desk...
Some options can work quite well this way. For example, many Emacs modes can run stuff remotely.
VSCode, which I don't like due to its semi-closed nature, can do something quite similar.
If your host machine is in the AWS cloud, nice DCV works very well: https://aws.amazon.com/it/hpc/dcv/
And it's free to use within the AWS cloud (afaik). Outside of that you might have to get a paid license.