vncviewer
View and control remote computer desktops
TLDR
Launch a VNC client which connects to a host on a given display
Launch in full-screen mode
Launch a VNC client with a specific screen geometry
Launch a VNC client which connects to a host on a given port
SYNOPSIS
vncviewer [options] [host][:display]
vncviewer [options] [host][::port]
vncviewer [options] [vnc://host:port/]
PARAMETERS
host[:display] or host[::port]
Specifies the VNC server to connect to. display is a number (e.g., :1 for port 5901), and port is the direct TCP port (e.g., 5901).
-help
Displays a help message with available command-line options.
-version
Prints the version of the vncviewer application.
-config file
Loads configuration options from the specified file.
-via gateway
Connects to the VNC server via an SSH gateway machine, enabling secure, tunneled connections.
-passwd file
Reads the VNC password from the specified file, useful for scripting.
-fullscreen
Starts the viewer in full-screen mode, occupying the entire display.
-ViewOnly
Connects in view-only mode, preventing local keyboard and mouse input from affecting the remote server.
-Shared
Allows other VNC viewers to connect to the same server display simultaneously.
-encodings enc
Specifies the preferred encoding types for screen updates (e.g., tight, hextile, raw) to optimize performance.
-compresslevel level
Sets the ZLib compression level (0-9) for compressed encodings.
-quality level
Sets the JPEG quality level (0-9) for lossy encodings like Tight, balancing image quality and bandwidth.
-sendclipboard
Enables sending the local clipboard content to the VNC server.
-acceptclipboard
Enables receiving clipboard content from the VNC server to the local machine.
DESCRIPTION
vncviewer is the client application for the Virtual Network Computing (VNC) system, enabling users to remotely view and control a desktop environment running on a VNC server. It functions by transmitting local keyboard and mouse events to the server and receiving screen updates in return, effectively creating a virtual remote display. It's widely employed for tasks such as remote administration, technical support, and accessing graphical applications on distant machines. The viewer can connect to servers specified by hostname and display number (e.g., host:1) or by IP address and explicit port (e.g., host::5901). It supports various encoding types to optimize performance across different network conditions and offers options for secure connections via SSH tunneling.
CAVEATS
VNC itself is inherently unencrypted. For secure communication, it is highly recommended to use vncviewer with SSH tunneling (via the -via option) or a VPN. Firewall configurations on both client and server sides must allow connections on the VNC port (default 5900 + display number). Performance can vary significantly based on network speed and selected encoding methods.
KEYBOARD SHORTCUTS
A common shortcut is pressing F8 (or Ctrl+Alt+Shift+F8) during a session to bring up a menu with options like full-screen toggle, sending special key combinations (e.g., Ctrl+Alt+Del), or disconnecting.
SECURITY BEST PRACTICES
Always prioritize securing your VNC connection. Using vncviewer -via sshuser@sshserver is the most common and recommended method to encrypt VNC traffic and protect your remote sessions from eavesdropping and unauthorized access.
HISTORY
VNC (Virtual Network Computing) was originally developed at AT&T Laboratories Cambridge in the late 1990s. vncviewer is the essential client-side component of this system. Following the closure of AT&T Labs Cambridge, the core developers formed RealVNC, continuing to develop and maintain the software. Numerous open-source implementations, such as TightVNC and TurboVNC, have since emerged, each with their own vncviewer variants, all building upon the foundational RFB (Remote FrameBuffer) protocol.