Picking up the X11R6 binary tar file for Solaris systems
-------------------------------------------------------

To pick up the compressed tar file of the X11R6 binaries for Solaris
systems, ftp to www.ferret.noaa.gov and log in as anonymous:

%ftp www.ferret.noaa.gov
Name (www.ferret.noaa.gov:kobrien): anonymous
331 Guest login ok, send ident as password.
Password: your_email_address
230 Guest login ok, access restrictions apply.
ftp> cd special_request/xvfb/solaris
ftp> ls -l
total 14509
-rw-r--r--   1 root     system       3956 Jun 19 08:25 README.XVFB
-rw-r--r--   1 root     system   14839985 Jan 30  1996 X11R6_bin.tar.Z
ftp> get README.XVFB
ftp> bin
ftp> get X11R6.1_bin.tar.Z



Decompressing and extracting the X11R6 binaries
-----------------------------------------------

The binaries will have to be extracted in /usr/X11R6.  The reason for
this is that Xvfb (and other utilities included) have been compiled to
look in /usr/X11R6 for needed fonts.  If these fonts are not found
under /usr/X11R6, Xvfb will fail.  

The total uncompressed size of the directory tree is ~32 Mbytes.  If
you don't have enough room on the /usr device, create a soft link to
an area which has space. Then:

% cd /usr/X11R6
% zcat X11R6_bin.tar.Z | tar xpf -

This command will create the following directory's:

	bin
	include
	lib
	man


Starting up the Virtual Frame buffer
------------------------------------

To start up the virtual frame buffer, type:

% /usr/X11R6/bin/Xvfb :1 -screen 0 1152x900x8 &

This will send any graphics output going to display 1 to shared
memory. To set the current display to use the frame buffer for
graphics display, type:

% setenv DISPLAY :1.0

The virtual framebuffer is now ready to be used by those on the local
machine.  See note below concerning remote usage.  Xvfb does not need
to be started by root.  It appears from our testing that any user may
start it up.


Adding the Virtual Framebuffer to the Automatic Startup
-------------------------------------------------------

In order to have Xvfb start up automatically when a workstation boots
(after an unexpected crash, for example), the startup line mentioned
above needs to be inserted into the /sbin/init.d/local file.  If this
file does not already exist, it will have to be created, and the
following link made:

	% cd /sbin/rc3.d
	% ln -s /sbin/init.d/local S96local

This will ensure that the local file containing the Xvfb startup
string is executed when the workstation boots.  An example of what
should be added to the /sbin/init.d/local file is:

# start the X Virtual Framebuffer (Xvfb) *kob* 3/22/96
if [ -f /usr/X11R6/bin/Xvfb ]; then
        echo "***Starting up the Virtual Frame Buffer on Screen 1***"
        /usr/X11R6/bin/Xvfb :1 -screen 0 1152x900x8 2>> /usr/var/adm/Xvfb.log
fi


This sequence will check for the existence of Xvfb and start it up if
it is present.  Also, any errors reported will be sent to the
/usr/var/adm/Xvfb.log file.  

For More information
--------------------

The man pages for the X11R6 utilities (including Xvfb) are included
with this distribution.  To access the man page for Xvfb, for example,
type:

% man -M /usr/X11R6/man Xvfb

It should also be possible to set up the environment variable MANPATH to
include the /usr/X11R6/man area.



Note on remote display using Xvfb
---------------------------------

Displaying to the virtual framebuffer from a remote node adds
complexity to the usage of Xvfb.  It appears to be a matter of
authenticating the remote host to the framebuffer, thereby identifying
that host as a trusted host.  The way to accomplish this seems to be
to create an authentication file which would include all remote
displays expected to access the virtual framebuffer.  Xvfb can then be
started with an option to access this authentication file.  For more
information on this see the man pages for Xserver and Xvfb.



Kevin O'Brien
June 1997
Thermal Modeling and Analysis Project




Last modified: Oct 27, 2003