Short answer
Install RustDesk with omarchy pkg add rustdesk, launch it, and connect with the 9-digit ID and password. No account, no payment. On Hyprland/Wayland, accept the screen-share prompt the first time.
RustDesk on Omarchy
RustDesk is the free, open-source (AGPL-3.0) TeamViewer alternative — remote into any machine from your Omarchy laptop over LAN or internet, with file transfer, unattended access, and an option to self-host the whole thing.
TL;DR
omarchy pkg add rustdesk
Launch RustDesk, read off your 9-digit ID and one-time password, type them into RustDesk on any other machine (Windows, macOS, Linux, Android, iOS) — you’re connected. No account, no signup, no payment.
Getting started (5 minutes)
1. Install and launch.
Run the command above, then launch RustDesk from the app launcher or rustdesk in a terminal. The main window shows two things: your 9-digit ID and a one-time password.
2. The 3 things you need to know:
- Your RustDesk ID — this is the number someone types to reach your machine. It never changes for a given install (your machine’s fingerprint).
- Connecting to another machine — type their ID into the “Remote ID” field at the top, hit Connect, enter the password they read out to you. Done.
- The self-host option — out of the box RustDesk uses its free public relay/rendezvous servers. If you’d rather no third party handles your sessions, you can run
hbbs(rendezvous) andhbbr(relay) yourself on any Linux box and point both clients at it. The server software is free and open source; Server Pro ($$) is only for teams that want address books and audit logs.
3. Config location.
Per-user config lives at ~/.config/rustdesk/ (notably RustDesk2.toml). Peers you’ve connected to are saved there too, so back it up if you care about your address book.
Practical notes: Remote sessions give you full keyboard/mouse control plus a toolbar with file transfer, clipboard sync, chat, and video quality/codec controls (VP8, VP9, AV1, H.264/H.265). Audio forwarding is supported from the controlled side.
Common issues & fixes
Black screen when connecting to a Wayland/Hyprland machine
On Wayland, RustDesk can’t just grab the screen the way it does on X11. Capture goes through PipeWire and xdg-desktop-portal: the first share triggers a system screen-picker prompt, and if the portal or PipeWire isn’t installed/running (or the restore token doesn’t exist yet), you get a black screen or an endless “waiting for image.” The RustDesk team documents this explicitly: “If you get a blank screen on Wayland, the fix is usually to accept the portal’s screen-share prompt and confirm xdg-desktop-portal and PipeWire are installed and running” (RustDesk docs). Unattended Wayland capture is still in active development (PR #15420).
Fix: On Omarchy, make sure the Hyprland portal stack is installed:
sudo pacman -S pipewire wireplumber xdg-desktop-portal-hyprland xdg-desktop-portal-gtk
Then in Hyprland config, confirm the session env vars are set:
env = XDG_SESSION_TYPE,wayland
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
Restart RustDesk, connect, and accept the screen-share prompt when it appears — the choice is remembered afterward (portal v4+ restore tokens). If you still get a black screen, try disabling Use hardware codec in the session toolbar/Settings to fall back to software encoding — NVIDIA setups are the classic culprit.
RustDesk window won’t close on Hyprland (Flutter error)
Running RustDesk natively under Wayland on Hyprland, closing any RustDesk window (titlebar X, Alt+F4) fails — the window stays open with a LateInitializationError: Local 'position' has not been initialized from the Flutter UI layer. Reported in issue #13260 (Arch/Wayland/Hyprland).
Fix: It’s cosmetic — the session itself closed. Kill the stuck window from the terminal (pkill rustdesk / pkill -9 rustdesk) or close it from your task manager. Upgrading to the latest release is worth trying first; the issue was reported against 1.3.4/1.4.3-era builds and upstream keeps fixing Wayland-specific window bugs in newer releases.
Connection stuck on “Connecting” to a self-hosted server (key mismatch)
Machine shows as online, everything else works, but one device fails with invalid public key or just spins. This is the most common self-hosted-server gotcha — the controlled client has a stale/wrong key for your relay. Documented in the official FAQ (key-mismatch section).
Fix: Set the correct public key from your hbbs server on the controlled client (Settings → Network → Key). Also verify the basics on a self-hosted box: hbbr must be running and ports 21115–21119 (TCP) and 21116 (UDP) open (source). Quick test from the controlled side: telnet server-ip 21116 and telnet server-ip 21117.
Clipboard copy/paste doesn’t work on Wayland
Copy on the client, paste on the host, nothing arrives — even with clipboard enabled. Wayland clipboard handling has been a recurring Linux bug; notably issue #7638 (Flatpak client on Wayland, copy/paste broken), and a newer report where an Arch+Niri machine drops the connection right after password auth because the clipboard service times out trying to create a clipboard context on a non-mainstream compositor (issue #14967).
Fix: First, update — upstream landed several Linux clipboard fixes in 2026 (e.g. waiting for Wayland selection readiness before initial sync, commit bb924d29). Second, confirm both sides have Enable clipboard checked in session permissions. On Hyprland, ensure wl-clipboard is installed. If the connection still dies on exotic compositors, that’s a known upstream gap — file against rustdesk/rustdesk with your compositor name.
No unattended access after reboot
RustDesk only works when someone is logged in and launches it — you can’t reach the machine while nobody’s around.
Fix: RustDesk needs its background service running. The official recipe: install so the systemd service is registered (the store package does this), or click Enable Service in the app. Then set a permanent password: ⋮ menu → Settings → Security → Use permanent password → enter a strong password. For auto-start on boot, enable Start with system in General settings. Caveat for Wayland: capturing the login greeter itself isn’t supported yet (in active development), so for true pre-login access use RustDesk’s documented headless virtual-display setup.
Pairs well with / If you hate this, try
Pairs well with
tailscale(point RustDesk’s “Direct IP Access” at your Tailscale IP for a LAN-fast, zero-relay tunnel between your machines),wayvnc(native Hyprland VNC server if you want protocol-level fallback), and a cheap VPS running the freehbbs/hbbrserver pair so your sessions never touch RustDesk’s public relay.
If you hate this, try
remmina— classic Linux remote-desktop client (RDP/VNC/SPICE) if you prefer talking to built-in OS servers instead of installing an agent; orwayvnc+ any VNC viewer for a minimal, self-hosted-only Hyprland setup. Neither matches RustDesk’s NAT-traversal “just works” story, though.
Comparison: RustDesk vs TeamViewer vs AnyDesk
| RustDesk | TeamViewer | AnyDesk | |
|---|---|---|---|
| Price | Free forever (AGPL-3.0). Self-hosted server also free. Server Pro is paid, teams-only | Business (single user): $50.90/mo billed annually, 200 devices. Remote Access: $24.90/mo, 3 devices (source) | Free for personal use. Paid plans from $32.31/mo (Standard, billed annually) (source) |
| Best for | People who want TeamViewer’s core features with zero cost and the option to self-host everything | Enterprises needing the admin console, compliance tooling, and integrations | Fast sessions (DeskRT codec); free tier fine for casual personal use, paid gets pricey fast |
| Omarchy install | omarchy pkg add rustdesk | Not in the store; manual download from teamviewer.com | Not in the store; manual download from anydesk.com |
Verdict: If all you need is remote control, file transfer, and unattended access — RustDesk does the job for $0 that costs $50.90/mo at TeamViewer. Pay TeamViewer only when you need its enterprise admin console, audit logging, or third-party integrations.
How to switch from TeamViewer (~20 minutes)
- Export what you can: In TeamViewer, export your contacts/computers list (Management Console → export, or copy IDs into a text file — TeamViewer has no clean bulk export, so a pasted list of IDs is the practical route).
- Install RustDesk on both ends: On Omarchy:
omarchy pkg add rustdesk. On the remote machines: install RustDesk from rustdesk.com/download or the platform package manager. - Set up unattended access: On each machine you want to reach: Settings → Security → Use permanent password (set it), General → Start with system. Write down each machine’s 9-digit RustDesk ID next to its name — this replaces your TeamViewer computer list.
- Re-create your address book: Enter each ID + password once; RustDesk saves them as peers.
- What doesn’t transfer: TeamViewer account login/integrations, meeting features, remote printing, and session recording. If you used those, that’s the actual cost of switching — the remote-control workflow itself maps 1:1.
Open the RustDesk package
See the live version, upstream screenshot, requirements, source and exact Omarchy install command.
Frequently asked questions
Does RustDesk work on Omarchy/Wayland?
Yes, with one caveat. Inside a logged-in Hyprland session, RustDesk captures via PipeWire + xdg-desktop-portal-hyprland — accept the screen-share prompt the first time and it works. What’s not supported yet: capturing the Wayland login greeter, and fully unattended capture without an active session (both in active upstream development, e.g. PR #15420).
Is RustDesk really free?
Yes. The client and the self-hostable server are AGPL-3.0 open source and free forever, including unlimited devices and sessions. The paid product is RustDesk Server Pro, which adds a web console, device groups, and a custom client generator for teams — the core remote-desktop functionality is not gated.
RustDesk vs TeamViewer — which should I pick?
Pick RustDesk if you want remote control, file transfer, and unattended access without a $50.90/mo bill — especially if you value self-hosting. Pick TeamViewer if you need the enterprise admin console, compliance/audit features, or integrations with tools like ServiceNow and Zendesk.
Is RustDesk safe?
Sessions are end-to-end encrypted, and the code is open source (auditable — the repo has ~125k stars and active security work). The biggest safety win is architectural: with a self-hosted server, your sessions never pass through anyone’s infrastructure. The biggest risk is user error: a strong permanent password (12+ chars) and keeping RustDesk updated are what actually keep unattended machines safe. (And never install it because a stranger on the phone told you to — RustDesk itself warns about tech-support scams.)
Official sources
- RustDesk official docs (Linux guide, Wayland sections)
- RustDesk “connected but waiting for image” (Wayland black-screen write-up)
- RustDesk GitHub FAQ (key mismatch, relay troubleshooting)
- Issue #13260 — Hyprland Wayland window-close failure
- Issue #14967 — Wayland/Arch+Niri clipboard context failure
- Issue #7638 — Flatpak copy/paste broken on Wayland
- PR #15420 — unattended Wayland capture (in development)
- PR #16451 — xdph stream position fix (Hyprland multi-monitor)
- PR #15792 — Wayland login-screen DRM backend
- mxoio/rustdesk-on-omarchy — RustDesk tested on Omarchy/Hyprland
- RustDesk Linux guide (ports, SELinux, performance)
- RustDesk on Wayland fix guide (Hyprland portal packages)
- TeamViewer pricing (Business $50.90/mo)
- AnyDesk pricing (Standard $32.31/mo)
- AUR rustdesk-bin package page
Commands and fixes verified against official sources October 2026; on-machine verification pending.