Date: Wed, 02 Feb 2011 02:41:52 -0500 From: "Mikhail T." <mi+thun@aldan.algebra.com> To: java@FreeBSD.org Subject: image-manipulation in Java without X11 Message-ID: <4D490AC0.5080905@aldan.algebra.com>
next in thread | raw e-mail | index | archive | help
Hello! I'm trying to port a Java-application, which sometimes needs to process (get dimensions, possibly -- resize) a few images. Whenever it does this, it needs a valid $DISPLAY in the environment, otherwise an exception like this is thrown: |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.access$100(X11GraphicsEnvironment.java:52) at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:155) at java.security.AccessController.doPrivileged(Native Method) at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:131) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68) at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1135) | Apparently, the first thing AWT is doing is initialize X11 -- even if it is not going to need X11 for anything... This makes the program (almost) unusable as a daemon... I wonder if it is possible to a) make AWT a little smarter in this regard -- even if only on FreeBSD; or b) do image-processing in Java using some other classes?.. Thanks! Yours, -mi ||
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D490AC0.5080905>