Remotely controlling a desktop or mobile device is an ability that's become indispensable in today's technology-driven world. It can be used for things like supporting a friend with their Arch Linux troubles, or more large-scale things like serving an organization's customers facing an IT outage.
With these types of tools, there's no need for physical access to a device, you just need to have an active network connection to it, and the tools configured.
On Linux, there are many great remote desktop tools that get the job done, and here, we are introducing you to one such option.
RustDesk: TeamViewer Who? 🤔
As the name suggests, RustDesk is written in the Rust programming language. It is offered by a Singapore-based company called Purslane Ltd, with the founder Huabing Zhou also being based out of there.
Made freely available under the AGPL-3.0 License, it has over 200 contributors, ensuring that it never goes unmaintained, or is subject to vulnerabilities.
⭐ Key Features
For a remote desktop client, RustDesk offers plenty of usable features that help it take the fight to popular closed-source options. Some of the most interesting ones include:
- Lightweight
- Cross-Platform
- End-to-end Encryption
💻 User Experience
The test setup for this is divided into three different devices. One is the primary system, a laptop with Ubuntu 22.04.4 LTS installed, the second one is a desktop with dual-boot Ubuntu 22.04.4 LTS/Windows 10 22H2, and the final one is a smartphone with Android 14.
Both Ubuntu setups were running on the X11 session. Interestingly, RustDesk showed a non-dismissible warning about “login screens using Wayland not being supported” throughout testing.
The first test I did was to see remote control from Linux to Linux. When RustDesk launched on the Ubuntu-equipped desktop (itsfoss-com), it showed me the ID and password for the device.
I entered the credentials into RustDesk on the Ubuntu-equipped laptop (Phoenix), and initialized the connection.
After successfully connecting, I could control itsfoss-com using a mouse and keyboard, with handy quick-access menus at the top of the app helping me control RustDesk on Phoenix.
With those, I could go into full-screen mode, change the display settings, record the screen, end the connection and a few more things.
After I disconnected from itsfoss-com on my Ubuntu laptop, I noticed that RustDesk had remembered that device, it showed me its ID, along with the username, device name, and a Tux logo.
Similarly, I tested remote control from Linux to Windows. After downloading the portable .exe file, I double-clicked on it to launch RustDesk. Connecting to this from the app on Ubuntu (Phoenix) was the same, with familiar controls being shown.
On the Windows side (Cerberus), there was a widget that contained the same controls as the quick-access menus. One of those options was to initiate a chat, I sent a message from both clients, and the result was this. 👇
This is a great feature for when one has to provide technical support to someone on the other end, both parties can easily communicate with each other with this.
Finally, I did a remote control test from Android to Linux, and the results were good. The user interface followed what the desktop apps have, with an option to enable the on-screen keyboard.
If you want to control an Android device from Linux, then keep in mind that you won't be able to control the Android device, just see what's going on.
However, not everything was all good. When I tried quitting the RustDesk app from the tray icon on Ubuntu (Phoenix), it asked me for authentication (my account password) to stop the service, before it would quit.
If I launched RustDesk again in the same session, then I would have to authenticate once more to manually start the service. It is probably a security feature, but, it could have an option to make it a seamless experience.
Moreover, the same service auto-started, when I logged into a new session.
On Windows, if you go for the portable .exe package and delete it after use, the files will still stay on your system. For completely getting rid of it, you will have to access the Local folder under AppData, and delete the folder named “rustdesk”.
You can do that by going into:
C: > Users > [Username] > AppData > Local
If you opt for the .msi package, then you don't need to worry about the above, as it's a fully-fledged installer that will install RustDesk application onto your Windows system.
You can uninstall the app using the control panel or from the start menu.
Apart from these small hiccups, my experience with RustDesk was great, and I would gladly use this over closed-source options like TeamViewer and AnyDesk for my remote computing needs.
⚙️ Installing RustDesk on Linux
You can source the latest RustDesk release from the official repo, where you should go for the latest numbered, non-pre-release version. There are packages for Linux, Android, Windows, macOS, and iOS.
They also provide both free and paid self-hosting plans, which range from $0 to $999, those can be explored on the official website.
If you were searching for the source code, or wanted to contribute to the project, its GitHub repo is the place to be.
💬 Have you used RustDesk before? What aspect of it did you like or dislike?
More from It's FOSS...
- Support us by opting for It's FOSS Plus membership.
- Join our community forum.
- 📩 Stay updated with the latest on Linux and Open Source. Get our weekly Newsletter.