--------------------------
In addition to the information available below, I had to do the following to get
xdm working on my G3 with MkLinux pre-DR3. This is from the linux-pmac mailing
list:
You must disable the other virtual consoles when you run xdm with Xpmac!
Therefore, in /etc/inittab, there are lines that read somewhat like:
1:12345:respawn:/sbin/mingetty --noclear tty1
2:2345:respawn:/sbin/mingetty --noclear tty2
Remove the 5 from the second field so that it looks something like:
1:1234:respawn:/sbin/mingetty --noclear tty1
2:234:respawn:/sbin/mingetty --noclear tty2
Do this for all the entries except for the one that looks like:
x:5:respawn:/usr/bin/X11/xdm -nodaemon
Also, if you're using my patched Xpmac (not Xpmac.ati) and its ATI fixes,
in /etc/X11/xdm/Xservers:
:0 local /usr/X11R6.3/bin/X
should be changed to the following to enable the fixes.
:0 local /usr/X11R6.3/bin/X -ati
Now, start xdm via init.
--------------------------
ericb@pobox.com |
If you have X11R6.3 installed, the following should work:
----------------------------------------------
*) insert the line
l5:5:wait:/etc/rc.d/rc 5
in the file /etc/inittab between the lines "l4:4:wait:/etc/rc.d/rc 4" and
"l6:6:wait:/etc/rc.d/rc 6".
*) Use the "xinitrc" file as your "~/.xsession" file.
cp /usr/lib/X11/xinit/xinitrc ~/.xsession
This needs to be done for every user. However,
you can also setup a deflault xsession file using
cp /usr/lib/X11/xinit/xinitrc /usr/lib/X11/xdm/system.xsession
and changing the line "exec xsm" in the /usr/lib/X11/xdm/Xsession file to
"exec /usr/lib/X11/xdm/system.xsession".
*) Test everything using (you need to be root)
telinit 5
(you can switch back using "telinit 3"). If it works,
change the entry "id:5:initdefault:" in /etc/inittab to
"id:5:initdefault:" and reboot.
Note: (i) You might want to edit the .xsession file to meet your own needs,
e.g.:
execute ".bash_profile" and "bashrc", start up different programs, etc.
You can # the screenrestore command which is no longer needed.
(ii) If you want to get rid of the "xdm log" window you can # the line
in /usr/lib/X11/xdm/Xsetup_0
gerald@iram.rwth-aachen.de
-----------------------------------------------------------------------
Here are the instructions for X11R6.1:
The below instructions will also work for X11R6.3, if you remove the
configuration files that X.Org ships with R6.3 and use the below
configurations instead. For more details, or an up-to-date copy, see:
http://www2.portage.net/~bjornc/mklinux/xdmsetup.html
----------------------------------------------------------------------
This HOWTO is not intended to supplant or replace any existing documentation in regards to
XDM. Rather, it is intended to provide a quick, simple reference on how to get XDM up and
running on a MkLinux DR1 system.
The material in this document is mainly derived by a post to the mklinux-x mailing list by
Lar. It is maintained by Bjorn Christianson.
How to set up xdm on Mklinux DR1
1) Edit the /etc/inittab file to add a line containing
l5:5:wait:/etc/rc.d/rc 5
where it is missing between the l4 and l6 lines in the file.
Also, at the bottom of /etc/inittab change
x:5:respawn:/usr/bin/X11/xdm -nodaemon
to
x:5:respawn:/usr/bin/X11/xdm -nodaemon -config /usr/lib/X11/xdm/xdm-config
2) Create a file in /usr/lib/X11/xdm called xdm-config containing
DisplayManager*resources: /usr/lib/X11/xdm/Xresources
DisplayManager*session: /usr/lib/X11/xdm/Xsession
DisplayManager*authorize: off
DisplayManager*xrdb: /usr/bin/X11/xrdb
DisplayManager.userAuthDir: /tmp
DisplayManager.autoRescan: yes
DisplayManager._0.terminateServer: true
The teminateServer entry is required to work around an unknown bug preventing
the X windows login box from appearing after exiting the window manager.
3) Ceate a file in /usr/lib/X11/xdm called Xresources, in it put the following
Note: you can change any of the colors if you want.
! PURPOSE: This file is used by xdm's login widget.
! NOTE: The resources defined here are loaded before you see the login
! window, and unloaded after your password if verified.
!
xlogin.lookAndFeelEnable: true
! You can turn on motif look and feel if you want
!xlogin.lookAndFeel: motif
xlogin*buttonBox.Motif.shadowThickness: 0
xlogin*failsafeToggle*indicatorOn: false
xlogin*login.Motif.shadowEtchOut: true
xlogin*login.translations: #override\
Ctrl<Key>Z: abort-display() \n\
<Key>F1: set-session-argument(failsafe) finish-field()\n\
<Key>Return: set-session-argument() finish-field()
xlogin.borderWidth: 3
xlogin.Login.greeting: X Windows System
xlogin*ShapeStyle: Oval
xlogin.Login.CreateChildren: yes
xlogin*buttonBox.equalizeSize: yes
#ifndef COLOR
xlogin*foreground: black
xlogin*background: white
#else
xlogin*foreground: firebrick
xlogin*background: lightblue
xlogin*greetColor: blue
xlogin*failColor: red
xlogin.Login.greetColor: blue
xlogin.Login.promptColor: coral
xlogin.Login.Motif.greetColor: MidnightBlue
xlogin*Motif.foreground: MidnightBlue
xlogin*Motif.background: lightsteelblue
xlogin.Login.Motif.promptColor: black
xlogin*Motif.failColor: blue
xlogin.Login.Motif.shadowThickness: 4
#endif
4) Create the global Xsession file in /usr/lib/X11/xdm/, it should contain:
#!/bin/sh
#
# Setup environment variables:
LOGNAME=$USER
export LOGNAME
MAIL=/var/spool/mail/$USER
export MAIL
xdm_dir=/usr/bin/X11/xdm
xterm=/usr/bin/X11/xterm
# set XUSERFILESEARCHPATH
if [ -d $HOME/app-defaults ]
then
XUSERFILESEARCHPATH=$HOME/app-defaults/%N export XUSERFILESEARCHPATH
fi
# Check for a user-specific session ($HOME/.Xsession):
user_startup=$HOME/.Xsession
system_startup=$xdm_dir/system.Xsession
if [ -f $user_startup ]
then
if [ -x $user_startup ]
then
startup="$user_startup $*"
else
startup="/bin/sh $user_startup $*"
fi
else
if [ -f $system_startup ]
then
startup="$system_startup $*"
else
startup="$xterm -ls -geometry 80x24+50+50"
fi
fi
# To ensure a controlling tty is connected to the process
# which executes the user's login scripts (.profile or .login),
# an xterm (titled "session log") is exec'd with a command
# which will execute the user's login scripts, and then exec
# the $startup program.
# By default, the "session log" xterm will log all output
# from clients. If this xterm is closed the session will be
# terminated.
exec $xterm -name xsession -title "session log" -e $startup
5) Create a file in your (or any users home directory) called .Xsession (the
dot is important here..) it could contain something like:
#!/bin/bash
xstdcmap -best
xset m 4 2
# start up some clients
xclock -analog -update 60 -geometry 96x96-2-2 &
# this next xterm with the -C option will capture the console messages
xterm -geometry 60x8+0+0 -sb -fn 6x10 -C -title "Console" -name console &
xterm -geometry 80x24+40+88 -title "`hostname` 1" -name "`hostname`1" &
# exec the window manager last, so the when you select logout from it's menu
# it will close everything and bring you back to the login screen
exec [your window manager, ie. twm or fvwm]
6) Test your configuration a few times, using the command:
telinit 5
to switch to xdm.
7) Once you are confident xdm is set up more or less correctly, change the
line in /etc/inittab that says:
id:3:initdefault
to:
id:5:initdefault
You should now boot correctly into xdm upon restart.
gerald@iram.rwth-aachen.de |