RDP Clients for Debian: an incomplete review
I switched to Debian as the primary operating system on my main development machine, but still have the occasional need to access client servers over RDP or do some minor development on Windows Server / Windows 10. Generally I would run up a virtual machine with the client's access software in it (Forticlient seems to be most popular) but for my own VMs, it's good to have a general purpose RDP client.
Microsoft's Remote Desktop Connection
The RDP client is available on most Windows installations, although you need to upgrade Windows 10 to "Pro" to get the server part working. Windows 10 is generally a bit underwhelming for a developer if you haven't got a "Pro" license anyway. The Microsoft client has quite a few features hidden away in the "Show Options" choice on the login screen. You can change the display colour depth and size, configure audio passthrough (glitchy, but sometimes useful), intercept windows control keys in full screen mode (very useful for Windows Server if you want to ALT-TAB for example). Intriguingly, you can also share local resources like ports and video capture devices and even file systems with the remote system, which appears like a monstrous security risk but is quite handy for moving software or config files around.
It also has the ability to connect through an "RDP gateway" which seems to have fallen out of favour with the rise of VPNs, which is a good thing.
In short...it's got a lot of features that you might not use, but in the past I've found the ability to share a local file system pretty handy.
Until I did this review, I didn't realise there were feature-complete replacements for Microsoft's Remote Desktop Connection, so for complicated jobs I used to drop to a Windows VM, start whatever VPN is required, and use Microsoft's client from within there. That won't be necessary any longer thanks to the clear winner of this review.
Default installation: Vinagre (6/10)
Vinagre is a multi purpose remote desktop system that comes installed with Gnome desktop. It is happy to connect to VNC, SPICE, and SSH in addition to RDP, although for the purposes of this review I stuck to RDP.
Connecting to a Windows machine is fairly straightforward: Supply the machine name (or IP address), a valid user name and password and a domain. For most corporate installations the domain will be obvious. For a client machine where the login provided is a Microsoft account, you need to substitute "MicrosoftAccount" for the domain and supply an email address. Overall it's fairly snappy (obviously dependent on your network connection) but has no file sharing ability. One thing it seems to struggle with is re-connecting if the connection is dropped. The screen simply freezes, requiring you to quit it and restart the connection. Vinagre is able to keep lists of machines you regularly connect to as "Bookmarks", scales the screen acceptably and is largely fuss free. Multiple sessions are presented as tabs within the same window and the typing lag is acceptable.
On the downside, there are very few options in regards to gateways and no way to share files, and on my machine running Gnome desktop the clipboard didn't work at all.
Remmina: 9/10
I installed Remmina from the Synaptic package manager. It has far more connection options than Vinagre including the ability to go through a gateway, better sound redirection, the ability to use an SSH tunnel, serial and printer redirection, the ability to use smart cards for security etc. It is close to feature parity with Microsoft's Remote Desktop and even exceeds it in some respects.
Best of all, the "share folder" box replicates the drive attachment in the Microsoft product (Under a shared machine called "tsclient" in the file explorer) and the clipboard works.
Remmina will attempt re-connections when the network is interrupted, which is a bit slow but at least it tries. It can also resize windows to arbitrary sizes, although the results can be pretty ugly. Like Vinagre, multiple sessions are presented as tabs in a single window, although in Remmina there are a few extra tools on the left hand side for quick access to screenshots, grabbing the keyboard, resizing and disconnecting.
The small control window keeps lists of machine connections for you that can be organised into folders and you can keep passwords in there if you're not feeling particularly security conscious. Overall it's superior to Vinagre given the plethora of connection options and the ability to share files and the clipboard.
Boxes: 2/10
Boxes isn't strictly just a remote desktop client, it also has the ability to create virtual machines using virsh, manage them in a simple way and organise your connections. In practice, it lacks all the features you really want when connecting over RDP. The clipboard was not functioning on my machine, there is no file sharing and the login screen doesn't even have a "domain" box, so entering your username is somewhat hit and miss. As an RDP client, there are better choices.
The winner: Remmina
Remmina is a drop-in replacement for Microsoft's RDP, so even as a sometime Windows developer, I have one less reason to fire up a Windows VM to do system maintenance. Highly recommended.