X
8046

Running Unix IDL batch jobs without a physical X-display device

Topic:
This Help Article discusses how to use IDL routines that require an X-display when there is not a physical display device (e.g., a CRON job).

Discussion:
To run an X program as a CRON job without a local X server running, use a virtual X window manager such as Xvfb (X Virtual Frame Buffer). This solution does not require you to modify existing code.

Some general information about xvfb  can be found here:
http://en.wikipedia.org/wiki/Xvfb

You should be able to  install xvfb by using  the package manager provided by your distribution (such as yum, apt-get, or rpm). For example,  on a distibution that uses yum as its package manager,  you could type the following as root:
yum install Xvfb

On Ubuntu systems, you can use the apt-get command to install Xvfb:
sudo apt-get insall xvfb

Steps for using Xvfb on a Unix system:

1. Start the virtual frame buffer:

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

2. To set the current display to use the virtual frame buffer for graphics
display, type:

   setenv DISPLAY :1.0

3. Now you can start IDL. If you have set-up the idl environment, you can do this by typing "idl" into the terminal. If not, you can setup the environment by running the appropriate set-up script in the bin directory of the IDL installation.  

Thanks to David Foster who posted some of the information in this article on the comp.lang.idl-pvwave newsgroup.