Friday, 9 September 2016

Remote Access with Remmina and XFreeRDP

In the title of this message I have listed two remote access clients: the Remmina gui based RDP software and XFreeRDP which is command line based. Right now these are the tools I am having a play with to try out different remote access systems, which in my scenario is to allow me to remote from a Xubuntu desktop to a Windows 7 virtual machine running on VirtualBox. The big issue is that this VM is running with dual displays, which Remmina in particular doesn't support. I certainly want to have both of those displays appearing on my computer screen on the lounge computer when I work there.

Remmina is otherwise a good package that I use all the time for work purposes, it is similar to RD Tabs with a tabbed interface to access multiple simultaneous remote desktop sessions at the same time. XFreeRDP is something I have tested and shown to work with the dual screens of the VM but I was not able to find a way to exit from its full screen mode so the aim of this post is to more fully document its functionality as a reference for using it later.


The command line syntax for XFreeRDP goes along these lines

xfreerdp [file] [options] [/v:server[:port]]

There are a lot of possible switches and the ability to store settings into a .rdp file, which I presume has the same format as Windows does. The simplest option by far is to simply pass a server name and optional port number. These settings and perhaps the -f (for fullscreen) option could be saved in a shortcut without having to create the .rdp file. Pressing Ctrl-Alt-Enter turns out to be the keyboard shortcut that toggles full screen mode, but only if you put -f in to start with. But to get out, also, you can select Disconnect from the start menu. The next thought is how do you make it use the multiple monitors present in the source in this case? And the answer is the -multimon switch. So a useful command line will look something like the following:

xfreerdp -v 192.168.20.103 -u admin -p password -f -multimon

As it happens Remmina is good enough to use for non-multimon purposes so I am just going to use that xfreerdp for this exact situation, connecting to that virtual machine, which it happens I was doing with MSTSC when this computer was running Windows. So I made a shortcut with those parameters, and it works flawlessly.

Here is a description of the man page for xfreerpd: