VNC¶
VNC (Virtual Network Computing) is the standard remote desktop protocol for Linux systems. It's simple, widely supported, and works reliably across platforms.
When to Use VNC¶
VNC is the best choice for:
- Linux servers and VMs
- Cross-platform access (any client to any server)
- Simple, reliable remote access
- Situations where SSH tunneling is acceptable
VNC Architecture¶
┌──────────────────┐ ┌──────────────────┐
│ macOS Client │ │ Linux Server │
│ │ VNC/RFB │ │
│ RealVNC Viewer │◄──────────────────►│ TigerVNC │
│ Screen Sharing │ Port 5900 │ x11vnc │
│ Jump Desktop │ │ QEMU VNC │
└──────────────────┘ └──────────────────┘
Topics¶
-
Server Setup
Configure VNC servers on Linux systems and KVM VMs
-
macOS Clients
Client recommendations and configuration
Quick Start¶
Connect to a KVM VM¶
-
Find your VM's VNC port:
-
Connect from macOS:
Connect Securely via Tailscale¶
See Tailscale Integration for full setup.
Security Warning¶
Never Expose VNC to the Internet
VNC was designed for trusted networks. Always use:
- Tailscale (recommended) - Zero-config, works everywhere
- SSH tunnel -
ssh -L 5900:localhost:5900 server - VPN - If already configured
Comparison with Alternatives¶
| Feature | VNC | RDP | SPICE |
|---|---|---|---|
| Linux support | Native | Via xrdp | Native |
| Audio | No | Yes | Yes |
| Encryption | SSH tunnel | Built-in | Optional |
| macOS client | Excellent | Excellent | Poor |
Related¶
- Server Setup - Configure VNC servers
- macOS Clients - Client recommendations
- Tailscale Integration - Secure remote access