TeamViewer and AnyDesk are one of the most popular applications to access any desktop remotely, whether for troubleshooting purposes or otherwise. However, you can also use the RustDesk application which is open source as well as available on all platforms including Windows, macOS, Android and all the Linux distributions. It also gives you an option to host all the servers yourself so that you can have all the privacy and freedom to do anything.
In this tutorial, I will show you the Installation process of this amazing tool, and then I will show you how can you connect to another device with this application.
Installing RustDesk
If you are using any Arch or Arch-based distributions such as Manjaro or Endeavour OS, I’ll recommend you to install this tool directly from the AUR (Arch User Repository) using your favourite AUR helper. Just open a Terminal and type the following command:
# For Paru users
paru rustdesk-bin
# For Yay users
yay rustdesk-bin

You can install it on any other Linux Distribution by downloading the respective executable file from their GitHub releases section. Alternatively, you can type :
# On Fedora Workstation
wget https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9-fedora28-centos8.rpm
sudo rpm -i rustdesk-1.1.9-fedora28-centos8.rpm
# On Debian and Ubuntu based distribution
wget https://github.com/rustdesk/rustdesk/releases/download/1.1.9/rustdesk-1.1.9.deb
dpkg -i rustdesk-1.1.9.deb
Note that 1.1.9 is the latest version as of the publishing of this article, there might be a different version in the future, so make sure that you always have the latest and the greatest software.
Once the installation process is finished, you can launch it from your Applications Menu.

You can see in the Interface that we have a session ID and password, keep it private and only share it with the desktop you are trying to connect to.

You might have a similar interface for a different system, just ask for their ID and password and enter it in the field in the centre and hit connect to access their desktop/android.
While being connected, you can request to access their Mouse and Keyboard for a better troubleshooting process. This client also allows you to chat to the connected PC while being connected.
To use your own server instead of the default ones (One can do that for many reasons including privacy, network speeds etc.), click on the 3 dots beside your ID and then select ID/Relay Server, a dialogue box will appear.

In the ID Server field, you can add the ID of your server, all other fields are optional but if you are using it for security purposes, I’ll recommend you to use the Key feature which adds an extra layer of security to your connection.
Summary
The Project is licensed under GPLv3, but the Interface of this application is built using sciter, which is not open source. Though the developers are working on a flutter-based GUI, if you exclusively use free and open source software, you probably won’t like this tool. But personally, I think it’s totally fine to use this because the Linux kernel itself has some binary proprietary blobs inside it, and we use it on a daily basis.
Overall, this is a great application and in the process of migrating from proprietary to open-source tools, this might prove beneficial to average as well as power users.
References
RustDesk – GitHub Documentation