Operations 9 min read

Why I Replaced Sunflower with the Free, Stable Open‑Source RustDesk Remote Desktop

After finding commercial remote tools like Sunflower unreliable, the author evaluates the open‑source RustDesk, explains its self‑hosted architecture, walks through server and client installation on Linux, and shows how it delivers stable, private remote desktop access.

Pan Zhi's Tech Notes
Pan Zhi's Tech Notes
Pan Zhi's Tech Notes
Why I Replaced Sunflower with the Free, Stable Open‑Source RustDesk Remote Desktop

Background

Having an idle PC at home, the author needed a way to control it remotely without manual login, especially when away. Commercial tools such as Sunflower were tried but suffered from lag, unexpected disconnections, and required a paid membership, prompting a search for a free, open‑source alternative.

Why RustDesk?

RustDesk stands out because it allows users to run their own server, keeping all data under personal control. The source code is fully public on GitHub, and both individuals and enterprises can use it without licensing fees.

Server Installation

The server requires a public‑IP Linux machine (e.g., Ubuntu 22.04 or CentOS 8) with modest resources – 1 CPU core, 1 GB RAM – and a bandwidth of at least 3 Mbps for smooth desktop streaming.

1. Download the server package

# Create working directory
mkdir -p /opt/rustdesk && cd /opt/rustdesk

# Download a specific release (v1.1.14 shown; check GitHub Releases for newer versions)
wget https://github.com/rustdesk/rustdesk-server/releases/download/1.1.14/rustdesk-server-linux-amd64.zip

# Unzip and enter the binary directory
unzip rustdesk-server-linux-amd64.zip
cd amd64

The release page is https://github.com/rustdesk/rustdesk-server/releases.

2. Generate the encryption key

Run the ID server binary to create a key that clients must use:

# Start the ID server (Ctrl+C to stop)
./hbbs

# Look for the line "Key: xxxxx..." in the log and record it

The public key can also be read directly with cat ./id_ed25519.pub. After obtaining the key, stop the process (Ctrl+C).

3. Run the relay server in the background

# Start hbbr as a daemon
nohup ./hbbr &

4. Create systemd service files for auto‑start

File:

/etc/systemd/system/rustdesk-hbbs.service
[Unit]
Description=RustDesk ID Server
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/rustdesk/amd64
ExecStart=/opt/rustdesk/amd64/hbbs -r YOUR_SERVER_IP:21117
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

File:

/etc/systemd/system/rustdesk-hbbr.service
[Unit]
Description=RustDesk Relay Server
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/rustdesk/amd64
ExecStart=/opt/rustdesk/amd64/hbbr
Restart=on-failure
RestartSec=5s
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

5. Enable and verify the services

# Reload systemd configuration
systemctl daemon-reload

# Start both services
systemctl start rustdesk-hbbs rustdesk-hbbr

# Enable them at boot
systemctl enable rustdesk-hbbs rustdesk-hbbr

# Check status
systemctl status rustdesk-hbbs
systemctl status rustdesk-hbbr

# Verify listening ports (21115‑21117)
ss -tulnp | grep -E '21115|21116|21117'

If the status shows active (running), the server is operational. The cloud provider’s firewall must allow the corresponding ports.

Client Installation

Download the appropriate client from the RustDesk website, install it, and launch the application. The left pane displays the generated ID and password for the local machine.

Navigate to Network → ID/Relay Server and fill in three fields: the ID server address, the relay server address (both the public IP or domain of the self‑hosted server), and the previously generated key.

After saving, the status turns green with “Ready”, indicating a successful connection. Install the client on the remote PC as well, enter its ID on the local machine, and click Connect. When prompted, input the access password to complete the remote session.

Conclusion

In practical tests, RustDesk delivers smoother and more stable connections than commercial alternatives such as Sunflower or TeamViewer, with virtually no disconnections. For users who have an idle server and need frequent remote access, deploying RustDesk provides a private, cost‑free solution that mitigates privacy risks.

Regardless of the remote‑control tool used, never share your computer ID or password publicly, as doing so could hand over control of your machine to others.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Privacylinuxopen sourceremote desktopsystemdself‑hostedRustDesk
Pan Zhi's Tech Notes
Written by

Pan Zhi's Tech Notes

Sharing frontline internet R&D technology, dedicated to premium original content.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.