devAlice
← Multi-OS

Remote screen sharing — Parsec · RustDesk · official tools compared

See and control another OS's desktop from your machine. Latency, resolution, and security tradeoffs plus working setups.

Sometimes SSH and VS Code Remote aren't enough — you need actual GUI control on another machine: a game, a design tool, a BIOS screen, or a vendor app. Remote development covers code editing; this guide covers seeing the screen.

Four options compared and set up end-to-end.

TL;DR

ToolLatencyResolutionCostBest for
ParsecVery low (~5ms)4K 60HzFree (personal)Games · creative tools
RustDeskLow (~30ms)4K 30HzFree, OSSGeneral desktop work
macOS Screen Sharing (VNC)Moderate (~100ms)Same as screenFree (Mac→Mac)Simple Mac-to-Mac
Windows Remote Desktop (RDP)Low (~50ms)Same as screenFree (Pro+)Win→Win, office use

Recommended combo: Parsec (real-time) + RustDesk (everyday remote) + RDP (Win-to-Win) + Screen Sharing (Mac-to-Mac).

1. Parsec — games / creative tools

Originated as low-latency game streaming. P2P UDP + hardware encoding (NVENC, AMF, Quick Sync) → 5–10ms latency. 4K 60Hz feasible.

1.1 Install

Host (remote PC):

winget install --id Parsec.Parsec

Client (laptop):

brew install --cask parsec     # Mac
winget install --id Parsec.Parsec   # Windows

1.2 Sign up + host setup

  1. Sign up at parsec.app (email)
  2. On the host PC → Parsec app → Sign in → Settings → Hosting → "Share this computer" ✅
  3. To invite teammates → Settings → Team → Invite

1.3 Connect from client

Client app → Sign in → pick host from list → Connect.

1.4 Key settings

  • Decoder: client GPU
  • Bandwidth: Auto (adapts to network)
  • Resolution: match host = client (avoid scaling)
  • Mouse: "Direct" (raw input) for games; "Window" otherwise

1.5 Strengths / weaknesses

Strengths:

  • Lowest latency — 60+ fps, mouse feels native
  • Hardware encoding — barely any CPU
  • HDR and multi-monitor

Weaknesses:

  • Closed source — no security audit possible
  • Cloud signaling (pairing through Parsec servers)
  • Linux host support discontinued
  • Falls back to relay (slower) when direct P2P fails

2. RustDesk — open-source all-rounder

Open-source, written in Rust. TeamViewer alternative. Self-hosting possible. 60+ platforms.

2.1 Install

Mac:

brew install --cask rustdesk

Windows:

winget install --id RustDesk.RustDesk

Linux: GitHub Releases — AppImage / .deb.

2.2 Use

Run RustDesk on each machine — you'll see a 9-digit ID and a 4-digit password. The client enters the ID, confirms the password → connected.

2.3 Strengths / weaknesses

Strengths:

  • Open source
  • Self-hostable (sign + relay servers) → zero external dependency
  • Every OS as host or client
  • Built-in file transfer

Weaknesses:

  • Higher latency than Parsec (not great for games)
  • Public sign server trust issue — self-host recommended

2.4 Self-hosting

Run hbbs (sign) + hbbr (relay) as containers on a VPS:

docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 \
  -v $PWD:/root -td --net=host rustdesk/rustdesk-server hbbs -r your-server.com:21117
 
docker run --name hbbr -p 21117:21117 -p 21119:21119 \
  -v $PWD:/root -td --net=host rustdesk/rustdesk-server hbbr

Point each RustDesk client → Settings → Network → ID Server / Relay Server to your VPS IP. External deps now zero.

3. macOS Screen Sharing (VNC-based)

For Mac → Mac. Apple ID / iCloud integrated:

3.1 Host

System Settings → General → Sharing → Screen Sharing ON.

From another Mac signed into the same Apple ID → Finder → sidebar → host machine → "Share Screen".

3.2 Outside the LAN

Off-network connectivity goes through Apple ID auto-P2P (Mac-to-Mac). Latency rises noticeably.

3.3 Strengths / weaknesses

Strengths:

  • Zero setup (same Apple ID is enough)
  • File drag + clipboard sync

Weaknesses:

  • Mac-to-Mac only
  • VNC-based, higher latency (not for games)

4. Windows Remote Desktop (RDP)

For Windows Pro/Enterprise → Windows. Microsoft official, the office-environment standard.

4.1 Host (Win Pro+)

Settings → System → Remote Desktop → ON.

4.2 Client

  • Mac: Microsoft Remote Desktop (App Store)
  • Windows: built-in mstsc.exe
  • iOS/Android: Remote Desktop app

Enter host IP + user + password.

4.3 Strengths / weaknesses

Strengths:

  • Microsoft official, very stable
  • Multi-monitor · audio · printer redirection
  • Works smoothly over VPN / Tailscale

Weaknesses:

  • Windows Home cannot host (it can act as client)
  • Mac-to-Windows only (reverse needs Parsec / RustDesk)

5. Combining with Tailscale

If you set up Tailscale per Remote development, every option becomes smoother:

  • Parsec — works as-is, P2P succeeds more (Tailscale pierces NAT)
  • RustDesk — point your self-hosted sign server to a Tailscale private IP
  • macOS Screen Sharing / RDP — connect by Tailscale hostname (no port forwarding, safer)
# Tailscale hostname + RDP
# In the Mac Remote Desktop app:
PC Name: desktop.tail-scale.ts.net

6. Security

No weak passwords

RustDesk's 4-digit password is weak. Set a permanent alphanumeric password in Settings.

Don't expose to the internet

Exposing RDP / VNC ports (3389, 5900) to the public internet = bot attacks within minutes. Always go through Tailscale or equivalent VPN.

Make remote sessions visible

The host should show a clear indicator when someone is connected (macOS does this by default; Windows needs to be configured).

Company policy

Check IT policy before installing RustDesk / Parsec on a company machine — it's a security violation in many organizations.

7. Recommendations by scenario

A. Design / video work (Mac → Win gaming PC)

  • Parsec + Tailscale
  • ~5ms feels nearly local

B. Everyday remote desktop (email, docs)

  • RustDesk self-hosted
  • ~100ms is fine; zero external dependency

C. Office (Windows Pro environment)

  • RDP + corporate VPN
  • Most stable, the IT standard

D. Helping family / friends

  • Parsec Free (sign up under gaming mode)
  • One-off access, share a temporary password

E. Server BIOS / KVM

  • IPMI / iDRAC / iLO (server-built-in KVM)
  • Parsec etc. only work after the OS boots

Verification

  1. Parsec — host + client on the same Wi-Fi → check latency in Settings → Stats
  2. RustDesk — ID + password → file transfer test
  3. macOS Screen Sharing — same Apple ID discovers another Mac → click → screen appears
  4. RDP — connect from Mac to Windows over a Tailscale hostname
  5. Self-hosted — RustDesk continues to work after disabling public internet

Troubleshooting

Parsec black screen

  • Host GPU driver outdated — update NVIDIA Studio Driver / AMD Adrenalin
  • Missing "Allow Parsec to access this app" (on macOS: Screen Recording permission)

RustDesk ID only works on the same PC

Public sign server may be down. Self-host instead.

macOS Screen Sharing "Already in use"

Someone's already connected, or the host is sleeping. Enable Wake-on-LAN, or sign back in from a different location.

RDP "Credentials did not work"

  • Confirm Windows Pro (Home cannot host)
  • Use the Windows account + password (if it's a Microsoft account, use the MS email + password)
  • Try disabling Network Level Authentication on low-power setups

Screen sharing slow over Tailscale

  • Check whether it's going via DERP relay: tailscale ping desktop
  • Direct connection failure often means a corporate firewall blocking UDP 41641 — see Tailscale admin console

Clipboard sync not working

  • Parsec — Settings → Client → Clipboard Sync ✅
  • RustDesk — Settings → Display → disable Privacy Mode

References

Changelog

  • 2026-05-12 — Initial English translation (devAlice M2 i18n seed)

Comments