[blfs-dev] Miscellaneous issues regarding adding vnc

Bruce Dubbs bruce.dubbs at gmail.com
Thu Jun 12 18:08:33 PDT 2014

I'm looking at add in a vnc server and client to the book.

I've looked at tightvnc, but that seems to require sources from xfree86 
so I'm not going to use that.

I've looked at x11vnc.  It seems to be fairly easy to build, but there 
are some deficiencies. First of all, it is only a server.  A client 
needs to be created also.  Secondly, it attaches to a real X11 display. 
  To me this is a limitation as I've used vnc before in headless 
systems.  What is needed, in my opinion, is the ability to create a 
virtual X11 display and then let one or more users connect to that in a 
shared environment for collaboration.

Finally, I've looked at tigervnc.  It seems to offer a client and two 
servers: one server that works in a virtual X11 environment and one that 
connects it a real X11 display.  It also offers a vnc client.

The build of tigervnc is a bit unusual in that it wants to download 
sources from network.  It also requires a library, fltk, and then 
patches that library before build.

So here are a few of the issues:

1.  Where do we put these packages in the book?  The fltk library (FLTK 
(pronounced "fulltick") is a cross-platform C++ GUI toolkit for 
UNIX®/Linux® (X11), Microsoft® Windows®, and MacOS® X. ) could go in 
Chapter 10, Graphics and Font Libraries, but it requires customization 
from the tigervnc site:

     rm -f $2
     wget http://www.fltk.org/strfiles/$1/$2
     patch -p1 < $2

apply_patch 2599 fltk-1_v4.3.x-keyboard-x11.patch

The tigervnc documentation calls for 13 patches.  This leads to issue 2:

2.  Do we just put in instructions like the above or patch everything 
and create out own consolidated patch?

3.  Where do the instructions for tigervnc go?  It could possibly go in 
Chapter 38. Other X-based Programs, it could be it's own chapter like 
Chapter 8. Virtualization or even go into Chapter 8 itself (a bit of a 
stretch but I could live with it).

4.  fltk by default installs man pages in man/cat{1,3}.  Nothing else in 
BLFS does that, but it works fine.  The packages does have files such as 
fltk-config.man, but would require manual installation to install at 
man1/fltk-config.1 (or hacking the Makefile).  What's preferable here?

Going back to issue 1, I could put both fltk and tigervnc procedures on 
the same page.  We do a slightly similar thing in the Xorg drivers 
section.  Is that reasonable?

Going back to issue 2, tightvnc also downloads xorg sources at a 
specific version.  Should we make a tarball for that?  There is a python 
script named `download-xorg-7.5` that gets the versions of about 44 
packages that we already built in Xorg.

I'll note that I think that tightvnc is NOT dependent on our build of 
Xorg -- that is I think the server could be built and used without a 
physical monitor or a full Xorg build.

So, how do I integrate this into the book?  Feedback appreciated.

   -- Bruce

More information about the blfs-dev mailing list