Remote Desktop Connections and Desktop Sharing on Linux

You’ve seen us write about WebEx and how we both love and hate it at the same time. Over the past week we’ve been looking at unpopular methods to share desktops without WebEx. A Google search for “WebEx Alternatives” gave us little in what we wanted. They pointed to solutions like DimDim which, while awesome, are not for remote desktop. They are for meetings and web-seminars. The choice of using something like LogMeIn or GoToMyPC were not an option as their Linux support was, like WebEx, iffy at best.

Options on the Linux side showed us VNC, which is also able to run on Windows. We’ve been using VNC for years but as a remote support tool it was lacking. Clients needed to manually install, then manually connect to the remote support option (which requires a special firewall rule for us!). This is true on a Linux, Mac or Windows client. VNC also has a security issue – it’s connection is not encrypted so providing support for financial or legal firms is not possible. Alas, there is no better free option available that runs across platforms and is free. We’ll have to work with what we’ve got.

The VNC connection is not encrypted. For us this is a requirement, some of the firms we consult with require encrypted connections for everything due to the sensitivity of their data. Encrypted connections are so easy to create it just makes sense to use them anyway.

Settled, we’ll use VNC and some type of encrypted (SSL) connection to attempt to create a system that allows shared control of an XWindows session.

On Windows we can use TightVNC in a wrapper with a VBS script and self extracting executables.

This was too easy, a client clicks the links then runs the script. That script will then run the necessary steps to get the software and connection operational. Note that this connection runs TightVNC client to connect to a “listening viewer”. Necessary firewall rules (on the support operator side) will need to be available so clients can connect. This connection is not encrypted.

On Linux we’re working on an OpenVPN/OpenSSH wrapper right now until our XWindows issues are resolved. Remote desktop sharing on Linux is not as easy as we wanted. On our Kubuntu systems with KDE3 there is a Desktop Sharing application which works exactly as we wanted it to. That system places VNC hooks into the KDE Window Manager and gives full shared access to the desktop. Sadly it does not work on XCFE or GNOME. Not to Worry! There is an application called x11vnc which works perfectly! It works on KDE, GNOME and XCFE. Awesome!

Of course clients still need to install this package but that can be automated. Most systems have a super simple installed such as aptitude or emerge. Have the client install then simply run x11vnc from the command line.

But wait! None of this works across the Internet! There is more! OpenVPN software runs on Linux, Mac and Windows; works excellently and is free. You can simply create a VPN concentrator type server with OpenVPN then remote-support clients connect to your VPN and expose their VNC or SSH or any other network connections securely.

We use these options on a daily basis now that we’ve found them. Our ability to remote-control a shared Mac desktop is limited. For that we still use WebEx but rest assured we are looking for a better solution.

Our Remote Support page has more information and some of our bleeding edge “tools” that implement what is described here.