HeadlessException

Once I wrote some JUnit tests for a framework which referenced GUI components in the model. No worries on my development machine - but as I moved those tests to the test server I’ve got that bloody HeadlessException. At this very moment I felt a bit headless too.

But don’t panic - here is a quick ‘n easy solution (at least if your running a Linux/Unix like OS, well you won’t run into this problem on a Windows machine).

The trick is to run a virtual framebuffer X server (Xvfb) which can run on machines with no display hardware and no physical input devices.

#!/bin/bash
# ---------

# Start fake X server
/usr/bin/X11/Xvfb :1 -screen 0 800x600x16  &
echo "Xvf started"
 
# Export display
export DISPLAY=:1.0
 
# Now, start your application, tests or whatsoever...
java -jar mytests net.n0fx.TestSuite
 
# Kill the fake X server after your done
PID=`ps -fu ${LOGNAME} | grep 'Xvf' | grep -v grep | awk '{print $2}'`
if [ "$PID" != "" ]; then
   kill -9 $PID
   echo "Xvf stopped";
else
   echo "Xvf is not running";
fi
 
en/dev/headless.txt · Last modified: 2007/02/08 09:59 by andy
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki