/multivnc

MultiVNC is a cross-platform Multicast-enabled VNC viewer using wxWidgets and libvncclient . It runs on Unix, Mac OS X and Windows. Features include support for most encodings, ZeroConf service discovery and a seamless edge control mode á la x2vnc. There also is a mobile (Android) version with a different feature set available.

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Build Status Help making this possible Become a patron

MultiVNC is a cross-platform Multicast-enabled VNC viewer using wxWidgets and libvncclient . It runs on Unix, Mac OS X and Windows. There also is an Android version.

Both the desktop and the mobile version feature:

  • Support for most encodings including Tight.
  • Discovery of VNC servers advertising themselves via ZeroConf.
  • Bookmarks.

The desktop version stands out with additional features such as:

  • MulticastVNC ;-)
  • Several connections with one viewer using tabs.
  • Listen mode (Reverse VNC). Via tabs it's possible to listen for and serve multiple incoming connections.
  • Window sharing: You can beam one of your windows to the remote side if they support receiving windows (run a listening viewer).
  • Seamless control of the remote side by moving pointer over the (default upper) screen edge. Borrows heavily from x2vnc by Fredrik Hübinette hubbe@hubbe.net, which in turn was based on ideas from x2x and code from vncviewer.
  • Simple, loggable statistics
  • Supports server framebuffer resize.

The mobile Android version sports:

  • Virtual mouse button controls with haptic feedback.
  • Two-finger swipe gesture recognition.
  • A super fast touchpad mode for local use.
  • Hardware-accelerated OpenGL drawing and zooming.
  • Copy&paste to and from Android.
  • Availability from both Google Play and F-Droid.

For features that are planned, but not completed yet, look at the TODO file.

MulticastVNC notes

You can get a modified libvncserver/libvncclient at https://github.com/LibVNC/libvncserver/tree/multicastvnc - this is the same library that MultiVNC uses internally.

How to compile the desktop wxWidgets version from source

The prerequisites:

  • the usual c-compiler with headers and stuff
  • wxWidgets dev package version >= 3.0
  • zlib dev package
  • libjpeg dev package

After cloning the repo, do

   git submodule init
   git submodule update

To compile:

   mkdir build
   cd build
   cmake ..
   cmake --build .

And cross fingers...

To install:

  • 'make install' as root
  • or copy binary wherever you like to

That's pretty much it, have fun !