Releases: TurboVNC/turbovnc
2.0.1
Assets
- turbovnc-2.0.1.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.4.2.
Support
Code Quality: Stable
Current Support Category: EOL
Documentation
User’s Guide for TurboVNC 2.0.1
Release Notes
Significant changes relative to 2.0:
-
When using an external SSH client with the
Via
orTunnel
parameters, the Java TurboVNC Viewer was not passing the SSH username to the external SSH client, which caused SSH authentication to fail unless the remote and local usernames were the same. This has been fixed. -
Fixed an issue whereby the TurboVNC X server was erroneously generating X11 MotionNotify events every time a mouse button was pressed or released, regardless of whether the pointer had actually moved. This caused problems with certain applications (for instance, in GNOME Terminal, text was selected when single-clicking on it rather than double-clicking or click-dragging on it.)
-
The
/desktopsize server
option now works properly with the Windows TurboVNC Viewer. -
Fixed an issue that prevented VeNCrypt authentication from working in the Java TurboVNC Viewer when connecting to a server that supports both the TightVNC and VeNCrypt security extensions.
-
Improved the GUI for specifying the X.509 CA certificate and CRL in the Java viewer, and added new command-line/applet parameters (
X509CA
andX509CRL
) that can be used to specify these files without using the GUI. -
The Java viewer will now report an error if one of the security types specified in the
SecurityTypes
parameter is invalid. This prevents hard-to-diagnose issues (such as authentication errors or the wrong security type being selected) if one of the security types is misspelled. -
The TightVNC/TurboVNC-specific "Unix Login" authentication scheme can now be enabled/disabled by using the Java TurboVNC Viewer's
SecurityTypes
parameter, similarly to other authentication schemes and VeNCrypt security types. Furthermore, theNoUnixLogin
parameter now disables the VeNCrypt *Plain security types as well as the Unix Login security type, and theUser
andSendLocalUserName
parameters now disable any of the VeNCrypt security types that don't require a username. -
The Java TurboVNC Viewer now supports (and prefers) elliptic curve ciphers when using the Anonymous TLS security types. Additionally, the Java TurboVNC Viewer now uses TLS v1.1+ by default instead of TLS v1.0.
-
Improvements to the handling of X.509 certificates in the Java TurboVNC Viewer:
- Fixed a NullPointerException that would occur when attempting to use one of the X.509 security types without specifying an X.509 certificate authority (CA) certificate.
- If the server's certificate is signed by an unknown CA, then the viewer will pop up a dialog that gives the user the option to trust the certificate for future connections.
- The viewer can now handle X.509 certificate files containing multiple concatenated certificates.
- The viewer now performs hostname verification using either the X.509 v3 subjectAltName (SAN) extension or, if SAN is not present, the subject CN field.
-
When entering full-screen mode or using the "Default Window Size/Position" feature in the TurboVNC Viewer (both Java and Windows), the viewer will now use the monitor containing the largest number of pixels from the viewer window as the "primary" monitor, for the purposes of spanning. Thus, if the viewer window is mostly contained on a monitor other than the left/top one, entering full-screen mode or setting the window to the default size/position will no longer cause the window to jump to the left/top monitor.
OS X Yosemite introduced an optional feature (enabled by default) called "Spaces", whereby each monitor occupies its own independent space when in full-screen mode (thus allowing full-screen mode to be enabled independently on each monitor.) Previously, when this feature was enabled, moving the TurboVNC Viewer window to a monitor other than the left/top one and entering full-screen mode would result in a black screen. This bug fix allows Primary spanning to work properly with Spaces, but note that no other spanning mode will work properly unless the Spaces feature is disabled.
Both viewers contain a new command-line option/parameter (
-firstmonitorisprimary
for the Windows viewer,CurrentMonitorIsPrimary=0
for the Java viewer) that allows the previous behavior (always treating the left/top monitor as the primary) to be restored. -
The Java TurboVNC Viewer now supports the BGR555 pixel format, which is reported to be necessary when connecting to some embedded devices.
-
The Java TurboVNC Viewer now encodes the clipboard as ISO-8859-1 when sending it to the server, instead of UTF-8. The RFB spec requires that the clipboard be encoded as ISO-8859-1, so it is possible that attempting to encode it as UTF-8 was causing problems with certain applications.
-
The TurboVNC Server now allows the maximum clipboard transfer size to be specified, by way of a new Xvnc argument (
-maxclipboard
). Previously the limit was hard-coded to 1 MB. Furthermore, the TurboVNC Server now truncates clipboard updates larger than the max. clipboard size instead of ignoring them. -
The Java TurboVNC Viewer now allows the maximum clipboard transfer size to be specified, by way of a new parameter (
MaxClipboard
). The Java TurboVNC Viewer now also truncates any clipboard transfers greater than MaxClipboard (which is set to 1 MB by default.) This prevents the viewer from sending clipboard data to the server that will ultimately be discarded.
2.0
Assets
- turbovnc-2.0.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.4.1. This improves performance on 64-bit Mac clients, relative to TurboVNC 2.0 beta1.
Support
Code Quality: Stable
Current Support Category: EOL
Documentation
Release Notes
Significant changes relative to 2.0 beta1:
-
A new security configuration file directive (
no-httpd
) has been introduced in order to disable the built-in HTTP server in the TurboVNC Server on a system-wide basis. -
A new security configuration file directive (
no-x11-tcp-connections
) has been introduced in order to disable X11 TCP connections to the TurboVNC Server on a system-wide basis. This is the equivalent of passing-nolisten tcp
to every instance of the TurboVNC X server running on a particular host. -
The Java TurboVNC Viewer now supports the
grabkeyboard
,resizemode
,desktopwidth
, anddesktopheight
directives in .vnc connection info files. These directives were added to the Windows TurboVNC Viewer in 2.0 beta but were left out of the Java viewer due to an oversight. -
The default
xstartup.turbovnc
script that the TurboVNC Server creates will now launch the MATE desktop on Ubuntu 15, if it is installed and if 3D window manager support is not activated. The GNOME Flashback session under Ubuntu 15 cannot be made to work properly with TurboVNC, for unknown reasons, but MATE is a better solution anyhow. -
The drawing performance of the Java TurboVNC Viewer when running under Oracle Java 7 and later on OS X has been dramatically improved (by 3-7x for 2D application workloads and 35-50% for 3D application workloads.) When running the standalone TurboVNC Viewer, Apple Java will probably still perform better on Macs running OS X 10.9 "Mavericks" and earlier, but on Macs running OS X 10.10 "Yosemite" and later, Oracle Java is now the fastest solution (Java 2D is apparently not accelerated in Apple Java 6 on these more recent OS X releases.) See the User's Guide for more details.
-
Fixed an issue whereby pressing any of the extra buttons on mice with more than 3 buttons (Microsoft calls these "X buttons") would cause the Java TurboVNC Viewer to send a left button press event to the TurboVNC Server without sending a corresponding button release event. The Java TurboVNC Viewer now ignores any X button events, since X11 doesn't support them.
1.2.90 (2.0 beta1)
Assets
- turbovnc-1.2.90.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.4.0.
Support
Code Quality: Beta
Current Support Category: EOL
Documentation
User’s Guide for TurboVNC 2.0 (Beta)
Release Notes
Significant changes relative to 1.2.3:
-
The TurboVNC X server has been completely overhauled and is now based on the unmodified Xorg 7.7 code base. This overhaul enables support for the X extensions needed by newer window managers (RANDR 1.2, Composite, XFIXES, Damage, etc.) In addition, the keyboard handler has been completely overhauled and now uses the XKEYBOARD extension. This fixes key mapping issues that occurred when running TurboVNC with certain versions of GNOME (previously, it was necessary to set an environment variable in
xstartup.turbovnc
to work around those issues.) -
Added the ability to dynamically resize the remote desktop, either through the X RANDR extension on the server or remotely from a VNC viewer that supports the RFB desktop size extensions. Both TurboVNC viewers now also include an "automatic desktop resize" feature that will resize the remote desktop so that it always fits exactly in the viewer window without using scrollbars. A new
max-desktop-size
directive is provided in the TurboVNC security configuration file in order to allow a maximum desktop size to be specified for all TurboVNC sessions on a given host. -
The X11 TurboVNC Viewer has been retired and replaced with the Java TurboVNC Viewer. The X11 viewer will continue to be maintained in the 1.2.x branch on a break/fix basis only. The Java viewer provides similar performance to the X11 viewer when remotely displaying 3D application workloads to a reasonably modern client machine.
-
The Java TurboVNC Viewer, when run as an applet, can now be displayed to an embedded frame in a web page rather than a dedicated window. This restores a feature of the TurboVNC 1.1 Java viewer that was lost in 1.2. Full-screen mode and scaling do not work when the viewer is run as an embedded applet.
-
vncconnect
now uses the VNC X extension to establish a reverse connection, rather than setting a root window property on the VNC X server. This makes TurboVNC's implementation ofvncconnect
compatible with RealVNC and TigerVNC servers, and the return status ofvncconnect
now reflects whether the reverse connection was successfully made.vncconnect
also now has a-disconnect
option, which can be used to disconnect all listening viewers. -
Since Apple is discontinuing their distribution of Java in favor of Oracle's (which doesn't work on Snow Leopard and earlier), we now provide two Mac packages-- one that works with Leopard and later and uses Apple's version of Java, and one that works with Lion and later and uses the Oracle Java plug-in.
-
When running in listen mode, the Java TurboVNC Viewer now displays a tray icon with a popup menu similar to that of the Windows native viewer. This allows the listener to be shut down, for global options to be set for all connections, and for new forward connections to be made without using the command line or launching another viewer instance.
-
The default
xstartup.turbovnc
script that the TurboVNC Server creates will now properly launch the GNOME fallback window manager on Ubuntu 14.04, if 3D window manager support is not activated. -
Interframe comparison and Compression Level 2 can now be selected in the TurboVNC Viewer GUI. Also, a new command-line option/parameter (
CompatibleGUI
) can now be used to force the GUI to expose all 10 compression levels (useful when connecting to non-TurboVNC servers.) -
The Interframe Comparison Engine (ICE) now compares large framebuffer update rectangles on a block-by-block basis, which prevents the entire rectangle from being sent if only a small portion of it has changed. The default block size is 256x256 but can be changed using the
TVNC_ICEBLOCKSIZE
environment variable (for instance,TVNC_ICEBLOCKSIZE=128
would use 128x128 blocks.) -
By default, the embedded HTTP server in the TurboVNC Server will now serve up a JNLP (Java Web Start) file for the session instead of an applet. You can add
/applet
to the URL to instruct the HTTP server to serve up an applet instead. The official TurboVNC packages for Linux also include the native JAR files necessary to deliver the libjpeg-turbo JNI library to Windows, Linux, and OS X clients (when using Java Web Start.) -
vncconnect
can now be used to connect a TurboVNC session to an instance of the UltraVNC Repeater in Mode II. -
The
Via
andTunnel
parameters in the Java TurboVNC Viewer (which allow specifying an SSH or UltraVNC Repeater gateway through which the VNC connection should be tunneled) can now be configured using the Options dialog. -
On Un*x/X11 platforms, a small JNI library (turbovnchelper) is now deployed alongside the Java TurboVNC Viewer in order to work around full-screen mode deficiencies in Java (specifically, under certain window managers, the taskbars would appear on top of the full-screen window.) Because the turbovnchelper library depends on libjawt.so, it is unfortunately not easy to deploy it using Java Web Start, so it is currently only used when the viewer is launched as a standalone application (using the
vncviewer
script.) -
The
NoNewConn
parameter in the Java TurboVNC Viewer will now disable the "Close Connection" option in the F8 menu and the "Disconnect" button in the toolbar as well (useful for web portals, particularly when using the new embedded applet mode.) -
On Un*x/X11 platforms, the Java TurboVNC Viewer can now grab the keyboard when run as a standalone application. This allows special key sequences, such as Alt-Tab, to be sent to the server. The pointer can also be optionally grabbed, which allows special keyboard + pointer sequences (such as Alt-{drag}), to be sent to the server as well. This feature requires the aforementioned TurboVNC Helper library.
-
The Java TurboVNC Viewer will now offer an option to reconnect if the connection fails for any reason.
-
The Windows native TurboVNC Viewer no longer exposes the Double Buffering option in its Options dialog. The option was removed mainly to make room for the Desktop Size combo box, but also, single buffering is rarely used and is mostly a legacy feature. Double buffering can still be disabled via the
/singlebuffer
command-line switch or by specifyingdoublebuffer=0
in a VNC connection file. -
/etc/turbovncserver-auth.conf (the "authentication configuration file") has been renamed to /etc/turbovncserver-security.conf (the "security configuration file") to reflect the fact that it allows configuration of more than just authentication methods.
1.2.3
Assets
- turbovnc-1.2.3.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.4.0.
Support
Code Quality: Stable
Current Support Category: EOL
Documentation
User’s Guide for TurboVNC 1.2.3
Release Notes
Significant changes relative to 1.2.2:
-
Fixed an issue whereby the Java TurboVNC Viewer would not enable the OS X Lion full-screen mode feature on OS X 10.10 "Yosemite".
-
Fixed a regression introduced in 1.2.2 that caused a non-fatal NullPointerException in the Java TurboVNC Viewer whenever the scaling factor was changed in the options dialog.
-
Fixed an issue in the Java TurboVNC Viewer whereby the toolbar would sometimes appear all black or be overwritten by the initial framebuffer update when running under Java 7 and later.
-
Fixed an issue whereby the Java TurboVNC Viewer would unnecessarily add scrollbars to the viewer window if the remote desktop was exactly large enough to fit in the window without using scrollbars.
-
Fixed an issue whereby the
/grabkeyboard
,/scale
, and/span
command-line parameters to the Windows TurboVNC Viewer could not be specified in uppercase. -
The Windows TurboVNC Viewer now supports scaling factors > 200.
-
Java 7 and later on Mac platforms no longer include a hardware-accelerated 2D blitter for Java 2D, opting instead to use only OpenGL for image drawing. When using the default pixel format (BGRX), this is incredibly slow on some Macs, because the OpenGL blitter is having to set all of the alpha values to 255 (opaque.) Thus, the Java TurboVNC Viewer will now automatically use an alpha-enabled pixel format (BGRA) for its back buffer if it detects that it is running on a Mac with Java 7 or later (which will generally be the case when the viewer is deployed as an applet or using Java Web Start.) This improves drawing performance by as much as 4-5x on certain Mac models, although the drawing performance with Apple Java 6 is still going to be faster than with Java 7 or later. The Java TurboVNC Viewer will also now automatically use an alpha-enabled pixel format on non-Mac platforms if it detects that OpenGL Java 2D blitting is being selected (normally accomplished by setting the
sun.java2d.opengl
system property totrue
.)The
turbovnc.forcealpha
Java system property can be used to override the default behavior described above (refer to User's Guide.) -
Normally, Java 2D uses Direct3D by default for blitting (image drawing) on Windows platforms, but GDI blitting is almost always faster (sometimes much faster.) Thus, the Java TurboVNC Viewer now attempts to disable Direct3D blitting on Windows unless it is specifically requested (which can be accomplished by setting the
sun.java2d.d3d
system property totrue
.) Because Direct3D blitting can't be disabled programmatically under Java 6 and earlier, thevncviewer-java.bat
script and the Windows start menu shortcut now pass-Dsun.java2d.d3d=false
to java to ensure that Direct3D blitting is always disabled when the Java TurboVNC Viewer is run as a standalone application. -
Improved the Tight decoding performance in the Windows TurboVNC Viewer by 5-15%.
-
Since the Java TurboVNC Viewer already has its own double buffering mechanism, it now disables double buffering in Java 2D. The primary advantage of this is that MIT-SHM pixmap support is no longer required on Un*x platforms in order to achieve optimal performance. This also makes the viewer faster on some systems. On Windows, the Java viewer is now as fast as or faster than the native viewer as a result of this change and [8]. You can set the
turbovnc.swingdb
system property totrue
to restore the old behavior. -
Fixed multiple issues in the Java TurboVNC Viewer related to full-screen mode and desktop resizing and the interaction thereof.
- When in full-screen mode, the viewer would sometimes abort with "Destination buffer is not large enough" if the remote desktop size was increased.
- When in full-screen mode, the viewer would sometimes exit full-screen mode without re-entering it if the remote desktop size was changed. This was particularly known to be a problem when using full-screen mode on OS X 10.7 or later.
- Fixed a couple of other timing-related issues (race conditions) that could sometimes occur when resizing the window or entering/exiting full-screen mode. These issues would cause non-fatal exceptions or other unexpected behavior.
- When resizing the window to the default size, the viewer would sometimes leave a border around the remote desktop if the remote desktop size was less than the local desktop size.
- The viewer window will now be automatically resized to the default size/position whenever the span mode is changed.
-
The Java TurboVNC Viewer will no longer attempt to send a desktop resize message to servers that don't support it. This fixes a "Broken pipe" error that occurred when the
-desktopsize
parameter was used when connecting to the TurboVNC 1.2.x Server (or earlier versions.) -
Fixed multiple issues in the Windows TurboVNC Viewer related to full-screen mode, desktop resizing, spanning, scaling, and the interaction thereof.
- When in full-screen mode, resizing the remote desktop sometimes produced unexpected results, such as residual images of the old remote desktop appearing around the borders of the new desktop.
- The calculations for automatic spanning now take into account whether scaling is enabled. Previously, the decision as to whether to span the window across one screen or multiple screens was based on the unscaled remote desktop size.
- When scaling is enabled, the default window position/size is now computed correctly. Previously, it was computed based on the unscaled remote desktop size.
- The viewer window will now be automatically resized to the default size/position whenever the span mode or scaling factor is changed, or whenever the remote desktop size changes.
-
On Un*x/X11 platforms, the Java TurboVNC Viewer will now send and set the PRIMARY clipboard selection by default (thus enabling middle mouse button copy/paste between the server and the client.) This can be disabled by setting the
turbovnc.primary
system property tofalse
. -
The Java TurboVNC Viewer can now optionally use an external SSH client when the
ExtSSH
parameter is set to1
. The full SSH command line can also be specified using theVNC_VIA_CMD
andVNC_TUNNEL_CMD
environment variables, as with the native viewers. See the TurboVNC User's Guide for more details. -
All JAR files in the official TurboVNC packages for Linux are signed using an official code signing certificate, to comply with applet/JWS security requirements in Java 7u51 and later.
-
The
vncviewer-java.bat
andvncviewer-javaw.bat
scripts, which are used to launch the Java TurboVNC Viewer on Windows systems, did not work unless the current directory was the TurboVNC install directory. This has been fixed. -
Sending Alt+{letter} key sequences to the server (for instance, to pop up one of the menus in an application) did not work properly when using the Java TurboVNC Viewer. This has been fixed.
1.2.2
Assets
- turbovnc-1.2.2.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.3.1.
Support
Code Quality: Stable
Current Support Category: EOL
Documentation
User’s Guide for TurboVNC 1.2.2
Release Notes
Significant changes relative to 1.2.1:
-
The Xvnc build system has been completely refactored and now uses CMake, just like the rest of TurboVNC. This makes the build somewhat more intuitive (for instance,
make xserver
is no longer necessary when building Xvnc), and it fixes various problems with cross-compiling. -
Xvnc can now be built and run successfully on OS X and PowerPC platforms.
-
The default DPI of the X server has been changed to 96, to match that of recent X.org releases and other VNC implementations. This may make fonts appear larger than in previous TurboVNC releases. Passing an argument of
-dpi 75
tovncserver
restores the old behavior. -
When the server is run with a depth of 8, PseudoColor visuals now work properly (previously, the correct colormap was not always used.) The server now uses a PseudoColor visual as the default for depth=8, which matches the behavior of other VNC solutions.
-
Added a security option to the Java TurboVNC Viewer that, when enabled, will prevent the user from opening any new VNC connections from within the same viewer instance. In listen mode, this will further cause the viewer to exit after the first connection is closed.
-
Added a profiling feature to the Java TurboVNC Viewer.
-
The libjpeg-turbo JNI libraries are now deployed with the Java TurboVNC Viewer on Un*x and Windows, so it is no longer necessary to install the libjpeg-turbo SDK on those platforms in order to get accelerated JPEG decompression.
-
Fixed a couple of cosmetic issues with the automatic lossless refresh feature:
- If the source of a CopyRect operation was affected by lossy compression (meaning that the destination of the operation will become lossy as well), then the destination region is now ALR-eligible. This can be overridden by setting the environment variable
TVNC_ALRCOPYRECT
to0
. - Previously, if
TVNC_ALRALL=0
, a PutImage operation would trigger an ALR on all lossy regions of the display, even those that weren't drawn using a PutImage operation. This has been fixed.
- If the source of a CopyRect operation was affected by lossy compression (meaning that the destination of the operation will become lossy as well), then the destination region is now ALR-eligible. This can be overridden by setting the environment variable
-
The Mac packaging system now uses pkgbuild and productbuild rather than PackageMaker (which is obsolete and no longer supported.) This means that OS X 10.6 "Snow Leopard" or later must be used when packaging TurboVNC, although the packages produced can be installed on OS X 10.5 "Leopard" or later. OS X 10.4 "Tiger" is no longer supported.
-
Fixed various usability issues related to the display of dialogs in the Java TurboVNC Viewer:
- The ability to control the Options dialog with the keyboard was lost after the first time the dialog was popped up and dismissed.
- When running as an applet, clicking away from some of the dialogs would, in some cases, send the dialog to the back of the window stack, making it difficult to recover.
- When running under Java 7 on Linux, dialogs that are not attached to a window (including the New Connection, Authentication, and SSH dialogs) were not showing up in the task switcher, so accidentally clicking away from one of those dialogs would send it to the back of the window stack, and Alt-Tab could not be used to recover it.
- When running in full-screen mode on Linux/GNOME, popping up the Options or Clipboard dialogs would cause the viewer to temporarily exit full-screen mode.
-
Fixed an issue in the Java TurboVNC Viewer whereby, when running as an applet, it would not read the applet parameters if an SSH connection error was encountered and the applet was reloaded in the browser.
-
The
AlwaysShowConnectionDialog
parameter is now automatically disabled in the Java TurboVNC Viewer whenever SSH tunneling is enabled. This prevents an issue whereby the "New TurboVNC Connection" dialog would pop up and display "localhost:{some random port}" after SSH authentication was completed, thus causing confusion. -
The Java TurboVNC Viewer was not displaying dialogs from its built-in SSH client, which caused the SSH client to fail if the host was not in the known hosts file. This has been fixed.
-
If the TurboVNC Server receives a clipboard update larger than 1 MB from a connected viewer, it will now ignore the update instead of disconnecting the viewer.
-
The Java TurboVNC Viewer can now be used to connect to UltraVNC Repeater instances. Refer to the documentation for the
Via
parameter for more details. -
Fixed an issue in the Java TurboVNC Viewer whereby, if a connection was established using SSH tunneling and another connection was then opened, the viewer would fail to exit after all of these connections were subsequently closed.
-
Fixed an issue in the
vncserver
script whereby the TurboVNC Server would give an "Unrecognized option" error and fail to launch if the server was built without the optional Java viewer. -
Fixed a regression in the "automatic" spanning mode of the Windows TurboVNC Viewer introduced in TurboVNC 1.2. Ever since that release, "automatic" spanning mode has been behaving just like "primary" mode.
-
Fixed a segfault in Xvnc that would occur whenever a viewer that was using ZRLE encoding disconnected.
-
The following improvements have been made to The TurboVNC Server init script:
- The script now looks for the tvncservers file under
@TVNC_CONFDIR@/sysconfig
(where@TVNC_CONFDIR@
is the directory specified in theTVNC_CONFDIR
CMake variable) in addition to under /etc/sysconfig. This allows the script to work properly when installed in an arbitrary directory. - When invoked with the
start
argument, the script now attempts to start only those TurboVNC sessions specified in the tvncservers file that have not yet been started. If all sessions in the tvncservers file have been started, then the script does nothing. To be consistent with other init scripts, a success message is not printed/logged unless one or more TurboVNC sessions is actually started successfully, and a failure message is not printed/logged unless one or more TurboVNC sessions fails to start. - When invoked with the
start
argument, the script will no longer abort if a TurboVNC session fails to start. It will attempt to start the other sessions. - When invoked with the
reload
argument, the script will now stop any running TurboVNC sessions not specified in the tvncservers file and start any sessions specified in the tvncservers file that aren't running. - Fixed a bug whereby, if an error occurred when starting a TurboVNC session, the error was not properly logged to the system error log.
- The script should now work on Red Hat Enterprise/CentOS 7 and recent Fedora releases.
- The script now looks for the tvncservers file under
-
The
restricted
,nounixlogin
, anduser
options in the Windows TurboVNC Viewer are no longer persistent from one session to the next. Because those options can only be specified on the command line or in a connection info file, automatically restoring their previous values for subsequent connections to the same host and display number led to confusing behavior. The viewer would apply the previous value of the option, thus changing the viewer's behavior, but there was no way to visually confirm why the behavior had been changed or to change it back (unless you knew the corresponding command-line counter-curse, butrestricted
actually didn't have one. Oops.) Theencoding
and8bit
options have been non-persistent for quite some time, for this same reason.
1.2.1
Assets
- turbovnc-1.2.1.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.3.0.
Support
Code Quality: Stable
Current Support Category: EOL
Documentation
User’s Guide for TurboVNC 1.2.1
Release Notes
Significant changes relative to 1.2:
-
Fixed two regressions introduced in TurboVNC 1.0, one of which prevented older (RFB <= 3.3) VNC viewers from connecting successfully to the TurboVNC Server and the other of which prevented viewers other than TurboVNC and TightVNC from connecting to the TurboVNC Server using no authentication.
-
Added a new parameter (
EncPassword
) to the Java TurboVNC Viewer that allows the password to be specified in encrypted ASCII hex. -
The toolbar buttons in the Java TurboVNC Viewer that send keystrokes are now disabled when view-only mode is selected.
-
Enabled the MIT-SCREEN-SAVER X extension in the TurboVNC Server. Modern screen savers don't actually use this extension, but it provides an easy way for applications to query the idle time of the X server.
-
Fixed a regression introduced in 1.2 beta1 whereby the TurboVNC Viewer desktop shortcut installed with the Linux RPM did not work properly.
-
Fixed a bug in the Java TurboVNC Viewer's RRE decoder that was causing pixels to be displayed incorrectly.
-
Pressing F8 (or the chosen menu key) twice in the Java TurboVNC Viewer now sends that keystroke to the VNC server. This emulates the behavior of the X11 viewer.
-
Added an option to
vncserver
that allows the output of Xvnc to be redirected to an arbitrary file. -
Implemented the X RANDR extension in the TurboVNC Server. The main purpose of this at the moment is to placate applications that check for the extension and refuse to start without it. The extension currently can't be used to change the screen size (that feature will be in TurboVNC 2.0.)
-
Fixed an issue in the Java TurboVNC Viewer whereby, when a mouse button was pressed, pressing another button or activating the scroll wheel would cause the viewer to send a release event for the first button.
-
Fixed an issue whereby the X11 TurboVNC Viewer would fail to authenticate if the encrypted password stored in the connection info file started with "00".
-
Fixed an invalid memory access that occurred in the TurboVNC Server after a viewer disconnected. This had the visible effect of causing an error ("Could not disable TCP corking: Bad file descriptor") to be printed to the TurboVNC Server's log, but it was not known to cause any other issues.
-
Fixed an issue that prevented clipboard transfer from working properly with applications that request the clipboard selection in a non-ASCII format. This was specifically known to affect
rxvt-unicode
. -
The Windows TurboVNC Viewer should now build properly with Visual Studio 2012.
-
The "Uninstall TurboVNC" app should once again work on OS X 10.5.
-
Added two new command-line options to PuTTY,
-L4
and-L6
. These work just like-L
, except that-L4
forces PuTTY to use an IPv4 interface for the client side of the SSH tunnel, and-L6
forces PuTTY to use an IPv6 interface for the client side of the SSH tunnel. -
Worked around an issue whereby the Java/Mac TurboVNC Viewer would abort with "InStream max string length exceeded" when connecting to recent versions of the RealVNC Server. This was due to a protocol conflict. Apparently, RealVNC uses pseudo-encoding number -311 for their CursorWithAlpha extension, but TigerVNC uses -311 for ClientRedirect. At least for now, ClientRedirect has been disabled in the Java TurboVNC Viewer by default, but there is a new hidden parameter (
ClientRedirect
) that can be set to1
to re-enable it. -
Due to an oversight, the 3-button mouse emulation feature in the Windows TurboVNC Viewer was being enabled by default. This has been fixed. 3-button mouse emulation is largely unnecessary with modern systems, and the feature is known to cause issues with certain applications.
1.2
Assets
- turbovnc-1.2.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.3.0.
Support
Code Quality: Stable
Current Support Category: EOL
Documentation
Release Notes
Significant changes relative to 1.2 beta1:
-
The Mac TurboVNC Viewer no longer has a separate menu for the "About" and "Preferences" options. As is the case with most Mac applications, these options are now accessed from the application menu.
-
Opening VNC viewer connection info (.vnc) files in the OS X Finder or dragging and dropping them onto the Mac TurboVNC Viewer icon now works properly. Additionally, if a connection is already open, dragging and dropping a .vnc file onto the Mac TurboVNC Viewer icon will now open a new connection.
-
VNC viewer connection info (.vnc) files can now be opened in Windows by dragging and dropping them onto the Windows TurboVNC Viewer icon.
-
The Java TurboVNC Viewer can now be built and run with Java 5. Consequently, the Mac TurboVNC Viewer now works with the version of Java shipped with OS X 10.4 and 10.5.
-
Previously, when using the Java TurboVNC Viewer on Mac platforms, the menu bar was still visible in full-screen mode, and the dock was still visible if it was not set to auto-hide. The Java/Mac TurboVNC Viewer now takes advantage of the OS X Lion full-screen feature, if available, to provide a "true" full-screen mode on OS X 10.7 and later. On OS X 10.6 and earlier, the behavior is unchanged.
-
Fixed a regression in the new Java TurboVNC Viewer whereby, when used as an applet, specifying a host other than the web server in the
Server
parameter had no effect. -
Fixed various key mapping issues in the Java TurboVNC Viewer:
- The viewer now differentiates between the numeric keypad versions of the navigation keys (Home, End, etc.) and their equivalents on the main keyboard.
- The viewer now differentiates between the left and right versions of the modifier keys (Alt, Ctrl, etc.)
- The viewer now properly handles the AltGr key on international keyboards.
- Left Alt key sequences on Mac clients can now be used to activate pull-down menus on Linux/Windows servers.
- The Apple keys on Macintosh keyboards can now be used as Windows keys when connecting to Linux and Windows servers.
-
The Windows TurboVNC Viewer now properly differentiates between the numeric keypad versions of the navigation keys (Home, End, etc.) and their equivalents on the main keyboard.
-
Fixed a minor issue in the Windows TurboVNC Viewer whereby it would trigger an Alt keypress on the remote desktop whenever an AltGr key symbol was typed repeatedly.
-
Added LSB headers to the TurboVNC Server init.d script (
tvncserver
) in order to avoid insserv errors/warnings with recent Debian releases. -
The TurboVNC Server can now build its font path from a font catalogue, on systems that support them (such as RHEL 6.)
vncserver
will now check for the existence of a font catalogue at /etc/X11/fontpath.d and use it if it exists. For systems that do not support font catalogues,vncserver
will now check for the existence of the Liberation fonts (used by LibreOffice) and the Ghostscript fonts and add them to the fontpath. -
Fixed an error that occurred when running
/etc/init.d/tvncserver stop
with an empty /etc/sysconfig/tvncservers file. -
Fixed an issue whereby the X11 TurboVNC Viewer would fail with an error message of "Password stored in connection info file is invalid" when loading a connection info file in which the encrypted password contained "00".
-
Fixed an issue with the multi-monitor spanning feature in the Mac/Java TurboVNC Viewer whereby the remote desktop would appear on the secondary monitor instead of the primary monitor when the span mode was set to "Primary" (or when the span mode was set to "Auto" and the remote desktop area was less than the primary monitor area.)
-
Fixed Xvnc build errors on Solaris and FreeBSD.
-
The X11 TurboVNC Viewer will now temporarily ungrab the keyboard if the viewer window loses focus while the keyboard is grabbed (when not in full-screen mode, this can happen if the user clicks on another window, or if a notification dialog from the window manager pops up.)
-
Fixed TurboVNC Server build issues that occurred under Ubuntu 13.04 (and possibly other new Linux distros.)
-
The default
xstartup.turbovnc
script that the TurboVNC Server creates will now use the GNOME fallback window manager on Ubuntu 12.10 and later, assuming that the gnome-session-fallback package is installed. TurboVNC cannot use Unity 3D (yet), and Unity 2D was removed in Ubuntu 12.10 and later. -
Fixed a segfault that occurred when starting the TurboVNC Server on Ubuntu 13.04 and Fedora 18 (and possibly other new Linux distros.)
-
The X11 TurboVNC Viewer will now automatically release the modifier keys if the viewer window loses focus. This fixes an issue whereby using Alt-Tab to switch windows would leave the Alt key in a pressed state on the server.
-
The Java TurboVNC Viewer was ignoring the
PORT
parameter when SSH tunneling was enabled. This has been fixed. -
Fixed an issue whereby the Java TurboVNC Viewer window would not close if the server disconnected and the viewer was either running in listen mode or it had more than one connection open.
-
Since there is no way to see the console output in a Java Web Start environment or when starting the Java TurboVNC Viewer from an icon, it is difficult or impossible in such cases to debug errors that are only displayed to the console. Thus, the Java TurboVNC Viewer now displays all errors both to the console and in an error dialog.
-
Fixed an issue in the Java TurboVNC Viewer whereby pressing Alt-Tab would change the keyboard focus to another window but would not bring the other window to the top. This was originally a feature, not a bug, and was meant to be a stopgap substitute for a proper keyboard grabbing feature, but the behavior causes confusion and does not achieve the primary goal that a keyboard grabber should achieve (sending special keystrokes to the server.)
-
Fixed an issue in the TurboVNC Server whereby the value of
$desktopName
was being ignored if it was present in the TurboVNC config file.
1.1.95 (1.2 rc)
Assets
- turbovnc-1.1.95.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.3 beta1.
Support
Code Quality: Release Candidate
Current Support Category: EOL
Documentation
User’s Guide for TurboVNC 1.2 (Release Candidate)
Release Notes
Significant changes relative to 1.2 beta1:
-
The Mac TurboVNC Viewer no longer has a separate menu for the "About" and "Preferences" options. As is the case with most Mac applications, these options are now accessed from the application menu.
-
Opening VNC viewer connection info (.vnc) files in the OS X Finder or dragging and dropping them onto the Mac TurboVNC Viewer icon now works properly. Additionally, if a connection is already open, dragging and dropping a .vnc file onto the Mac TurboVNC Viewer icon will now open a new connection.
-
VNC viewer connection info (.vnc) files can now be opened in Windows by dragging and dropping them onto the Windows TurboVNC Viewer icon.
-
The Java TurboVNC Viewer can now be built and run with Java 5. Consequently, the Mac TurboVNC Viewer now works with the version of Java shipped with OS X 10.4 and 10.5.
-
Previously, when using the Java TurboVNC Viewer on Mac platforms, the menu bar was still visible in full-screen mode, and the dock was still visible if it was not set to auto-hide. The Java/Mac TurboVNC Viewer now takes advantage of the OS X Lion full-screen feature, if available, to provide a "true" full-screen mode on OS X 10.7 and later. On OS X 10.6 and earlier, the behavior is unchanged.
-
Fixed a regression in the new Java TurboVNC Viewer whereby, when used as an applet, specifying a host other than the web server in the
Server
parameter had no effect. -
Fixed various key mapping issues in the Java TurboVNC Viewer:
- The viewer now differentiates between the numeric keypad versions of the navigation keys (Home, End, etc.) and their equivalents on the main keyboard.
- The viewer now differentiates between the left and right versions of the modifier keys (Alt, Ctrl, etc.)
- The viewer now properly handles the AltGr key on international keyboards.
- Left Alt key sequences on Mac clients can now be used to activate pull-down menus on Linux/Windows servers.
- The Apple keys on Macintosh keyboards can now be used as Windows keys when connecting to Linux and Windows servers.
-
The Windows TurboVNC Viewer now properly differentiates between the numeric keypad versions of the navigation keys (Home, End, etc.) and their equivalents on the main keyboard.
-
Fixed a minor issue in the Windows TurboVNC Viewer whereby it would trigger an Alt keypress on the remote desktop whenever an AltGr key symbol was typed repeatedly.
-
Added LSB headers to the TurboVNC Server init.d script (
tvncserver
) in order to avoid insserv errors/warnings with recent Debian releases. -
The TurboVNC Server can now build its font path from a font catalogue, on systems that support them (such as RHEL 6.)
vncserver
will now check for the existence of a font catalogue at /etc/X11/fontpath.d and use it if it exists. For systems that do not support font catalogues,vncserver
will now check for the existence of the Liberation fonts (used by LibreOffice) and the Ghostscript fonts and add them to the fontpath. -
Fixed an error that occurred when running
/etc/init.d/tvncserver stop
with an empty /etc/sysconfig/tvncservers file. -
Fixed an issue whereby the X11 TurboVNC Viewer would fail with an error message of "Password stored in connection info file is invalid" when loading a connection info file in which the encrypted password contained "00".
-
Fixed an issue with the multi-monitor spanning feature in the Mac/Java TurboVNC Viewer whereby the remote desktop would appear on the secondary monitor instead of the primary monitor when the span mode was set to "Primary" (or when the span mode was set to "Auto" and the remote desktop area was less than the primary monitor area.)
1.1.90 (1.2 beta1)
Assets
- turbovnc-1.1.90.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.3 beta1.
Support
Code Quality: Beta
Current Support Category: EOL
Documentation
User’s Guide for TurboVNC 1.2 (Beta)
Release Notes
Significant changes relative to 1.1:
-
Modified the default
xstartup.turbovnc
script so that it loads the 2D rather than the 3D version of the window manager on recent Ubuntu systems. This specifically fixes an issue whereby the Unity window manager in Ubuntu 12.04 would not display its menus. -
Added a command-line switch (
-norender
) to Xvnc that can be used to disable the X RENDER extension. -
Added a command-line option (
-xstartup
) tovncserver
that allows a custom startup script to be specified. This is useful along with the-fg
switch, because it allows a full-screen application to be launched without a window manager and causes the TurboVNC session to terminate when the application exits. -
The Java TurboVNC Viewer has been completely rewritten and now supports most of the features of the TurboVNC native viewers, as well as all of the features of, and a rich GUI inspired by, the TigerVNC 1.2 Java viewer. In addition, the new Java TurboVNC Viewer has the ability to use libjpeg-turbo via JNI to decompress JPEG images, giving it levels of performance approaching the native viewers. It also has an embedded SSH client and fully-integrated support for SSH tunneling. The new Java viewer now replaces the X11 TurboVNC Viewer on Mac systems, since it has higher overall performance on that platform (due to performance limitations of XQuartz) and much better usability.
-
IPv6 support
-
Implemented v0.10 of the X RENDER extension, to address compatibility problems with newer applications that assumed v0.10 functionality was available without checking for it.
-
Overhauled the build and packaging system. All platforms now use CMake, and the Java code can be built either as part of a Unix or Windows build or as a stand-alone project.
-
Renamed the resource file for the X11 TurboVNC Viewer to Tvncviewer to avoid conflicts with TightVNC. This specifically fixes an issue whereby the TurboVNC Viewer would display its menus and titlebar incorrectly when running on a system that had the TightVNC Viewer installed.
-
The Windows TurboVNC Viewer now accepts a scaling factor of
fixedratio
when using the/scale
switch on the command line. This was previously called "Auto" in the GUI, but the name was changed to match the Java TurboVNC Viewer. -
All default options in the X11 TurboVNC Viewer now have a command-line equivalent, which is useful in case the defaults are overridden using a resource file.
-
Added a keyboard grabbing feature to the Windows TurboVNC Viewer so that it can optionally send special keystrokes (Alt-Tab, Ctrl-Esc, Menu key, etc.) to the VNC server. The default behavior of this option is to enable grabbing only in full-screen mode (as the X11 TurboVNC Viewer already did), but a command-line option (
-grabkeyboard
) can be used to configure keyboard grabbing to be always on or always off. Additionally, grabbing can always be turned on/off by pressing CTRL-ALT-SHIFT-G. The X11 TurboVNC Viewer has been extended to support the same functionality. -
Where possible, the naming of command-line options, resources, menu options, and parameters has been reconciled among the Windows, X11, and Java TurboVNC Viewers.
-
The multi-screen window spanning feature in the Windows TurboVNC Viewer should now behave properly when fixed-ratio scaling is used.
-
Fixed a logic error in the "automatic" spanning mode of the Windows TurboVNC Viewer, whereby it would try to extend the remote desktop window horizontally across multiple screens if the remote desktop height was taller than the local screen but the width was the same.
-
The Windows TurboVNC Viewer will now return a non-zero exit status if it encounters an error. This allows batch scripts to start the viewer with
start /wait
and check its exit status. -
The
/password
option in the Windows TurboVNC Viewer should now work again. -
Fixed an intermittent failure with the idle timeout feature in the TurboVNC Server. This failure was caused by the fact that the X server used a 32-bit value to store the number of milliseconds since 1970, and this value was wrapping around to 0 every 49 days. If a TurboVNC session was started near the end of one of these 49-day cycles and the idle timeout was set for several days into the future, the expiration value for the timer would wrap around and become lower than the current time, thus causing the TurboVNC Server to exit.
-
Worked around a bug in the version of TigerVNC Server that ships with Red Hat/CentOS 6, whereby dragging links from Firefox (running on the remote desktop) to the remote desktop would cause the X11 TurboVNC Viewer to crash.
-
Added support for the RFB flow control extensions developed by the TigerVNC Project. Clients that support these extensions (including TurboVNC 1.2 and later and TigerVNC 1.2 and later) can receive updates from the server without having to explicitly request them, which improves performance on high-latency networks.
-
The titlebar of all flavors of the TurboVNC Viewer now displays the last encoding received from the server rather than the requested encoding. This is useful when connecting to RealVNC and other servers that do not support Tight encoding.
-
Implemented an interframe comparison engine (ICE) in the TurboVNC Server, which prevents duplicate framebuffer updates from being sent as a result of an application drawing the same thing over and over again. The ICE will normally be enabled when Compression Level 5 or above is requested by a VNC viewer, but you can also enable/disable it manually by passing command-line arguments to Xvnc.
-
Added experimental (and currently undocumented) support for the
-via
and-tunnel
command-line options to the Windows TurboVNC Viewer. These work the same way as the equivalent options in the X11 TurboVNC Viewer. Currently, they require Cygwin SSH, since PLink does not have the ability to detach its process after authentication.
1.1
Assets
- turbovnc-1.1.tar.gz is the official source tarball for this release. The automatically generated "Source code" assets are not supported.
- Refer to https://TurboVNC.org/Downloads/DigitalSignatures for information regarding the methods used to sign the files in this release and instructions for verifying the signatures.
- The binary packages were built with libjpeg-turbo 1.2.0.
Support
Code Quality: Stable
Current Support Category: EOL
Documentation
Release Notes
Significant changes relative to 1.1 beta1:
-
Improved the behavior of the automatic lossless refresh feature so that it doesn't send an ALR for screen regions that were sent using JPEG but then re-sent using a lossless subencoding (such as color index) prior to the ALR being triggered.
-
Previously, empty cursors were not encoded correctly by the TurboVNC Server, and this caused some VNC viewers (notably, TigerVNC) to render a system default cursor instead of the empty cursor. This has been fixed.
-
Fixed the rendering of empty cursors in the X11 TurboVNC Viewer. This also fixed an issue whereby the viewer would crash when opening recent versions of xterm in the TurboVNC session.
-
Fixed a crash (
xcb_io.c:507: _XReply: Assertion '!dpy->xcb->reply_data' failed
) that occurred when running recent versions of twm in a TurboVNC session. Fixing this also fixed an issue in openSUSE 12 whereby Xvnc would abort with "could not open default font 'fixed'". -
The Windows TurboVNC Viewer will now properly switch into/out of full-screen mode whenever the "Full-screen mode" check box is selected or de-selected in the TurboVNC Viewer Options dialog and a connection is active.
-
Fixed an issue whereby the Windows TurboVNC Viewer window would remain on top of other windows and dialogs (including dialogs raised by the TurboVNC Viewer itself) when exiting full-screen mode.
-
Beginning with 1.1 beta1, whenever the Windows TurboVNC Viewer left full-screen mode, it would set the window size and position to default values. It now restores the window's size and position to the values they had before the viewer was placed in full-screen mode. An option has been added to the system menu to manually resize and reposition the window to default values (taking into account the spanning option.)
-
Added Ctrl-Alt-Shift-F and Ctrl-Alt-Shift-R hotkeys to the X11 TurboVNC Viewer to toggle full-screen mode and request a refresh (respectively.) These emulate the behavior of the Windows TurboVNC Viewer.
-
Fixed several invalid reads/writes reported by valgrind. These occurred under certain circumstances when a Tight-compatible viewer disconnected from a TurboVNC session, and the issues were known to cause one rare segfault when disconnecting from a TurboVNC session that had multithreading and ALR enabled.
-
Fixed an issue whereby selecting text in xterm would sometimes cause the Windows TurboVNC Viewer to abort with "Failed to open clipboard."
-
Fixed an issue whereby clipboard changes were being immediately sent back to the viewer as soon as they were received by the server. This specifically caused copy/paste operations in some Windows applications to behave incorrectly, since the clipboard contents were being converted from Unicode to ASCII when they were bounced back.