'\" t .\" ** The above line should force tbl to be a preprocessor ** .\" Man page for X vncrec .\" .\" Copyright (C) 1998 Marcus.Brinkmann@ruhr-uni-bochum.de .\" Copyright (C) 2000,2001 Red Hat, Inc. .\" Copyright (C) 2001-2003 Constantin Kaplinsky .\" .\" You may distribute under the terms of the GNU General Public .\" License as specified in the file LICENCE.TXT that comes with the .\" TightVNC distribution. .\" .TH vncrec 1 "July 2014" "" "VNCrec" .SH NAME vncrec \- an X recorder client for VNC .SH SYNOPSIS .B vncrec .RI [\| options \|] .RI [\| host \|][\| :display \|] .br .B vncrec .RI [\| options \|] .RI [\| host \|][\| ::port \|] .br .B vncrec .RI [\| options \|] .IR \-listen .RI [\| display \|] .br .B vncrec .IR \-help .br .SH DESCRIPTION .B vncrec is an Xt\-based client application for the VNC (Virtual Network Computing) system. It can connect to any VNC\-compatible server such as \fBXvnc\fR or WinVNC, allowing you to control desktop environment of a different machine. It can record and replay a VNC session to or from a file. You can use F8 to display a pop\-up utility menu. Press F8 twice to pass single F8 to the remote side. .SH OPTIONS .TP \fB\-help\fR Prints a short usage notice to stderr. .TP \fB\-record \fIfile\fR Record VNC session in the given file in form of RFB protocol frames. .TP \fB\-play \fIfile\fR Replay a VNC session from the given file inside a local X11 window. .TP \fB\-movie \fIfile\fR Replay a VNC session from the given file and output a sequence of RGB movie frames to the standard output. .TP \fB\-ffinfo\fR Print information for ffmpeg's rawvideo input format instead of outputting the file as a movie. Use this to automatically set the correct width/height/framerate options in ffmpeg. .TP \fB\-writeYUV\fR Output a YUV 4:2:0 encoded frame sequence also called YUV4MPEG2, which produces lower quality YUV encoding, but works well with mplayer and ffmpeg. .TP \fB\-hideWindow\fR Hide the VNC viewer or recorder session, but still record operations. This is only useful if the VNC server allows additional clients to connect to the session and send operations. This is most useful for e.g. x11vnc and others that hook into the user's desktop. .TP \fB\-debugFrames\fR Print timestamp and frame numbers during movie output. Useful for debugging and information about timestamps. .TP \fB\-listen\fR Make the viewer listen on port 5500+\fIdisplay\fR for reverse connections from a server. WinVNC supports reverse connections using the "Add New Client" menu option, or the \-connect command line option. \fBXvnc\fR requires the use of the helper program \fBvncconnect\fR. .TP \fB\-via\fR \fIgateway\fR Automatically create encrypted TCP tunnel to the \fIgateway\fR machine before connection, connect to the \fIhost\fR through that tunnel (TightVNC\-specific). By default, this option invokes SSH local port forwarding, assuming that SSH client binary can be accessed as /usr/bin/ssh. Note that when using the \fB\-via\fR option, the host machine name should be specified as known to the gateway machine, e.g. "localhost" denotes the \fIgateway\fR, not the machine where vncrec was launched. See the ENVIRONMENT section below for the information on configuring the \fB\-via\fR option. .TP \fB\-shared\fR When connecting, specify that a shared connection is requested. In TightVNC, this is the default mode, allowing you to share the desktop with other clients already using it. .TP \fB\-noshared\fR When connecting, specify that the session may not be shared. This would either disconnect other connected clients or refuse your connection, depending on the server configuration. .TP \fB\-viewonly\fR Disable transfer of mouse and keyboard events from the client to the server. .TP \fB\-fullscreen\fR Start in full\-screen mode. Please be aware that operating in full\-screen mode may confuse X window managers. Typically, such conflicts cause incorrect handling of input focus or make the viewer window disappear mysteriously. See the grabKeyboard setting in the RESOURCES section below for a method to solve input focus problem. .TP \fB\-noraiseonbeep\fR By default, the viewer shows and raises its window on remote beep (bell) event. This option disables such behaviour (TightVNC\-specific). .TP \fB\-user\fR \fIusername\fR User name for Unix login authentication. Default is to use current Unix user name. If this option was given, the viewer will prefer Unix login authentication over the standard VNC authentication. .TP \fB\-passwd\fR \fIpasswd\-file\fR File from which to get the password (as generated by the \fBvncpasswd\fR(1) program). This option affects only the standard VNC authentication. .TP \fB\-encodings\fR \fIencoding\-list\fR TightVNC supports several different compression methods to encode screen updates; this option specifies a set of them to use in order of preference. Encodings are specified separated with spaces, and must thus be enclosed in quotes if more than one is specified. Available encodings, in default order for a remote connection, are "copyrect tight hextile zlib corre rre raw". For a local connection (to the same machine), the default order to try is "raw copyrect tight hextile zlib corre rre". Raw encoding is always assumed as a last option if no other encoding can be used for some reason. For more information on encodings, see the section ENCODINGS below. .TP \fB\-bgr233\fR Always use the BGR233 format to encode pixel data. This reduces network traffic, but colors may be represented inaccurately. The bgr233 format is an 8\-bit "true color" format, with 2 bits blue, 3 bits green, and 3 bits red. .TP \fB\-owncmap\fR Try to use a PseudoColor visual and a private colormap. This allows the VNC server to control the colormap. .TP \fB\-truecolour\fR, \fB\-truecolor\fR Try to use a TrueColor visual. .TP \fB\-depth\fR \fIdepth\fR On an X server which supports multiple TrueColor visuals of different depths, attempt to use the specified one (in bits per pixel); if successful, this depth will be requested from the VNC server. .TP \fB\-compresslevel \fIlevel\fR Use specified compression \fIlevel\fR (0..9) for "tight" and "zlib" encodings (TightVNC\-specific). Level 1 uses minimum of CPU time and achieves weak compression ratios, while level 9 offers best compression but is slow in terms of CPU time consumption on the server side. Use high levels with very slow network connections, and low levels when working over high\-speed LANs. It's not recommended to use compression level 0, reasonable choices start from the level 1. .TP \fB\-quality \fIlevel\fR Use the specified JPEG quality \fIlevel\fR (0..9) for the "tight" encoding (TightVNC\-specific). Quality level 0 denotes bad image quality but very impressive compression ratios, while level 9 offers very good image quality at lower compression ratios. Note that the "tight" encoder uses JPEG to encode only those screen areas that look suitable for lossy compression, so quality level 0 does not always mean unacceptable image quality. .TP \fB\-nojpeg\fR Disable lossy JPEG compression in Tight encoding (TightVNC\-specific). Disabling JPEG compression is not a good idea in typical cases, as that makes the Tight encoder less efficient. You might want to use this option if it's absolutely necessary to achieve perfect image quality (see also the \fB\-quality\fR option). .TP \fB\-nocursorshape\fR Disable cursor shape updates, protocol extensions used to handle remote cursor movements locally on the client side (TightVNC\-specific). Using cursor shape updates decreases delays with remote cursor movements, and can improve bandwidth usage dramatically. .TP \fB\-x11cursor\fR Use a real X11 cursor with X-style cursor shape updates, instead of drawing the remote cursor on the framebuffer. This option also disables the dot cursor, and disables cursor position updates in non-fullscreen mode. .TP \fB\-autopass\fR Read a plain-text password from stdin. This option affects only the standard VNC authentication. .SH ENCODINGS The server supplies information in whatever format is desired by the client, in order to make the client as easy as possible to implement. If the client represents itself as able to use multiple formats, the server will choose one. .I Pixel format refers to the representation of an individual pixel. The most common formats are 24 and 16 bit "true\-color" values, and 8\-bit "color map" representations, where an arbitrary map converts the color number to RGB values. .I Encoding refers to how a rectangle of pixels are sent (all pixel information in VNC is sent as rectangles). All rectangles come with a header giving the location and size of the rectangle and an encoding type used by the data which follows. These types are listed below. .TP .B Raw The raw encoding simply sends width*height pixel values. All clients are required to support this encoding type. Raw is also the fastest when the server and viewer are on the same machine, as the connection speed is essentially infinite and raw encoding minimizes processing time. .TP .B CopyRect The Copy Rectangle encoding is efficient when something is being moved; the only data sent is the location of a rectangle from which data should be copied to the current location. Copyrect could also be used to efficiently transmit a repeated pattern. .TP .B RRE The Rise\-and\-Run\-length\-Encoding is basically a 2D version of run\-length encoding (RLE). In this encoding, a sequence of identical pixels are compressed to a single value and repeat count. In VNC, this is implemented with a background color, and then specifications of an arbitrary number of subrectangles and color for each. This is an efficient encoding for large blocks of constant color. .TP .B CoRRE This is a minor variation on RRE, using a maximum of 255x255 pixel rectangles. This allows for single\-byte values to be used, reducing packet size. This is in general more efficient, because the savings from sending 1\-byte values generally outweighs the losses from the (relatively rare) cases where very large regions are painted the same color. .TP .B Hextile Here, rectangles are split up in to 16x16 tiles, which are sent in a predetermined order. The data within the tiles is sent either raw or as a variant on RRE. Hextile encoding is usually the best choice for using in high\-speed network environments (e.g. Ethernet local\-area networks). .TP .B Zlib Zlib is a very simple encoding that uses zlib library to compress raw pixel data. This encoding achieves good compression, but consumes a lot of CPU time. Support for this encoding is provided for compatibility with VNC servers that might not understand Tight encoding which is more efficient than Zlib in nearly all real\-life situations. .TP .B Tight Like Zlib encoding, Tight encoding uses zlib library to compress the pixel data, but it pre\-processes data to maximize compression ratios, and to minimize CPU usage on compression. Also, JPEG compression may be used to encode color\-rich screen areas (see the description of \-quality and \-nojpeg options above). Tight encoding is usually the best choice for low\-bandwidth network environments (e.g. slow modem connections). .SH RESOURCES X resources that \fBvncrec\fR knows about, aside from the normal Xt resources, are as follows: .TP .B shareDesktop Equivalent of \fB\-shared\fR/\fB\-noshared\fR options. Default true. .TP .B viewOnly Equivalent of \fB\-viewonly\fR option. Default false. .TP .B fullScreen Equivalent of \fB\-fullscreen\fR option. Default false. .TP .B grabKeyboard Grab keyboard in full-screen mode. This can help to solve problems with losing keyboard focus. Default false. .TP .B raiseOnBeep Equivalent of \fB\-noraiseonbeep\fR option, when set to false. Default true. .TP .B passwordFile Equivalent of \fB\-passwd\fR option. .TP .B userLogin Equivalent of \fB\-user\fR option. .TP .B passwordDialog Whether to use a dialog box to get the password (true) or get it from the tty (false). Irrelevant if \fBpasswordFile\fR is set. Default false. .TP .B encodings Equivalent of \fB\-encodings\fR option. .TP .B compressLevel Equivalent of \fB\-compresslevel\fR option (TightVNC\-specific). .TP .B qualityLevel Equivalent of \fB\-quality\fR option (TightVNC\-specific). .TP .B enableJPEG Equivalent of \fB\-nojpeg\fR option, when set to false. Default true. .TP .B useRemoteCursor Equivalent of \fB\-nocursorshape\fR option, when set to false (TightVNC\-specific). Default true. .TP .B useBGR233 Equivalent of \fB\-bgr233\fR option. Default false. .TP .B nColours When using BGR233, try to allocate this many "exact" colors from the BGR233 color cube. When using a shared colormap, setting this resource lower leaves more colors for other X clients. Irrelevant when using truecolor. Default is 256 (i.e. all of them). .TP .B useSharedColours If the number of "exact" BGR233 colors successfully allocated is less than 256 then the rest are filled in using the "nearest" colors available. This resource says whether to only use the "exact" BGR233 colors for this purpose, or whether to use other clients' "shared" colors as well. Default true (i.e. use other clients' colors). .TP .B forceOwnCmap Equivalent of \fB\-owncmap\fR option. Default false. .TP .B forceTrueColour Equivalent of \fB\-truecolour\fR option. Default false. .TP .B requestedDepth Equivalent of \fB\-depth\fR option. .TP .B useSharedMemory Use MIT shared memory extension if on the same machine as the X server. Default true. .TP .B wmDecorationWidth, wmDecorationHeight The total width and height taken up by window manager decorations. This is used to calculate the maximum size of the VNC viewer window. Default is width 4, height 24. .TP .B bumpScrollTime, bumpScrollPixels When in full screen mode and the VNC desktop is bigger than the X display, scrolling happens whenever the mouse hits the edge of the screen. The maximum speed of scrolling is bumpScrollPixels pixels every bumpScrollTime milliseconds. The actual speed of scrolling will be slower than this, of course, depending on how fast your machine is. Default 20 pixels every 25 milliseconds. .TP .B popupButtonCount The number of buttons in the popup window. See the README file for more information on how to customize the buttons. .TP .B debug For debugging. Default false. .TP .B rawDelay, copyRectDelay For debugging, see the README file for details. Default 0 (off). .SH ENVIRONMENT When started with the \fB\-via\fR option, vncrec reads the \fBVNC_VIA_CMD\fR environment variable, expands patterns beginning with the "%" character, and executes result as a command assuming that it would create TCP tunnel that should be used for VNC connection. If not set, this environment variable defaults to "/usr/bin/ssh -f -L %L:%H:%R %G sleep 20". The following patterns are recognized in the \fBVNC_VIA_CMD\fR (note that all the patterns %G, %H, %L and %R must be present in the command template): .TP .B %% A literal "%"; .TP .B %G gateway host name; .TP .B %H remote VNC host name, as known to the gateway; .TP .B %L local TCP port number; .TP .B %R remote TCP port number. .SH SEE ALSO \fBvncserver\fR(1), \fBXvnc\fR(1), \fBvncpasswd\fR(1), \fBvncconnect\fR(1), \fBssh\fR(1) .SH AUTHORS Original VNC was developed in AT&T Laboratories Cambridge. TightVNC additions were implemented by Constantin Kaplinsky. Many other people participated in development, testing and support. \fBMan page authors:\fR .br Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de>, .br Terran Melconian <terran@consistent.org>, .br Tim Waugh <twaugh@redhat.com>, .br Constantin Kaplinsky <const@tightvnc.com>