"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. Download
the current version of any IDAutomation product with an
active Priority
Support & Upgrade Subscription.
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 2000-2008 IDAutomation.com, Inc., All Rights Reserved. Legal Notices.
|
Over 70% of Fortune 100
companies use IDAutomation's products to automate their businesses.
|
|