##### Running with XVFB

XVFB is an acronym of the Xserver Virtual Frame Buffer. It can provide a virtual Xserver and release you from the need of a real Xserver. It runs without a head or graphics card. XVFB is freeware and can be obtained from x.org's X11R6 distribution. Compiling it is supposedly difficult, however, there are some Solaris binaries on certain sites, including:

- http://ferret.wrc.noaa.gov/Ferret/FAQ/graphics/Solaris_Xvfb.html
- ftp.xfree86.org/pub/XFree86/3.3.6/binaries/Solaris
- ftp.xfree86.org/pub/XFree86/4.0.1/binaries/Solaris
- ftp.xfree86.org/pub/XFree86/4.0.1/binaries/Solaris-8
- http://ferret.wrc.noaa.gov/Ferret/FAQ/graphics/Solaris_Xvfb.html

Take the following steps to run JReport Enterprise Server with XVFB:

1. Install XVFB.
2. To have XVFB start up automatically when a workstation boots, you can add the Virtual Frame Buffer to the Automatic Startup. That is, write a script `/etc/init.d/xvfb` as below, and make it executable.

       #!/bin/sh

       mode=$1

       case "$mode" in
       'start')
       # start the X Virtual Framebuffer (Xvfb)
       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 &
       fi
       ;;
       *)
       echo " Usage: "
       echo " $0 start (start XVFB)"
       echo " $0 stop (stop XVFB - not supported)"
       exit 1
       ;;
       esac
       exit 0

   Then create a soft link to `/etc/rc2.d/S98xvfb`:

   `ln -s /etc/init.d/xvfb /etc/rc2.d/S98xvfb`

   If you need not to start XVFB automatically, you can manually start up XVFB:

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

3. Set DISPLAY to screen 1 (assuming that JReport Enterprise Server is running on machine jaguar).

   `DISPLAY=jaguar:1.0
   export DISPLAY`

Then, you can start JReport Enterprise Server. Logging out the terminal may result in JReport Enterprise Server shutting down. To avoid this, you can first start JReport Enterprise Server in the background using the command nohup: `nohup ./JREntServer &`. This command will continue running programs specified by you and enables JReport Enterprise Server to ignore hangup signals.