"Can't connect to X11 window server" or similar errors using Java
Barcode Servlets.
On LINUX and UNIX, IDAutomation Java barcode products need access to the Java.AWT
library to perform graphics functions. . This problem does not occur on Windows
or Macintosh platforms; this is a known issue with UNIX and JAVA. This is not a
problem with IDAutomation barcode products.
Most versions of the Java.AWT library on UNIX require a functioning X
server. The X server and the DISPLAY environment variable also
needs to be correctly set. Here are some solutions:
-
The best solution is to run Java in headless mode.
IDAutomation Java Barcode Products have been modified to be compatible with headless
operation as of April 2, 2003.
If an active Priority Support and Upgrade
Subscription through RegNow is in effect, please
contact IDAutomation with the order ID number to receive the
updated download link.
If an active support agreement is in effect through the IDAutomation online
store, please go back to the store and go to “My
Account”. Enter the user name, which is the email address and
the password created at the time of order. Then when logging
in, the invoice should appear on the screen and in the upper right
hand corner, there will be a link to “My Downloads”. This will be
the location to download the update. To reactivate the Priority
Support and Upgrade Subscription, please visit:
http://www.idautomation.com/extended/about.html After installing Headless
Java, it must be enabled. To enable headless mode on Sun JDK 1.4.1 running on Linux,
enter
export CATALINA_OPTS="-Djava.awt.headless=true
to the /etc/profile file.
-
One of the most common solutions is to install
the PJA library, which is free under GNU
General Public License.
- The current publicly available
version of the PJA libraries is 2.4. The JDK
1.4.1, version 2.4 of the PJA libraries may not work because some
libraries were removed or changed in JDK 1.4.1. However,
there is a beta release for version 2.5 of the PJA libraries that will
work with JDK 1.4.1. The beta for version 2.5 can be downloaded from the
same page as version 2.4. One IDAutomation
customer has provided instructions for using the PJA
libraries on a Solaris 8 platform running WebLogic 8.1at this website.
-
PJA (Pure Java AWT toolkit) is a
graphics library for drawing graphics developed by eTeks. It is 100%
Pure Java and does not use any native graphics resource of the system
on which the Java Virtual Machine is running (X Server, for
instance). This will permit the same functionality as the native awt
libraries without concern for the operating
environment. Based on eTeks documentation, only their required jar
file will have to be installed and "With PJA, you don't need
to change your Java programs that you expected to run : setting
java.awt system property to com.eteks.awt.PJAToolkit is
the only required modification to your program with Java 1.1".
eTeks offers full documentation on how to use their class at
http://www.eteks.com/pja/doc/com/eteks/awt/PJAToolkit.html
-
Another solution is to use Xvfb (or X Virtual Frame
Buffer).
Xvfb is an X server emulator that can run on machines with no display
hardware and no physical input devices. It can be found as part of X11
Release 6.4, a version of which is available from XFree86.
This has been used successfully on Solaris (Intel) 2.6 running Tomcat
as the servlet container generating JPEG images. This
website describes how to use Xvfb. After this process is turned
on, the DISPLAY variable must be set to route back to local machine.
-
Sun's AWT requires an X server to operate. Set the DISPLAY variable
to a functioning X server.
For example:
setenv DISPLAY=localhost:0.0 export DISPLAY
-
When using JSP with Apache try the following:
add wrapper.env=DISPLAY=system_name:0.0
to jserv.properties
Make sure the system is logged in with a display running and the
system has access to the display using the xhost
+ command.
-
Sun's patch 107078-18 corrects some of the "Can't
connect to X11 server" problems on Solaris.
-
On Redhat Linux try this: in an xterm session (shell)
type xhost +
-
This problem is documented many times in forums at the
Sun website, for example 51029.
-
If an applet error occurs while in headless mode,
please refer to the java.awt.HeadlessException
issue. This issue was corrected in the June 2004 release of
the IDAutomation Java Barcode Product.
-
Please note: This is a UNIX and JAVA issue; not a
problem with IDAutomation barcode products. If the above techniques do not
solve the problem, please contact the UNIX vendor for more information
about the problems and how to solve them. IDAutomation lacks the
expertise with UNIX; the solution can be different for each version of
UNIX. The IDAutomation barcode servlet code should be treated as any
other servlet that needs to create graphic images with the Java.AWT
library.
|
Related Documents
and Keywords:
|
See also:
TSI
Copyright © 2002-2008, IDAutomation.com, Inc. All rights reserved. All trademarks
mentioned are the property of their respective owners.
|
Over 70% of Fortune
100 companies use IDAutomation's products to automate their businesses. |
|