Set the property java.awt.headless=true
Easiest to do in your servlet container. Without this you may get complaints when rendering with JAI on linux.
To do this with tomcat set JAVA_OPTS BEFORE calling startup.sh or before calling catalina.sh. (or you can edit those files, but it isn't advised)
export JAVA_OPTS='-Djava.awt.headless=true'
With Jetty you can start up with java and just pass the -Djava.awt.headless=true in directly:
java org.mortbay.jetty.Server jetty.xml -Djava.awt.headless=true
If you are using GeoServer's embedded Jetty you can modify the build.xml file, just add it to the jetty.jvmarg property:
<property name="jetty.jvmarg" value="-Djetty.home=$\{basedir\}/server -Djava.awt.headless=true" />
Or, modify the last line of startup.sh like so:
exec "$_RUNJAVA" -Djava.awt.headless=true -jar bin/start.jar
(This is now the default in the startup.sh script, please give feedback if it messes up anything on linux by always setting this option to true - I'm inclined to think it won't, since its a server application)
I have not tested Resin on linux, but I think it should be done in the resin.conf file, by adding a line like:
<caucho.com> <system-property java.awt.headless=true/> </caucho.com>
If some could confirm this then just edit this page.