Go to Babel Com Australia Home Page Go to Babel Com Australia Home Page

Technical Reports

Novell NetWare 5 and XFree86

Del's Linux Page Having been playing with NetWare 5 recently, I have noticed that it runs XFree86 as its graphical shell, along with the familiar window manager fvwm2, in order to run its Java based GUI, and ConsoleOne.

I have discovered where the files for this live in the NetWare O/S (SYS:/JAVA/NWGFX), and have started "tinkering". I have discovered that the display for these programs can be re-routed in the tradition of most other X11 programs, by using the "-display" command line parameter ... so by running "fvwm2 -display 192.168.1.2:1" I can see the NetWare GUI on a spare X session on my Linux box.

The programs, however, seem incapable of dealing with the DISPLAY environment variable. fvwm2 doesn't pass its -display parameter down to the programs it calls, and setting the DISPLAY variable in the .NCF script before fvwm2 gets called seems to have no effect. If I go through the fvwmrc file and change all cases of "Exec ..." to "Exec ... -display ..." then things start working, but this is less than desirable.

I have managed to solve this problem, and now have NetWare 5 SP3a displaying happily on a remote X server. I am actually running Xnest on my Linux PC, so first I log in (with XDM so X is started), open an xterm window and run:

Xnest :1
My Linux PC's IP address is 192.168.1.2, so this display is 192.168.1.2:1

Make all changes below accordingly, i.e. use your real display number not 192.168.1.2:1 as I have done ...

Click here for a full screen snapshot The image to the right links to a full screen (1280x1024, 280K) image of my screen after I did all of this. In the foreground is the Xnest server window running the NetWare 5 display. Behind this you can see (upper left) a VMware window running Windows NT 4.0, with the NetWare 4.6sp2 client, and NetWare Administrator. Also (lower right) is the XCONSOLE window. A terminal window (upper left) is where I ran a telnet session to the NetWare 5 server to start XCONSOLE, which is how I started STARTX.

NetWare 5 is running on another machine, because it CPU hogs when run under VMware. ***UPDATE*** I have found that VMware have published some NetWare 5 Server Installation Guidelines and a NLM to idle the CPU in NetWare 5 on their web page.

My X desktop is KDE running under Red Hat Linux ... quite boring with no themes loaded but functional!

This is how I did it:

  1. EDIT SYS:\ETC\JAVA.CFG

    I inserted a new line somewhere near the top, which says:

    DISPLAY=192.168.1.2:1
    
  2. EDIT SYS:\JAVA\NWGFX\STARTX.NCF

    This is my edited file:

    load AIO
    load AIOPS2
    load sys:/java/nwgfx/xlib 192.168.1.2:1
    #load sys:/java/nwgfx/xfvga16 -xf86config sys:/java/nwgfx/xf86conf -s 32767
    load sys:/java/nwgfx/fvwm2 -f sys:/java/nwgfx/fvwm2/fvwm2rc
    #load xinit
    
    Note that I have uncommented several of the lines that were previously commented out, changed the parameter to xlib, and no longer run xinit. Note that I also don't start the XFree86 server (xfvga16) on the NetWare console because it's not needed, but I do run fvmw2 explicitly.

  3. Make sure that the X server supports incoming connections from NetWare.

    My way of doing this is to create a file /etc/X1.hosts, with a single line:

    vmnw1.babel.home
    
    (vmnw1.babel.home is the host name of my NetWare server ... change this for your own needs).

  4. Run STARTX on the NetWare console ... it works!
The important point appears to be that you must edit the SYS:\ETC\JAVA.CFG file as well as entering the correct DISPLAY variable into the STARTX.NCF file, and modifying the latter file. It appears that the DISPLAY variable in JAVA.CFG should be used rather than envset.

For a few added bonus points I also ran REMOTE and XCONSOLE on the NetWare console, which meant that I can telnet to the NetWare server and fire up an XCONSOLE session, in which I can run STARTX ... however using XCONSOLE itself is pretty average because it seems to be buggy (drops strange extraneous characters all over itself).

***NOTE*** This information has now been published by Novell as a TID.


Constructed by Del (del@babel.com.au)