gtk-vnc is a VNC viewer widget for GTK. It is built using coroutines allowing it to be completely asynchronous while remaining single threaded. It provides a core C library, and bindings for Python (PyGTK).

The API is still in early stages of development & so until version 1.0 is declared, the API may change. The primary public API is provided by the vncdisplay.h class & should be reasonably free of API churn. The other header files are internal VNC protocol implementation & will very likely change.

GTK-VNC supports a number of VNC extensions aimed at improving the user experience, particularly when interacting with virtual machines.


gtk-vnc is used by Vinagre, the GNOME VNC client application, Boxes, and by virt-viewer, a virtualization solution.


Released versions can be found at GNOME FTP servers:

You can check out the current development snapshot using:

 git clone git://

If you have a GNOME SSH account:

git clone ssh://


Projects/gtk-vnc (last edited 2018-04-06 11:11:14 by FredericCrozat)