Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 464
  • Last Modified:

graphic process in unix

hi,

i've developed an web-base application which creates vertial title images in runtime with java.awt libaries. it works fine in windows
but it does not work in my sun solaris 10. i searched the error in web and found two solutions;
      first one: using -Djava.awt.headless=true in startup script but when i try i get this error;
                        ERROR 2007-09-19 12:09:54,527 com.zzz.dm.actions.ImageWriter - java.awt.HeadlessException
                        
      second one: using xwindow like this;                        
                        DISPLAY=localhost:10
                        export DISPLAY
                        but i get this error; (i think i set the wrong port, how can i get the xwindow port?)
                        <Jun 19, 2008 12:07:56 PM EEST> <Error> <HTTP> <BEA-101017> <[ServletContext(id=28914982,name=NewDMWEB,context-path=/NewDMWEB)] Root cause of ServletException.
                        java.lang.InternalError: Can't connect to X11 window server using 'localhost:10' 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.Font.initializeFont(Font.java:308)
                              at java.awt.Font.<init>(Font.java:344)

how can i run the application?

thanks in advance...
0
janavar
Asked:
janavar
  • 3
  • 2
1 Solution
 
Hanno P.S.IT Consultant and Infrastructure ArchitectCommented:
a) Using "headless" means that you do not have any graphical display at all
b) To use an X11 display you must
    - Have an X11 display server up and runing (X11 started on some workstation)
      This could be a local X11 display on your Solaris workstation or any other
       display somewhere on the network.
    - The environment variable $DISPLAY must be set to point to this very display
       If you have a local display (on your Solaris 10 workstation) it will usually be
       set to something like
           :0.0
       or
           localhost:0.0
       You may verify this right after starting an xterm (or some other shell window)
       and entering
           echo $DISPLAY
       If you have a remote X11 display, it would be set to something like
           hostname:0.0
       or to
           localhost:10.0    (or simply localhost:10)
       when you logged in to your Solaris 10 box via ssh with X11 tunneling enabled.
       When using cygwin as the X11 display (server), you must (!) omit the .0 at the
       end.
0
 
Hanno P.S.IT Consultant and Infrastructure ArchitectCommented:
To verify if you can use the DISPLAY variable as it is set right now,
try to open some X11 application like
    xterm -ls -sl &
( or, if your PATH is not set:
    /usr/openwin/bin/xterm -ls -sl &
) or
    xclock -update 1 &

   
0
 
janavarAuthor Commented:
i am connecting to the server with telnet so i can not execute xterm. how can i test if xwindow works fine and which port it listens?
0
 
Hanno P.S.IT Consultant and Infrastructure ArchitectCommented:
when you got an term opened, check the DISPLAY variable
    echo $DISPLAY
Now, try to start another X11 program (like xterm, xclock etc.)
and see if it gets displayed on your screen.

X11 usually listens on ports 5000 and above
0
 
janavarAuthor Commented:
i fixed the problem by using pja toolkit (http://www.eteks.com/pja/en/) but it does not support java 1.5 or above :-(
0

Featured Post

NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now