I just had to set up a remote desktop between Linux and Windows, to find out how intricate of a problem it can become. My goal was to access a Windows desktop from my Linux machine.
Remmina and Windows RDP
I first tried using my go-to software, Remmina client on Linux, using the plugin for connecting to Windows remote desktop protocol (RDP). There were various unsuccessful attempts, with different settings. Though I had set up correctly the server's machine name, ip address, Remmina simply could not find the Windows RDP server.
Just for completeness, I used another Windows PC as a client and it worked directly. So I suspect some incompatibility between the Remmina plugin and Windows RDP implementation on Windows machine, but could not pinpoint the problem.
During my searches, I happened to learn that Remote desktop is only available for users of windows pro or better. There is no remote server capabilities for family edition, for example.
Teamviewer
Teamviewer works so well on Windows PCs, but it is not the same for Linux. Teamviewer recent versions do not work with startx! You need an actual login manager. Nevertheless, I had found Teamviewer version 12, working with startx and installed it on my Archlinux PC. But then came the issue of versions. Teamviewer is quite picky regarding that. I had installed Teamviewer 12.0.9 from Archlinux User Repository (AUR), and only the same version can be interfaced between server and client. Teamviewer website features 12.0.25 version, which was not enought close to 12.0.9, as I kept receving version incompatibility errors.
Finally… VNC
My last hope was Virtual Network Computing (VNC). There are several softwares implementing this protocol, some are quite old, and for obvious security reasons, it is best to find an updated implementation. TigerVNC was the first software tested here, looking recent and updated. The installation and start of the server version of the software looked fine on Windows machine, until I had to change permissions of incoming connections, to actually allow my other computer in. This results in a crash of the server instance. The software was seeing clients connecting (I was using remmina from the client machine on Linux), but it was impossible to connect. I kept having this "cant connect" message.
Tired of debugging, I simply tried another software, tightVNC. Despite tigerVNC originally being a fork of TightVNC, which seems to be deprected on Linux, it worked out!
Closing words
RDP is still a mystery for me on Linux. I wonder if it comes from old linux packages not complying to newest RDP on Windows, or just my incompetence in setting up the interface. However if you do use a login manager, the latest Teamviewer version might be the best choice. Finally VNC works ok with TightVNC, though I am not sure on security issues as the software might be unmaintained at the time.