Stop using TeamViewer: This open-source alternative is faster and more private – How-To Geek


RustDesk is a free and open-source alternative to apps like TeamViewer and AnyDesk. It’s just as feature-rich and convenient to use. Plus, if you choose to, you can even self-host it on your computer for a faster and more stable connection. Self-hosting this remote viewer also keeps your data and activity private.
RustDesk has all the core features of TeamViewer, and it’s just as polished. It’s available for Windows, Linux, macOS, and Android.
What makes RustDesk special is that you can self-host it using Docker. It allows you to spin up a local instance of the RustDesk client, allowing you to keep all your activity and data private on your local host. However, if you only need to use it occasionally, you can use the public RustDesk servers to gain remote access to the target device.
You’ll need to install the RustDesk client on both devices. I’m using a Linux PC and a Windows laptop for this demo, but the process is identical for any platform combo.
Start by downloading RustDesk from the official GitHub repo. The .exe file is a portable version of RustDesk and the .msi file installs it on your Windows device. On Linux systems, you won’t typically find RustDesk in the official package manager repos. You’ll have to download the precompiled packages from the GitHub repo and install them manually.
Once it’s on your device, launch the RustDesk client. You’ll see two sections: one panel lists the one-time password and login ID for the host device and the other panel shows a field where you can punch in the remote ID to connect to that device.
If I want to access my Windows laptop on my Linux PC, I’ll enter the ID displayed on the Windows client and click “Connect.” It asks me to enter the password to gain remote access to the Windows machine. The password is listed under the Your Desktop section.
You also get a handful of features once the connection is established. For example, you can record the guest screen, open and view its camera, transfer files from one device to the other, or force restart the device. There’s also a feature that lets you open the target device’s terminal in a floating window on your host machine.
You can also self-host a RustDesk instance on your hardware. All you need is Docker and a few minutes to set everything up. Self-hosting RustDesk will give you a faster and more stable connection as well.
Docker is a virtualization tool that lets you create virtual containers for running apps. It’s kind of like how virtual machine software allows you to run entire operating systems inside your actual operating system. Docker does something similar except for single apps or services running as containers. All you need is a Docker image, which acts as the “recipe” for spinning up a container. We’ll install the Docker engine and use the RustDesk recipe to host it locally on our device.
You can install the Docker desktop app from the official website. On Windows, you can install it from the official website and go through the installation wizard to install the Docker desktop. You might have to enable virtualization to get Docker working. Once installed, launch it from the desktop icon to activate the service. Linux users can download the preconfigured installers for their relevant distro.
Let’s run a quick test to make sure Docker is running properly. Open the Terminal (whether you’re on Windows or Linux) and enter the following command.

docker run hello-world

You may have to run it with sudo, if you’re on Linux.
If the installation is working correctly, you’ll get a confirmation message. Now we’re ready to spin up an instance of RustDesk.
On Linux systems, open the terminal, create a new RustDesk directory and cd into it using this command.

mkdir ~/rustdesk-server && cd ~/rustdesk-server

Then create a docker-compose.yml file by running this command.

nano docker-compose.yml

We’ll need the Docker compose file (the “recipe”) to spin up the RustDesk container. You can grab it from the official RustDesk documentation or copy it from here.

services:
hbbs:
container_name: hbbs
image: rustdesk/rustdesk-server:latest
command: hbbs
volumes:
- ./data:/root
network_mode: "host"

depends_on:
- hbbr
restart: unless-stopped

hbbr:
container_name: hbbr
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./data:/root
network_mode: "host"
restart: unless-stopped

Paste the copied code for the Docker compose file and save it by pressing Ctrl+O and Enter. Then press Ctrl+X to exit the text editor.
Then start the container with this command.

sudo docker compose up -d

You can run the same compose command on Windows as well, but you’ll need to create the docker-compose.yml file using notepad first. Once you’ve created the file inside the same directory, go back to the terminal to launch the container.
The containers should be up and running.
We’ll now configure our client to use this private host instead of the public RustDesk servers. Run this command to get the security key. Copy it to your clipboard (we’ll need it later).

cat ./data/id_ed25519.pub

You’ll also need the host machine’s IP address (the machine which is running the Docker container.) The following command will print that IP address. Copy it too.

hostname -I | awk '{print $1}'

Now let’s go back to the RustDesk client and open its settings. Click the three dots under Your Desktop. Switch to the Network tab and click “ID/Relay Server.” Paste the same IP address in the ID Server and Relay Server fields. The security you copied earlier goes into the Key field. Click “OK.”
There should be a green “ready” message on the client app, indicating the server change.
RustDesk gives you total control over your data and activity, so you never have to share sensitive info over a public network when connecting to a device remotely. TeamViewer has had a data breach in the past, which means the risk is quite real. Even if you don’t self-host, RustDesk is a better alternative because of its free and open-source design.
We want to hear from you! Share your opinions in the thread below and remember to keep it respectful.
Your comment has not been saved

Yes, I’ve migrated to RustDesk few months ago, the product is really good, some remarks however:
You can create a Rustdesk web handler and just click on a link to connect to a computer to have a centralized directory. You can find the script in the Rustdesk issues on Github or on Reddit.
After initially using Rustdesk for work, I actually ended up finding Action1 which includes remote access for Windows and is really easy to push a script / app to any device in the background (and free for 200 endpoints).

Not perfect at remote access, but found it a lot easier to set up compared to rustdesk. Obviously it’s proprietary, so not open source or self hosted, but I don’t need to maintain a relay and there’s no feature limit even on the free tier.
love rust desk, use it all the time ,but .. it doesn’t support wayland
I tried Rustdesk for a while and got fed up with the problems, most of which mentioned by Shmurtz here in the comments. I opted for nomachine. The software is totally free for personal use. I added on a subscription of their nomachine Network service for a very small sum and use that when I need remote access over internet. If users want to pay zero for hard work of others, then try nomachine + tailscale, also free. OK so not open source, but to be honest who cares.
As you can see from the screenshot, RustDesk IS available from Linux Mint’s software manager.

source