GTK-VNC is an open source and freely distributed graphical software implemented in Python/GTK+ and designed from the offset to act as a VNC (Virtual Network Computing) viewer widget for GTK+, providing a very simple and easy-to-use graphical user interface (GUI).
Re-implements the traditional 'vncviewer' app
It is comprised of a core library written in the C programming language, a wrapper library using PyGTK, and two example programs that illustrate the use of the widget by re-implementing the traditional 'vncviewer' app in a few lines of code.
Supports IPv6 and traditional VNC protocols
The software fully supports the IPv6 protocol and the traditional VNC authentication protocol. In order to provide secure SSL/TLS encrypted communications (using x509 certificates to authenticate), GTK-VNC implements the VeNCrypt extension.
Used in Vinagre and GNOME Boxes
Being designed by and for the GNOME project, the GTK-VNC project is mainly used in GNOME applications, such as Vinagre, the default VNC viewer software of the GNOME desktop environment, as well as GNOME Boxes, a software for managing local and remote virtual machines. GTK-VNC is also used in virt-viewer, a tiny virtualization solution.
Supports various VNC extensions
Another interesting feature is the built-in support for various VNC extensions, which can greatly improve the user experience, especially when the user interacts with remote virtual machines. It supports the SASL (Simple Authentication and Security Layer), TLS (Transport Layer Security + anonymous credentials), VeNCrypt (TLS/SSL + x509 credentials) authentication extensions.
In addition, GTK-VNC supports various encoding extensions, such as framebuffer encoding change, rich cursor, raw keyboard scancodes, cursor position, X cursor, desktop resize, and relative mouse motion.