TigerVNC
FreeThe long-standing VNC for putting a remote desktop on a Linux server
A high-performance VNC implementation with both viewer and server. On Linux, Xvnc starts independent virtual desktop sessions and x0vncserver shares the current screen; the viewer runs on Windows, macOS and Linux, with TLS encryption support.
Why we picked it
GPL-2.0-or-later, 7,504 stars. It split from TightVNC in 2009 to focus on the Unix and Linux side.
Its most common job is putting a graphical desktop on a headless Linux server. Xvnc is itself an X server, so each user can start an independent virtual session at a resolution of their choosing; programs keep running after you disconnect, and reconnecting finds everything as you left it. It is the usual piece behind remote desktop setups on RHEL, Fedora and similar distributions.
Its Tight encoding is accelerated by libjpeg-turbo, and the project says performance is enough for 3D and video applications. Version 1.16 in 2026 added w0vncserver for sharing Wayland desktops, and the viewer gained a new shortcut system that can pass system keys to the remote side even in windowed mode.
To be clear about:
- No NAT traversal and no relay. The viewer must reach the server's port directly, so use across networks means port forwarding, an SSH tunnel or a mesh network. It is not a TeamViewer kind of product.
- The Windows server, winvnc, is officially marked unmaintained and may not work correctly. On Windows, use only the viewer; on macOS only the viewer exists.
- Binaries are hosted on SourceForge; the GitHub Releases page carries notes but no files.
- 1.16.1 fixed a security issue in x0vncserver where other local users could see and control the screen. If you use x0vncserver, make sure you are on 1.16.2 or later.