ITEM: AG1300L
XDM, OS/2, PMX, and Xstation 140 configuration questions
Question:
Env: AIX 3.2.5 Xstation 140 microcode 1.5 using xdm
PC with OS/2 running PMX Xserver
Desc: Customer had configured PMX on the PC, but wanted
to know how to get a login window from the RS/6000.
Action: I first had then telnet to the RS/6000, export their
display, then execute an xclock to make sure that PMX
was configured correctly. This client came up fine.
I then explained to them that to get a login window
from the risc they would have to use XDM. I had them
edit the /usr/lib/X11/xdm/Xservers file to comment out
the
:0 local /usr/bin/X11/X -T -force
line so that when we started XDM it wouldn't come up on
the console. I then had them enter the following line
XstationName:0 foreign
as is directed in the instructions in the Xservers
file so that when xdm detects the PMX X server it
would automatically send a login window to the PC.
After doing this I had them run the xdmconf script
to configure xdm to restart automatically after reboot.
Then I had them run /usr/bin/X11/xdm.
This started fine and the login window came up on their
PC running PMX. They attempted to login, it came up
with the PowerDesktop, a clock, and some error messages
then everything disappeared and the login window came
back.
I explained to them that since PMX runs it's own window
manager we would have to create .xsession files in each
of the user's home directories. These files would
contain any clients that the user would like to start
at login time, all in the background - EXCEPT the last
line of the file. The last client should be left in
the foreground to hold the X session UP. When that
client is killed the user will be logged out and all
other child processes should be killed. I suggested
an xterm named LOGIN so that it would be easy to
identify.
After creating this file and logging in, everything
worked as expected. Then customer came up with
the question, "What about the user's who log in through
the Xstation 140, don't they need a window manager?".
This is a very reasonable question. The solution is
to use the $XSTATION variable that is explained in the
/usr/lib/X11/xdm/README. We edited the
/usr/lib/X11/xdm/xdm-config file. We added the following
line.
DisplayManager.XstationName_0.session: /usr/lib/X11/xdm/Xsession_XstationName
We then executed the following command in the
/usr/lib/X11/xdm directory.
cp Xsession Xsession_XstationName
We then edited Xsession_XstationName and added the following
two lines at the point where the system variables are
exported.
XSTATION=`echo $DISPLAY | cut -f1 -d:`
export XSTATION
This will cause the variable XSTATION to be given the
value of the DISPLAY variable minus the :0.
I then had them enter the following line in the
$HOME/.xsession file of the user that we were testing.
if [ -z "$XSTATION" ]
then
....
execute clients for PC
....
else
....
execute the clients for Xstation
....
exec mwm
fi
The above if-then statement allowed the XSTATION variable
to be used to determine if it was an xstation or not
and start the appropriate clients.
After configuring the Xstation to use XDM, we tried it
but the variables weren't being set. I set up the
exact same situation here in the lab, and everything
worked as planned.
I finally had them put xdm in debug mode:
/usr/bin/X11/xdm -debug 1 > /tmp/outfile 2>&1
and we were able to determine that customer had mis-typed the
name of the Xsession_XstationName file in the xdm-config
file. Once this typo was fixed, everything worked
correctly.
Support Line: XDM, OS/2, PMX, and Xstation 140 configuration questions ITEM: AG1300L
Dated: February 1995 Category: N/A
This HTML file was generated 99/06/24~13:30:28
Comments or suggestions?
Contact us