SpiritVNC - FLTK: A multi-view VNC client

SpiritVNC - FLTK is on GitHub. Please see the GitHub repository for the latest code, to file a bug report or other fun stuff. big smile

What is this?
SpiritVNC - FLTK is a VNC viewer that allows you to have many simultaneous connections open and allows you to switch between them efficiently. Besides SpiritVNC icon regular VNC connections, SpiritVNC also supports VNC-through-SSH for encryption and more secure connections. Also supported are reverse or 'listening' VNC connections as well as an auto-scan function that displays one VNC viewer for a user-defined time, then automatically displays the next connected viewer and so-on. SpiritVNC is based on the FLTK toolkit, which is lightweight, easy on resources and is available on many platforms.

SpiritVNC - FLTK currently compiles and runs on macOS, Linux, FreeBSD and OpenIndiana. The program requires the following properly installed libraries: FLTK 1.3.4, libvncserver (or just libvncclient) and libssh2. The pkg-config program is also required for building. I currently am not offering pre-compiled binaries although this may change later.

Many years ago I was happily using Remmina, but after it hit version 1.0.0, it was buggy, wasn't as reliable as the 0.9.x version and the developers became hostile if you even hinted that Remmina had an issue. So I created a Python-GObject VNC multi-viewer called UnRemmina that helped me leave behind the mess that was Remmina 1.0.0. Problem with UnRemmina (besides the less-than-complimentary name) was that it relied on many different Gtk components that aren't always shipped with certain Linux or BSD distros, so it wasn't very portable. What to do? Make my own! SpiritVNC was born.

SpiritVNC screenshot
The SpiritVNC - FLTK VNC viewer

I know there are a lot of other VNC viewers out there, but everyone has their own favorites, and who knows, maybe SpiritVNC will be yours? Even if no one else uses this, I wanted to at least make it available to others.

SpiritVNC auto-scan demo
A demonstration of how the auto-scan function works

SpiritVNC - FLTK requires the libs and developer packages for the following: FLTK 1.3.4, libvncserver, libssh2 and also requires the pkg-config program for building purposes.

SpiritVNC item editing screenshot
Editing a viewer's properties

As shown in the image above, you can set the viewer to scroll the host's screen, scale it both up and down, or just scale down. You can also choose fast scaling and also enable or disable the display of the host's remote cursor.

SpiritVNC - FLTK has been built and tested on Ubuntu Linux, Slackware Linux, Debian Testing, FreeBSD, OpenIndiana Hipster and OpenBSD.

If you use the stock Debian 8 version of FLTK, you will have to comment-out one line of code to make SpiritVNC work due to Debian 8's very old version of FLTK:


God loves geeks too!
Why Jesus?

If you have any questions, have suggestions or want to submit a bug report, please visit the GitHub repo or leave a comment below.


Download the SpiritVNC source:
View the included README file for building and installation instructions


SpiritVNC - FLTK is on GitHub. Please see the GitHub repository for the latest code, to file a bug report or other fun stuff. big smile

Older releases

  • Version 0.3.9  [ 2017-07-05 · 43 KB ] - Improved connection and rendering speed, 'dead' connections now fail quicker, code cleanup
  • Version 0.3.8  [ 2017-06-13 · 42 KB ] - Added remote actions (refresh, Ctrl+Alt+Del, etc) via F8 key, huge code cleanup and optimizations, fixed viewer scaling when main window is resized
  • Version 0.3.7  [ 2017-04-22 · 43 KB ] - Fixed crashes and non-functioning of local/remote clipboard. Fixed spamming of console with FLTK clip underflow warnings. Cleaned up code, added clearer comments and changed some function names to better reflect their purpose. Added re-entry guard code for some important functions. OpenIndiana should now be properly supported
  • Version 0.3.6  [ 2017-03-30 · 42 KB ] - Fixed a thread hang when dialog box is displayed. Made SSH connections a bit more stable
  • Version 0.3.5  [ 2017-01-05 · 41 KB ] - Fixed a thread crash on Linux when VNC-over-SSH can't connect. Fixed minor host-list right-click issue. 'Ctrl+Alt+Del' removed for now
  • Version 0.3.4  [ 2016-12-21 · 41 KB ] - Added 'Send Ctrl+Alt+Del', fixed 'listening' context menu and fixed bad URL in About / Help dialog.
  • Version 0.3.3  [ 2016-12-19 · 37 KB ] - Fine-tune VNC message processing timing, set more helpful default 'Listening' options, code cleanup
  • Version 0.3.2  [ 2016-11-18 · 36 KB ] - Live resizing of connection list width, added copy/paste to text options, added missing SSH port number to item options, tons of fixes and code cleanup
  • Version 0.3.1  [ 2016-09-29 · 41 KB ] - Fixed right-click dragging, using an Fl_Hold_Browser instead of Fl_Select_Browser, fixed crash when first listening connection is deleted, other fixes...
  • Version 0.3.0  [ 2016-09-27 · 37 KB ] - Initial release




Post A Comment

Your name:

Your e-mail address: (Will not be seen or used by anyone else but me)

To help cut down on spam, what do you get when you add two and four?:

Please type your message below: (Please limit message to less than 1,000 characters)


My Story   |   Business site   |   TGIF2   |   JWM   |   Openbox   |   Autism