xtigervncviewer(1)

πŸ“¦
version 1.15.0 Β· 3 versions
, in debian trixie, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– xtigervncviewer β€” the VNC viewer for X, but make it a whole moment πŸ’–

okay bestie, pull up a chair, we're reading the xtigervncviewer(1) manual together and honestly? it's giving "your new favorite way to see a whole other computer's desktop from your own screen" 🌈


✨ NAME ✨

xtigervncviewer β€” VNC viewer for X, no cap πŸ–₯οΈπŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

lowkey the shapes it can take, all in one place:

xtigervncviewer [options] [host][:display#]
xtigervncviewer [options] [host][::port]
xtigervncviewer [options] [unix socket]
xtigervncviewer [options] -listen [port]
xtigervncviewer [options] [.tigervnc file]

🌸 DESCRIPTION 🌸

so xtigervncviewer is a viewer (that's the client, bestie, not the server) for Virtual Network Computing β€” aka VNC, aka "I'm looking at a computer that is not the computer I'm sitting at" πŸͺ„ And just so we're clear on the lore: this manual page documents version 4 for the X window system.

If you run the viewer with no arguments at all, it's not gonna sit there being mysterious β€” it will prompt you for a VNC server to connect to. Very "hi bestie, where are we going today" of it. πŸ™ˆ

Orrrr you can just specify the VNC server as an argument, like:

xtigervncviewer snoopy:2

where 'snoopy' is the name of the machine and '2' is the display number of the VNC server on that machine. ✨ Here's the tea though β€” either the machine name or the display number can be omitted. So:

  • ":1" means display number 1 on the same machine
  • "snoopy" means "snoopy:0", i.e. display 0 on machine "snoopy"

Look at that, so flexible, so iconic. πŸ‘‘


As another quick way to start a connection to a VNC server, you can specify a .tigervnc configuration file as an argument to the viewer, like:

xtigervncviewer ./some.tigervnc

where './some.tigervnc' is an existing and valid TigerVNC configuration file. πŸŽ€ One important little detail: the file name needs to include a path separator. That's not a suggestion, bestie, that's the rule. Additional options may be given too, but heads up β€” the given configuration file will overwrite any conflicting parameters. It's the main character of that argument list, periodt. πŸ’…

If the VNC server is successfully contacted, you will be prompted for a password to authenticate you. πŸ” You can also add 'VNC_USERNAME' and 'VNC_PASSWORD' to environment variables β€” very set-it-and-forget-it of you. If the password is correct, a window will appear showing the desktop of the VNC server. 🌈✨


πŸ”₯ AUTOMATIC PROTOCOL SELECTION πŸ”₯

okay this part ate, fr fr. The viewer tests the speed of the connection to the server and chooses the encoding and pixel format (that's the color level, bestie) appropriately. This makes it much easier to use than previous versions where the user had to specify arcane command line arguments. 😭 No more arcane nonsense. We're healed.

The viewer normally starts out assuming the link is slow, using the encoding with the best compression. Makes sense β€” start careful, stay humble. But if it turns out that the link is fast enough, it switches to an encoding which compresses less but is faster to generate, thus improving the interactive feel. It's literally reading the room. πŸ‘‘

The viewer normally starts in full-color mode, but switches to low-color mode if the bandwidth is insufficient. πŸ’€ However β€” and this is the important caveat β€” this only occurs when communicating with servers supporting protocol 3.8 or newer, since many old servers do not support color mode changes safely. So don't come for it when the old server gets weird, okay? It warned you. πŸ™ˆ

Automatic selection can be turned off by setting the AutoSelect parameter to false, or from the options dialog. Your call, bestie. 🫢


The viewer has a popup menu containing entries which perform various actions. It is usually brought up by pressing F8, but this can be configured with the MenuKey parameter. ✨

Actions which the popup menu can perform include:

  • switching in and out of full-screen mode
  • quitting the viewer
  • generating key events, e.g. sending ctrl-alt-del
  • accessing the options dialog and various other dialogs

By default, key presses in the popup menu get sent to the VNC server and dismiss the popup. So to get an F8 through to the VNC server, simply press it twice. Twice, bestie. Not once. Twice. πŸ’…


🌈 FULL-SCREEN MODE 🌈

A full-screen mode is supported. This is particularly useful when connecting to a remote screen which is the same size as your local one. πŸ–₯️✨

If the remote screen is bigger, you can scroll by bumping the mouse against the edge of the screen. That's it. That's the mechanic. Bump the mouse, the screen moves. Obsessed. πŸ¦‹


πŸ’… OPTIONS (PARAMETERS) πŸ’…

Okay bestie, this is the big one. The glow-up section. ✨

Wanna see the whole menu of parameters? Just hand xtigervncviewer a -h on the command line and it spills all the tea.

Turning stuff on and off is a whole vibe:

  • slap -param to turn a thing on
  • go -param=0 to turn it off
  • if it wants a value, it's -param value
  • and honestly there are so many accepted forms: param=value, -param=value, --param=value β€” pick your fighter 🫢
Parameter names are case-insensitive, so don't stress about your caps lock era.

Also?? Many of these can be set with actual buttons and sliders through the options dialog box. You get to it from the popup menu, or from the "Connection details" dialog box. Very much giving point and click and slay. πŸŽ€


  • -AcceptClipboard β€” Accept clipboard changes coming from the server. Default is on. πŸ’–
  • -AlertOnFatalError β€” Pop up a dialog with any fatal error before it exits. Default is on.
  • -AlwaysCursor β€” Show a local cursor when the server sends over an invisible cursor. Default is off.
  • -AutoSelect β€” Use automatic selection of encoding and pixel format (default is on). Normally the viewer does a little speed test on the connection to the server and picks the encoding and pixel format that fit. Turn it off with -AutoSelect=0.
  • -CompressLevel level β€” Use the specified lossless compression level. 0 = Low, 9 = High. Default is 2.
  • -CursorType type β€” Say which cursor type to use when a local cursor is shown. Gotta be either "Dot" or "System". Ignored if AlwaysCursor is off. Default is "Dot".
  • -CustomCompressLevel β€” Use custom compression level. Default when CompressLevel is specified.
  • -DesktopSize widthxheight β€” Instead of keeping the existing remote screen size, the client will try to switch to the size you specify when connecting. If the server doesn't support the SetDesktopSize message, then the screen keeps the original size. No glow-up for you. 😭
  • -display Xdisplay β€” Specifies the X display where the VNC viewer window should appear.
  • -DotWhenNoCursor β€” (DEPRECATED) Show the dot cursor when the server sends an invisible cursor. Replaced by -AlwaysCursor and -CursorType=Dot.
  • -EmulateMiddleButton β€” Emulate the middle mouse button by pressing the left and right mouse buttons at the same time. Default is off.
  • -FullColor, -FullColour β€” Tells the VNC server to send full-color pixels in the best format for this display. This is the default. πŸ’…
  • -FullScreen β€” Start in full-screen mode.
  • -FullScreenAllMonitors β€” (DEPRECATED) Use all local monitors and not just the current one when switching to full-screen mode. Replaced by -FullScreenMode=all.
  • -FullScreenMode mode β€” Say which monitors to use when in full screen. Gotta be either "Current", "Selected" (specified by -FullScreenSelectedMonitors) or "All". Default is "Current".
  • -FullScreenSelectedMonitors monitors β€” This one says which monitors to use with -FullScreenMode=selected. Monitors are ordered according to the system configuration, from left to right, and if there's a conflict, from top to bottom. So for example "1,2,3" means the first, second and third monitor counting from the left should be used. Default is "1".
  • -FullscreenSystemKeys β€” Pass special keys (like Alt+Tab) straight through to the server when in full-screen mode.
  • -geometry geometry β€” Initial position of the main VNC viewer window. The format is widthxheight+xoffset+yoffset, where + signs can be swapped for - signs to specify offsets from the right and/or from the bottom of the screen. Offsets are optional, and the window will be placed by the window manager by default.
  • -GnuTLSPriority priority β€” GnuTLS priority string that controls the TLS session's handshake algorithms. Peep the GnuTLS manual for possible values. Default is NORMAL.
  • -listen [port] β€” Causes xtigervncviewer to listen on the given port (default 5500) for reverse connections from a VNC server. WinVNC supports reverse connections initiated using the 'Add new client' menu option or the -connect command-line option. Xtigervnc supports reverse connections with a helper program called tigervncconfig.
  • -Log logname:dest:level[, ...] β€” Configures the debug log settings. dest can currently be stderr or stdout, and level is between 0 and 100, where 100 means the most verbose output. logname is usually * meaning all, but you can target a specific source file if you know the name of its "LogWriter". Default is *:stderr:30.
  • -LowColorLevel, -LowColourLevel level β€” Selects the reduced color level to use on slow links. level can range from 0 to 2, 0 meaning 8 colors, 1 meaning 64 colors (the default), 2 meaning 256 colors. Note that the decision about whether a reduced color level is used is made by xtigervncviewer. If you wanna force xtigervncviewer to use the reduced color level, use the -AutoSelect=0 parameter.
  • -MaxCutText bytes β€” The maximum size of a clipboard update that will be accepted from a server. Default is 262144.
  • -Maximize β€” Maximize the viewer window. Main character energy, fully unapologetic. πŸ‘‘
  • -MenuKey keysym-name β€” This option specifies the key which brings up the popup menu. Currently supported list is: F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, Pause, Scroll_Lock, Escape, Insert, Delete, Home, Page_Up, Page_Down. Default is F8.
  • -NoJpeg β€” Disable lossy JPEG compression in Tight encoding. Default is off.
  • -passwd, -PasswordFile password-file β€” If you're on a filesystem that gives you access to the password file the server uses, you can specify it here so you don't have to type it in. It's usually $XDG_CONFIG_HOME/tigervnc/passwd, or ~/.config/tigervnc/passwd if the former is unset.
  • -PointerEventInterval time β€” Time in milliseconds to rate-limit successive pointer events. Default is 17 ms (60 Hz).
  • -PreferredEncoding encoding β€” This option specifies the preferred encoding to use, from one of "Tight", "ZRLE", "hextile" or "raw".
  • -QualityLevel level β€” JPEG quality level. 0 = Low, 9 = High. May be adjusted automatically if -AutoSelect is turned on. Default is 8.
  • -ReconnectOnError β€” Display a dialog with any error and offer the possibility to retry establishing the connection. In case this is off, no dialog to re-connect will be offered. Default is on.
  • -RemoteResize β€” Dynamically resize the remote desktop size as the size of the local client window changes. Note that this may not work with all VNC servers.
  • -SecurityTypes sec-types β€” Specify which security schemes to attempt to use when authenticating with the server. Valid values are a comma separated list of None, VncAuth, Plain, TLSNone, TLSVnc, TLSPlain, X509None, X509Vnc, X509Plain, RA2, RA2ne, RA2_256 and RA2ne_256. Default is to attempt every supported scheme.
  • -SendClipboard β€” Send clipboard changes to the server. Default is on.
  • -SendPrimary β€” Send the primary selection to the server as well as the clipboard selection. Default is on.
  • -SetPrimary β€” Set the primary selection as well as the clipboard selection. Default is on.
  • -Shared β€” When you make a connection to a VNC server, all other existing connections are normally closed. This option requests that they be left open, so you can share the desktop with someone who's already using it. Very "let's all hang out" of it. 🫢
  • -UseIPv4 β€” Use IPv4 for incoming and outgoing connections. Default is on.
  • -UseIPv6 β€” Use IPv6 for incoming and outgoing connections. Default is on.
  • -via gateway β€” Automatically create an encrypted TCP tunnel to the gateway machine before connection, then connect to the host through that tunnel (TigerVNC-specific). By default, this option invokes SSH local port forwarding, assuming the SSH client binary can be accessed as /usr/bin/ssh. Note that when using the -via option, the host machine name should be specified as known to the gateway machine, e.g. "localhost" denotes the gateway, not the machine where xtigervncviewer was launched. The environment variable VNC_VIA_CMD can override the default tunnel command of /usr/bin/ssh -f -L "$L":"$H":"$R" "$G" sleep 20. The tunnel command is executed with the environment variables L, H, R, and G taking the values of the local port number, the remote host, the port number on the remote host, and the gateway machine respectively.
  • -ViewOnly β€” Specifies that no keyboard or mouse events should be sent to the server. Useful if you wanna view a desktop without interfering; often needs to be combined with -Shared. Just vibing. 🌸
  • -X509CA path β€” Path to the CA certificate to use when authenticating remote servers using any of the X509 security schemes (X509None, X509Vnc, etc.). Must be in PEM format. Default is $XDG_CONFIG_HOME/tigervnc/x509_ca.pem, or ~/.config/tigervnc/x509_ca.pem.
  • -X509CRL path β€” Path to the certificate revocation list to use in conjunction with -X509CA. Must also be in PEM format. Default is $XDG_CONFIG_HOME/tigervnc/x509_crl.pem, or ~/.config/tigervnc/x509_crl.pem.

πŸ—‚οΈ FILES πŸ—‚οΈ

  • $XDG_CONFIG_HOME/tigervnc/default.tigervnc
  • $HOME/.config/tigervnc/default.tigervnc

Default configuration options. This file must have a "magic" first line of TigerVNC Configuration file Version 1.0 (without quotes), followed by simple <setting>=<value> pairs of your choosing. The available settings are those shown in this man page. So basically it's the same menu, but make it a file. πŸ“

  • $XDG_CONFIG_HOME/tigervnc/x509_ca.pem
  • $HOME/.config/tigervnc/x509_ca.pem

Default CA certificate for authenticating servers. πŸ”

  • $XDG_CONFIG_HOME/tigervnc/x509_crl.pem
  • $HOME/.config/tigervnc/x509_crl.pem

Default certificate revocation list.

  • $XDG_DATA_HOME/tigervnc/x509_known_hosts
  • $HOME/.local/share/tigervnc/x509_known_hosts

Known hosts database for certificate-based authentication. πŸ’–

  • $XDG_STATE_HOME/tigervnc/vnc.history
  • $HOME/.local/state/tigervnc/vnc.history

History file for hostnames that have been recently connected to. It's the "recently stalked" list but make it servers. πŸ™ˆ


πŸ‘€ SEE ALSO πŸ‘€

Xtigervnc(1), tigervncpasswd(1), tigervncconfig(1), tigervncsession(8)

https://www.tigervnc.org


πŸ‘‘ AUTHOR πŸ‘‘ (the origin story, bestie)

Okay so the AUTHOR section is short but it's literally the credits reel and it deserves its flowers πŸ’

  • Tristan Richardson, RealVNC Ltd. β€” and others. (The "and others" is doing SO much heavy lifting, respect 🫑)
  • For the lore: VNC was originally developed by the RealVNC team while they were at Olivetti Research Ltd / AT&amp;T Laboratories Cambridge. That's the origin story, no cap. πŸ›οΈβœ¨
  • The TightVNC additions? Those were implemented by Constantin Kaplinsky. Iconic contribution, honestly. πŸŽ€
  • And then β€” and this is the part that makes me emotional β€” many other people have since participated in development, testing and support. Every single one of them a real one. 🫢
Not me getting misty over a credits section. Anyway. πŸ’€
  • And last but never least: this manual is part of the TigerVNC software suite. πŸ‘‘

And that's the whole page, bestie!! πŸ¦‹ You read the entire xtigervncviewer(1) manual β€” every flag, every file, every reference β€” and you ate that. No crumbs. πŸ’…

Quick lil sign-off: this one's served up by the TigerVNC crew, it's page xtigervncviewer(1) in the TigerVNC software suite, and that lil source/version-and-date line chilling at the bottom of your copy is just the timestamp of whichever version you're holding. Check it if you ever need to know exactly which build you're living in. πŸ“…βœ¨

Now go connect to something. Main character energy only. πŸ’–πŸ”₯