たぶん Debian に限ったことではない。っていうか、以前にも同じ状況にあってどこかにメモしたような気が。

Javaのバージョン。

$ java -version
java version "1.4.2_07"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_07-b05) Java HotSpot(TM) Client VM (build 1.4.2_07-b05, mixed mode)

OSのバージョン。

$ uname -a
Linux hogehost 2.4.27-1-386 #1 Fri Sep 3 06:24:46 UTC 2004 i686 GNU/Linux

発生した Java の例外のスタックトレース。

java.lang.InternalError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>
(X11GraphicsEnvironment.java:134)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment
(GraphicsEnvironment.java:62)
at java.awt.image.BufferedImage.createGraphics
(BufferedImage.java:1041)

解決方法: システムプロパティに -Djava.awt.headless=true を設定。実際には Tomcat4 上で発生したので、 catalina.sh に JAVA_OPTS="-Djava.awt.headless=true" を追加することで対処。

tags: Java zurazure

Posted by NI-Lab. (@nilab)