A free alternative to TeamViewer and AnyDesk
Universal Connector
For a long time, TeamViewer and AnyDesk dominated the remote maintenance software market. Recently, a new player entered the scene in the form of the free and GPL-licensed RustDesk.
SSH has been considered the gold standard for managing remote machines at the command line on Linux for years. If you prefer a graphical approach, you can use, say, VNC. As long as this all happens on your organization's network, there are rarely any problems.
Access to other computers via a public network is different. Because the remote stations on private networks cannot normally be easily reached via the Internet, an go-between is required, such as TeamViewer or AnyDesk. This is a public server that knows the clients' IDs and how to reach the clients. But these two candidates have two issues in common: The sources are not open, and the commercial versions are quite expensive. For example, TeamViewer charges just under $40 per month for a single-user license, while AnyDesk charges about $15.
Free Alternative
RustDesk [1], on the other hand, shares its sources and is free of charge – even for commercial use. The project, which was launched only about one and a half years ago, is released under the GPLv3 and is freely available to everyone. The sources and binaries can be found on RustDesk's GitHub page [2]. The software, which – as the name suggests – is written in Rust, is available for many different platforms, including Linux, macOS, Windows, Android, and iOS.
The feature set should be fine for most use cases. Besides transferring the desktop, the tool lets you transfer files, share the clipboard, and pass through audio. On top of this, RustDesk integrates a chat function with which you can exchange information with the other party – useful if you work in support.
A connection server, which you need for access via the Internet, is provided by the project free of charge as a service. On top of this, it also offers software that lets you host a connection server yourself. This means that you can design your remote infrastructure completely independent of third-party computers or companies.
Installation
The project provides clients for openSUSE, Manjaro, Fedora, and Ubuntu, among other Linux systems, on its website [3].
After downloading the right version for your system, you can install the software using your distribution's package manager. On Ubuntu, just download and a click on the DEB file to start the install. It is noticeable that the package manager drags in quite a large number of dependencies from the repositories.
The software sets up an auto-starter during the install. This means that it loads automatically each time the computer reboots, and you can access the computer externally. RustDesk always runs with the rights of the user who uses it.
First Launch
After successful installation, you can launch the program on Ubuntu via Others | RustDesk. Other distributions may use different paths here. For help finding the path, you can search for RustDesk in the menu.
The user interface (Figure 1) is very tidy and clearly arranged. When first launched, the application generates a random, nine-digit ID, which it displays in the left column of the window under ID. You can use this number to let other clients access your computer. Below it, you will see the Password field. The software assigns a random password here. If you want to specify your own password instead, click the pencil icon to the right of the asterisks. The only requirement for the password that the tool expects is a length of at least six characters. To view the password, just hover the mouse over the field with asterisks.
In the central area of the window, there is a Control remote desktop box at the top. This is where you enter the ID of the other end of the connection. The area below this is used to manage connections. On the left, you will find the last sessions you opened in Last Sessions, with the Favorites next to them, and the Found tab one door further down. This is where the software lists the computers on the local network with an active RustDesk instance. The Address Book tab lets you store the connections centrally on the project server, making them available from any computer. But, in our lab, we only saw messages stating that the specified host was unknown (Figure 2).
Clarification of this issue came from reading the FAQ on GitHub, which states that the server page is not yet operational, whether you host it yourself or use the public server.
Buy this article as PDF
(incl. VAT)