Remote desktop is a very amazing feature that allows you to connect to, as its name implies, a remote operating system via a network connection so that you can control it from your current location.
It’s a great feature because it has a lot of applications, such as helping your mom in fixing her broken system, or educating someone on how to do something (such service can even be paid), or simply doing the tasks you want on various machines or servers you own.
First, you should know that in order for two machines to communicate together, they need what’s known as a “protocol”. A remote desktop protocol is a way of transferring the instructions from one computer to another so that you can graphically control the other system.
There are many famous remote desktop protocols, such as RDP (Remote Desktop Protocol) which is a proprietary protocol designed by Microsoft and implemented in its Windows operating system, and the VNC (Virtual Network Computing) protocol, which is a free and open source protocol to do the same task, and you can additionally connect to the remote host via SSH, NX protocols and others.
Now, away from protocols, you’ll of course need a program to access the remote desktop. In general, people are using the proprietary TeamViewer program to do that. But there are many other open source alternatives to TeamViewer that you can use.
In this article, we list 5 of those open source remote desktop programs.
TigerVNC focuses mainly on being a high-performance open source remote desktop application, mainly for displaying 3D and video applications throughout the protocol. The program comes in a client-server architecture, where you have to install the server on the host machine and keep it running so that a client can connect.
TigerVNC’s development started back in 1999 by At&T, where it was proprietary software. Later on by many years, it was forked between various parties many times and finally stabilized as an open source application. It is released under the GPL license.
TigerVNC is available for Windows, macOS and Linux. You’ll also generally find it in the official repositories of your Linux distribution. If not, you can download it from here or browse the source code.
This is an open source program to connect to Windows hosts using the RDP protocol.
Rdesktop‘s development started back in 2001, when Microsoft started to push its new RDP protocol in its operating systems and there was no open source implementation for that protocol back then. The developer of the program at the time reveres-engineered the RDP protocol to create Rdesktop, and made it open source. He even published a research paper about it in 2004.
Rdesktop is ultra lightweight; Less than 500KB in download size. Simply because it doesn’t come with a user interface. Rdesktop is a command line application, so you have to run the command line and launch it with the host IP address you want in order for it to open a just-enough window to display the remote desktop’s interface for you:
simon@computer:~$ rdesktop rdesktop: A Remote Desktop Protocol client. Version 1.8.4. Copyright (C) 1999-2011 Matthew Chapman et al. See http://www.rdesktop.org/ for more information. Usage: rdesktop [options] server[:port] ....
The latest release is less than one month old. You can find it in your distribution’s official repositories or download it along with the source code from GitHub. Rdesktop is released under the GPL license.
FreeRDP is one of the most famous open source solutions when it comes to remote desktop. Its development started back in 2009 as a fork of the rdesktop program. FreeRDP is licensed under the Apache 2.0 license.
FreeDRP was forked from Rdesktop because, according to its developers, the original developers of Rdesktop didn’t want to use the Microsoft’s open specifications that came out that year for the RDP protocol, instead, they preferred keeping on their reverse engineering work. And it sounds like some heated debates started to happen about the accepting of specific patches, which led to the creation of FreeRDP in 2009.
FreeRDP allows you to connect to any Windows host using the RDP protocol. It also supports redirecting audio, printers, serials, clipboard and drives from the host machine to your machine. You can also choose a custom width or height for your working area, wallpaper, theme, composition mode (on or off), fonts and many more. You can also have RemoteApps running as well (RemoteApps mean having some desktop applications from your remote Windows 10 machine for example working on your Ubuntu desktop, like this image).
FreeRDP is available on Windows, Linux and macOS.
One of the best open source remote desktop applications out there. Remmina is a modern desktop application that supports RDP, VNC and SSH protocols all in a single app. You can also open many hosts and switch between them in the same time. Remmina comes with a nice system tray icon that allows you to manage your connections quickly.
The program’s interface supports multi-tabs, meaning that you can run multiple remote connections and switch between them in the same time. It also supports auto-scaling, taking screenshots, keyboard shortcuts, VNC/RDP features such as encryption, devices sharing, redirection and other things.
The app is available to install easily on all major Linux distributions, and comes in both the Flatpak and Snap formats, and works on Raspberry Pi. However, the app isn’t available neither for Windows nor macOS. It’s released under the GPL license.
You can grab it from its official website or search for it in your distribution’s repositories.
Apache Guacamole is a unique software in our list, simply because unlike the others, it runs as a web-based application to view all the remote desktops you want. That’s why the developers of the software call it “clientless remote desktop”; Because it doesn’t need any client (though there is one), but it can run from the web browser. All what you have to do is to install the server edition on your host so that you can access it from the web.
Also unlike the other solutions in this list, Apache Guacamole provides a complete API in many programming languages for accessing and extending its core codebase. A huge list of documents is available for free on the official websites. They also provide commercial 3rd party support for enterprises wishing to use the software.
You can watch the following official video for a quick demo:
To download Apache Guacamole, visit its official downloads page.
As you should have seen by now, there are many alternatives to TeamViewer and other remote desktop programs in the open source world. This list should get you going for that matter.
On a side note, there are some other open source projects that weren’t mentioned in details here, such as Grdesktop (a graphical user interface for Rdesktop, too old), XRDP, mRemoteNG and UltraVNC. You may check them out if you wish.
In the meantime, we would like to know whether you occasionally use remote desktop from time to time in the comments below, please share your opinions.