(Answer) (Category) Linux on PowerPC FAQ-O-Matic : (Category) X Windows : (Category) xdm :
How can I make X come up automatically? or How can I make xdm work?
-------------------------- 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
[Append to This Answer]
Next: (Answer) I set up xdm, and now every time I log in, it comes back to the login prompt.
This document is: http://www.jonh.net/cgi-bin/lppcfom/fom?file=87
[Search] [Appearance]
This is a Faq-O-Matic 2.717d.
Hosted by anduin.org and SourceForge Logo