Does javax.swing need X11 on Unix?

Discussion in 'Java' started by sakcee, May 3, 2007.

  1. sakcee

    sakcee Guest

    Hi

    this question might as well be that "does OS needs processor to run "
    but anyway

    Does javax.swing needs X11 on the unix platform? I have a machine
    which havs just barebone Unix with no windowing system and although
    the calls to javax.swing.UIMangere is in catch all block, it still
    crashes that it "Can't connect to X11 window server using".

    what I am wondering is that how can it trick the catch all , and does
    swing needs windowing system to run.

    thanks
     
    sakcee, May 3, 2007
    #1
    1. Advertisements

  2. sakcee

    Tom Hawtin Guest

    Are you expecting it to do some ASCII art? ;)

    Sun's AWT X implementation requires X "client" libraries: xlib. I'm not
    entirely sure of the exact details. You will also need to have the
    DISPLAY environment variable pointing to a working X Server. The X
    Server need not be on the same machine, but you need to be able to
    connect to it. For instance, I sometimes run Java programs on my Ubuntu
    machine, but displaying on my Vista laptop.

    You don't technically need a desktop environment (e.g. KDE, GNOME, RoX)
    or even a window manager (e.g. metacity, sawfish, fvwm, twm) (although
    you wont get window frames, unless you explicitly get Swing (the PL&F)
    to draw them).

    Older versions also required the Motif library. I think for 1.5 this is
    the default on Solaris but not on Linux (google for AWT_TOOLKIT).

    Tom Hawtin
     
    Tom Hawtin, May 3, 2007
    #2
    1. Advertisements

  3. | wrote:
    | >
    | > Does javax.swing needs X11 on the unix platform? I have a machine
    | > which havs just barebone Unix with no windowing system and although
    | > the calls to javax.swing.UIMangere is in catch all block, it still
    | > crashes that it "Can't connect to X11 window server using".
    |
    | Are you expecting it to do some ASCII art? ;)
    |
    | Sun's AWT X implementation requires X "client" libraries: xlib. I'm not
    | entirely sure of the exact details. You will also need to have the
    | DISPLAY environment variable pointing to a working X Server. The X
    | Server need not be on the same machine, but you need to be able to
    | connect to it. For instance, I sometimes run Java programs on my Ubuntu
    | machine, but displaying on my Vista laptop.
    |
    | You don't technically need a desktop environment (e.g. KDE, GNOME, RoX)
    | or even a window manager (e.g. metacity, sawfish, fvwm, twm) (although
    | you wont get window frames, unless you explicitly get Swing (the PL&F)
    | to draw them).
    |
    | Older versions also required the Motif library. I think for 1.5 this is
    | the default on Solaris but not on Linux (google for AWT_TOOLKIT).

    Also, if you just want to run Java without a display at all and are trying
    to get around any GUI or Font requirements, look into Xvfb--X virtual frame
    buffer. It gives you an X Server that you can direct Java to, but does not
    actually display anything. I've used this when I've had servlets doing
    headless rendering, but that was quite a number of years ago--there may be
    better techniques available now.

    Cheers,
    Matt Humphrey http://www.iviz.com/
     
    Matt Humphrey, May 4, 2007
    #3
  4. sakcee

    Daniel Pitts Guest

    You can start Java in headless mode too. There are a lot of operations
    you CAN do in headless mode.
     
    Daniel Pitts, May 4, 2007
    #4
  5. sakcee

    Tom Hawtin Guest

    Prior to 1.4 you needed xvfb on Unix machines without access to real X
    Servers. Windows machines don't have this problem.


    Headless AWT support from 1.4:

    http://java.sun.com/j2se/1.4.2/docs/guide/awt/AWTChanges.html#headless


    Tom Hawtin
     
    Tom Hawtin, May 4, 2007
    #5
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.