UltraVNC Guide
UltraVNC Guide
UltraVNC Guide
UltraVNC Installation
Find attached notes on automating the installation.
Download UltraVNC from Sourceforge's UltraVNC file list. Start the setup and choose the installation language.
Select the components which should be installed. Note: Updating the driver is experimental and not guaranteed to work at the moment.
Select the Start Menu folder where the program's shortcuts should be placed.
Select if UltraVNC server should be registered as a system service. Select if UltraVNC service should be started or restarted. Select if MSLogon II should be configured. Select if UltraVNC Admin Properties should be configured. Select if old UltraVNC registry entries should be removed. Select if additional desktop icons should be created for UltraVNC server, viewer and repeater. o Select if files with extension .vnc should be associated with UltraVNC viewer. Specify location of ACL file. The format of the ACL file should follow the MSLogonACL specification. If no ACL file is specified, the Administrators group is configured. This works only on the English OS versions.
o o o o o o
Specify location of Properties file. The Properties file should be a valid registry file. The intention is to populate the \\HKEY_LOCAL_MACHINE\SOFTWARE\ORL key. If no Properties file is specified, no options are configured.
UltraVNC Configuration
Admin Properties
The "Admin Properties" menu item in the system tray UltraVNC icon menu refers to Default Local System Properties (service mode) or Current User Properties (application mode) and allows for customizing several areas:
Incoming connections Accept Socket Connections Should be activated for normal operation. The display number and ports to use can be configured or set to Auto which defaults to Display 0, Port 5900 and JavaViewer port 5800. The port is always Display No + 5900. Display Defaults to 0. Ports Defaults to 5900 and 5800 for HTTP. Enable JavaViewer (HTTP connect)
Allow Loopback Connections Sometimes this could be helpful for tests. Normally it's not needed since the result is not very useful. Loopback Only Needed for tests. Connections from outside are not allowed. When last client disconnects In a helpdesk scenario, you normally "Do Nothing" when disconnecting. When administering servers via remote control, you might wish to either "Lock Workstation" or "Logoff Workstation" for security reasons. Query on incoming connection If enabled, every time someone tries to connect via UltraVNC, a pop-up dialog informs the user and asks the user to either accept or refuse the attempt. Configure the timeout for the dialog window and what action should be taken if the user clicked no button until timeout. Keyboard & Mouse Some situations (e.g. presentations) require that either the viewer or the remote computer don't input keyboard or mouse events. This can be configured by "Disable Viewer inputs" or "Disable Local inputs". Multi viewer connections Here you can configure the behavior if multiple viewers attempt to connect to the same UltraVNC server. "Disconnect all existing connections" implies that only one viewer can be connected at a time and the last one wins. "Keep existing connections" allows for several viewers simultaneously. "Refuse the new connection" implies that only one viewer can be connected at a time and the first one wins. "Refuse all new connections" ?? Authentication "VNC Password" is a per-machine password and is required. Require MS Logon Activates MS-Logon I. Works on Windows 9x as well as Windows NT4/2000/XP. Requires computer and user to be in the same domain. New MS Logon Activates MS-Logon II. Allows for cross-domain authentication, i.e. computer is in domain A, user in domain B with a trust between A and B (typically in Active Directory). Works only on Windows NT4/2000/XP. Configure MS Logon Groups opens the configuration dialog for MS-Logon authorization. For MS-Logon I there is a dialog allowing to configure 3 groups.
DSM Plugin If there are any DSM (Data Stream Modification) Plugins available, their usage can be configured here. Currently there are several encryption plugins available. Miscellaneous Remove Wallpaper for Viewers
To reduce network traffic the wallpaper on the remote computer's desktop can be removed during the connection. Enable Blank Monitor on Viewer Request Allow viewers to disable the monitor if they request so. Enable File Transfer Enable the UltraVNC File Transfer. Log debug info to the WinVNC.log file Enable logging. The log file is in C:\WinNT\system32 if winvnc runs as service. The logging level can be configured in the registry. Disable Tray icon The icon in the system tray can be disabled to disallow users to change any settings. Forbid the user to close down WinVNC Disallow users to close down WinVNC. Disable clients options in tray icon menu Disable the "Properties" menu item in the system tray icon menu. Capture Alpha-Blending ?? Enable Alpha-Blending Screen Blanking Enable another method to disable the monitor. Default Server Screen Scale The server screen can be scaled down here.
Properties
The "Properties" menu item in the system tray UltraVNC icon menu refers to per user settings.
?? Poll Console Windows Only ?? Poll Window Under Cursor ?? Poll On Event Only ?? System Hook Dll Provides DDI hooking, especially on Windows 9x. Video Hook Driver The video hook driver provides high speed and low CPU load on Windows 2000/XP/2003. Check the Video Hook Driver Here you can test the video hook driver, see it's version and whether it's currently active.
Low Accuracy Get higher speed with reduced accuracy. Share only the Server Window Named Do not share the whole desktop but only the window with the specified name.
UltraVNC Usage
Find here a description on how to use UltraVNC. Beside the toolbar buttons there's a context menu with several options. In addition there are a number of hot key combinations for common tasks.
VNCViewer Toolbar
Send CTRL+ALT+DEL Toggle Full Screen Mode Show Connection Options... Refresh Screen Send 'Start' (CTRL+ESC) to host Send Custom Key Show Status Window Close Connection Hide Toolbar Buttons Toggle Remote Input and Remote Blank Monitor Open File Transfer... Select Single Window Select Full Desktop Open Chat...
File Transfer... (Hotkey CTRL+ALT+F7) Open the file transfer dialog window. Chat... (Hotkey CTRL+ALT+F8) Open the chat dialog window. Show/Hide Toolbar (Hotkey CTRL+ALT+F9) Show or hide the VNCViewer toolbar. Disable/Enable Remote Input and Monitor Disable keyboard and mouse input as well as the monitor on the remote computer. Connection options... (Hotkey CTRL+ALT+F6) Open the connection option dialog window. Connection info Open the connection info window. Request screen refresh
Redraw the screen in VNCViewer. Sometimes the display in VNCViewer misses updates or becomes corrupted. A screen refresh can then insure that VNCViewer's display and remote computer's display are in sync. View only Disables sending mouse and keyboard events from the VNCViewer to the remote computer. Various screen size options Full screen mode (hotkey CTRL+ALT+F12) displays the remote screen on the entire screen of your display. Together with a hidden toolbar this feels like sitting in front of the remote computer. Scaled viewer mode displays the scaled remote screen in a window with a user defined size. Scaled server mode generates less network traffic from server side and uses a pixel blending algorithm to optimize the display. Fuzzy screen mode combines Server and Viewer scaling to provide reasonable visual comfort and speed even over very slow connections. Auto scaling mode scales the view to fit the viewer screen. Normal screen mode (hotkey CTRL+F11) displays the remote screen 1:1. Full/256 Colors Change the color depth of the screen. Send various key combinations Send CTRL+ALT+DEL (hotkey CTRL+ALT+F4), CTRL+ESC (this opens the start menu), CTRL+Key Down, CTRL+Key Up, ALT+Key Down or ALT+Key Up. New connection... Start a new connection. Save connection info as... (Hotkey CTRL+ALT+F5) Save the options and settings of the active connection in a file. About VNC Viewer... See version and licensing information of VNCViewer.
Additional Hotkeys
Pressing ALT or CTRL send ALT/CTRL directly to the VNCServer, as if the user selected "CTRL DOWN/CTRL UP/ALT DOWN/ALT UP" from the system menu. When SCROLL-LOCK is activated, all key combinations (except CTRL+ALT+DEL) are directly sent to the remote computer:
Instead of switching applications on the client side, ALT+TAB is sent to the VNCServer. Instead of opening the start menu on the client side, CTRL+ESC is sent to the VNCServer. Instead of opening the system menu on the client side, ALT+SPACE is sent to the VNCServer. Pressing Break/Pause key toggles Full-Screen mode on or off. Pressing PRINT-Screen key requests a full screen update (same as selecting "Request Screen Refresh" from the system menu)
All the above can be disabled by turning the SCROLL-LOCK key off.
WinVNC
Running WinVNC
-service
Runs the WinVNC Service Helper app, i.e. the systray icon.
-run
WinVNC is being run as a user-level program. Multiple simultaneous instances are allowed.
-fus
WinVNC is being run as a user-level program. Warning about multiple instances is disabled.
-about
Connecting VNCViewers
-connect host[:display]
Adds a new client to an existing copy of winvnc. Needs the computer name (DNS name) or IP address and optionally the display number (separated from the host name with a colon (:).
-connect host[::port]
Adds a new client to an existing copy of winvnc. Needs the computer name (DNS name) or IP address and optionally the port number (separated from the host name with two colons (::).
-autoreconnect
Is used in conjunction with the -connect switch when having a server "back-connect" to a listening viewer. You can use it in a batch file for your clients that are behind a firewall that is not under your control. The batch file looks something like this:
"c:\program files\ultravnc\winvnc" -autoreconnect -connect 12.34.56.78
On the local computer run the viewer in "listening" mode, and have someone on the server end run the batch file. The -autoreconnect will make the server end attempt to reconnect to the listening viewer if the connection drops or is closed. It will immediately reconnect to the listening viewer if the session is closed. Close the listening viewer altogether in order to stop the server end from "autoreconnecting" to your computer. The server attempts to "autoreconnect" for only a few seconds. Note that this "autoreconnect" param must be before the "connect" one on the command line!
-kill
WinVNC SingleClick
In addition to the normal WinVNC command line parameters, WinVNC SC supports the following parameters:
-id number
Used with the repeater in mode II. Specifies a number to identify the session. In the connect parameter use the repeater's name or IP address (and the repeater's port) instead of the remote host name.
-plugin plugin
Don't store SingleClick DSM settings in the registry. Used in conjunction with the -plugin parameter.
-notrayicon
VNCviewer
VNCViewer supports numerous command line parameters which allow for configuration of nearly every aspect of the viewer.
-help, -? or -h
Start the VNCviewer in listen mode. If port is specified, the viewer listens on that port instead of ???.
-restricted
???
-viewonly
Do not enable hot keys (like CTRL+ALT+F9 for full screen mode etc.). Can be useful in case of conflict with other installed software hotkeys.
-notoolbar
Automatically scale the viewer window so that the remote screen fits at best your local screen size.
-fullscreen
Disable auto mode. Required for using the color options below or saving a custom configuration (otherwise the settings from quick options always override). -8bit, -256colors, -64colors, -8colors, -8greycolors, -4greycolors, -2greycolors Set the color depth. Fewer colors can significantly reduce the required bandwidth. Note: Grey colors only work with 32 bits color screen resolution. 16 or 24 bits color resolutions just don't work with grey colors.
-shared
Share the server with other viewers, i.e. allow several viewers to connect simultaneously to the server.
-swapmouse
???
-emulate3
???
-noremotecursor
???
-scale A/B
-emulate3timeout Timeout
???
-emulate3fuzz Emul3Fuzz
???
-disableclipboard
???
-loglevel loglevel
Set the loglevel. This can range from 0 (minimal) to 10 (maximum logging).
-console
???
-encoding encoding
Encoding is either raw, rre, corre, hextile, zlib, zlibhex, tight or ultra. Encodings are described here.
-compresslevel level
Use specified compression level (0..9) for "tight" and "zlib" encodings (Tight encoding 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.
-quality quality
Use the specified JPEG quality (0..9) for the "tight" encoding (Tight encoding 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.
-password password
Scale the display on the server side by 1/scale. For instance scale = 2 means that the remote screen dimensions are reduced by 2 ("half screen size"), reducing at the same time the amount of graphical data received by a factor 4 (2^2).
-quickoption option
-dsmplugin filename
Quick options The quick options relate to the following configuration settings:
Auto
LAN
Medium
Modem
Slow
Ultra View Only No keyboard or mouse events are sent from the viewer to the server. The server screen can only be viewed, but not controlled. Auto scaling The viewer window is automatically scaled to fit the size of your local screen. Use DSM Plugin Choose a DSM (Data Stream Modification) Plugin and configure it. To use an encryption plugin, for instance, check this option and select the plugin in the combo box. The plugin file must be in the same directory than the vncviewer.exe program. And of course, the same plugin must be used by the UltraVNC server you connect to. Proxy/Repeater Specify the repeater address here. Save connection settings as default If checked, the current settings are saved as default options in a configuration file. So next time you run the viewer, you don't have to reselect all your favorite settings.
Further viewer configuration can be done when pressing the Options button.
Format and Encoding See Encodings section below. Note: Grey colors only works with 32 bits color screen resolution. 16/24 bits color resolutions just don't work with grey colors. Mouse buttons Mouse cursor Display Miscellaneous
Encodings
This section (except Ultra encoding) is taken from TightVNC's vncviewer man page. 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. 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.
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. 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. 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. 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 sub rectangles and color for each. This is an efficient encoding for large blocks of constant color. 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. 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). 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. Tight Like Zlib encoding, Tight encoding uses zlib library to compress the pixel data, but it preprocesses 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 lowbandwidth network environments (e.g. slow modem connections). Ultra Experimental, Ultra encoding provides real time performance over a LAN by utilizing LZO compression. LZO is a data compression scheme which is suitable for data de-/compression in real-time. This means it favors speed over compression ratio.
Admin Properties
\\HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\
Properties
\\HKEY_LOCAL_MACHINE\SOFTWARE\ORL\WinVNC3\Default\
Viewer config
To be done...
Further settings
To be done...
Create installation directory (default: %Program files%\UltraVNC) and copy files to it. Add shortcuts to start menu and desktop. Associate .vnc with UltraVNC viewer by adding registry keys \\HKEY_CLASSES_ROOT\.vnc and \\HKEY_CLASSES_ROOT\VncViewer.Config. Configure Admin Properties by adding registry keys under \\HKEY_LOCAL_MACHINE\SOFTWARE\ORL\. Register winvnc service by running winvnc -reinstall. Start service by running net start WinVNC. Start systray icon by running winvnc -servicehelper. Configure MS-Logon II ACL by running MSLogonACL /i /o acl.txt.
Additional tools
FastPush FastPush is designed to push a VNC setup to a (large) number of computers. It supports UltraVNC. ...