A remote desktop tool is a must-have if you deal with multiple machines and home servers. SSHing is fine, but you sometimes need a visual gateway to access and control the device. Remote desktop tools aren't a new thing. There are plenty that you might have used or currently use, including popular ones like TeamViewer, AnyDesk, and more. I was more of a RealVNC user, but it felt heavy and slow, and RDP isn't my thing. So, the gradual shift was towards RustDesk, an open-source alternative with mostly similar features and fewer flaws.
Since then, RustDesk has become my choice for remote access on all my machines. I love that it's cross-platform and is available for all my devices, which include several SBCs and old laptops. Let's explore the reasons why it has a permanent position in my home lab.
Dead simple setup
Never complicates things
I hate tools that make me jump through hoops to get the connection going. I'm not at all happy about it, and RustDesk has a simple means to connect with the host machine. Just type in the codes and get going. It doesn't force me to create an account and share any personal data to enable remote access.
If you want local network access, that's also possible. RustDesk uses port 21118 by default, and you need to tweak an option in the settings to make it happen. After that, the local network connection is not a problem. In RealVNC, I had to fiddle with IP settings, and while it isn't a huge task, it complicates the setup for new users.
A multi-platform tool is also necessary, and RustDesk works flawlessly on my Linux home server. You can install it via a single command, but I used the MX Linux package manager to set it up and open the appropriate ports on my PC.
I tried every method to remotely access my PC, and this self-hosted method is the best and actually works consistently
Bid adieu to TeamViewer and the likes
Polished interface
Doesn't look like a second-grade product
The problem with open-source tools is that they can sometimes look flat and uninviting. RustDesk doesn't have that flaw and looks polished and usable from the first go. You have a big, noticeable device ID and password on the front page with the option to directly connect to another system and remotely access it, or share files, view the camera, or terminal access (like you get with SSH).
After you connect to a system, you get simple controls to change the display settings and alter keyboard and mouse behavior. It's a little odd that the file sharing is a different service and not available within the remote access screen, but that isn't a big deal.
The main point is that everything works flawlessly, no broken menus or confusing UI design. Even the settings panel is clean and simple, and you must unlock them each time before you can modify any option.
Rarely noticeable lag
Responsive to inputs
When you do a remote access session, the worst experience is when the system doesn't respond promptly. A mouse hover or a keystroke takes a long time to register, and the screen refreshes after a bit of a delay. The problem was slightly noticeable in RealVNC but is less evident in RustDesk.
It's a completely lightweight application that runs on startup and doesn't need too many resources to work. On my Linux machine, it uses around 140 MB, while on Windows, the client uses 250 MB.
I've seen a tremendous difference in responsiveness while using RustDesk with Tailscale. It offers me the best of both worlds, where I don't need to worry about security. Everything routes through Tailscale, and the screen interaction experience is buttery smooth. I use the best visual quality settings, and there's no screen tear and font blurriness.
Wayland support
Don't need to switch to X11
Most Linux distributions enable Wayland by default, but RustDesk didn't support it until recently. I had to switch to X11 manually, and that was a hassle. Other tools still rely on old protocols, but RustDesk made a swift switch to it. Wayland isn't new, but it's becoming the default for many Linux distributions, and a remote access tool that doesn't work with it is a problem for me.
X11 transition won't happen instantly for all popular apps, but it's nice to see RustDesk ahead of the competition. RealVNC doesn't support Wayland, and it became a problem for me when I built a remote downloading device with RealVNC and a Raspberry Pi Zero 2W. It was running the 32-bit version of the Raspberry Pi Desktop OS and couldn't remotely access it. The issue was that the OS used Wayland while RealVNC only supports X11.
This kind of mismatch is a huge deterrent for new users who want to try out multiple tools. I had to manually disable Wayland using raspi-config and reboot to force RealVNC to connect and control the screen. RealVNC also used to be a default tool on Pi OS, but now their proprietary tool, Raspberry Pi Connect, has replaced it. So, RustDesk became a better choice, with both features and support.
RustDesk is reliable
After spending quite some time with regular remote access sessions, RustDesk earned my trust. It didn't break like other tools, and the remote experience didn't feel like I was waiting for the screen to update and respond to my actions. RustDesk has a self-hosted edition that you can deploy with Docker and some manual tweaking, if you want.
I didn't go that route, but using Tailscale is actually better. You can access it when you're outside the home network, and setting it up on all the machines isn't a big deal. RustDesk has most of the features you need, so give it a try.
RustDesk
An open-source remote desktop tool to connect and control systems, share files, and the clipboard.
