I am on CRUX. I installed XDM from the repository via prt-get. When I start it, there is nowhere for me to enter my username and password. There is a grey box with the X logo on it, but no actual fields in which to enter my credentials.
Here are my config files.
/usr/lib/X11/xdm/GiveConsole:
Code:
#!/bin/sh
# Assign ownership of the console to the invoking user
#
# By convention, both xconsole and xterm -C check that the
# console is owned by the invoking user and is readable before attaching
# the console output. This way a random user can invoke xterm -C without
# causing serious grief.
#
chown $USER /dev/console
/usr/lib/X11/xdm/TakeConsole:
Code:
#!/bin/sh
# Reassign ownership of the console to root, this should disallow
# assignment of console output to any random users's xterm
#
chmod 622 /dev/console
chown root /dev/console
/usr/lib/X11/xdm/Xaccess:
Code:
#
# Access control file for XDMCP connections
#
# To control Direct and Broadcast access:
#
# pattern
#
# To control Indirect queries:
#
# pattern list of hostnames and/or macros ...
#
# To use the chooser:
#
# pattern CHOOSER BROADCAST
#
# or
#
# pattern CHOOSER list of hostnames and/or macros ...
#
# To define macros:
#
# %name list of hosts ...
#
# To control which addresses xdm listens for requests on:
#
# LISTEN address[list of multicast groups ... ]
#
# The first form tells xdm which displays to respond to itself.
# The second form tells xdm to forward indirect queries from hosts matching
# the specified pattern to the indicated list of hosts.
# The third form tells xdm to handle indirect queries using the chooser;
# the chooser is directed to send its own queries out via the broadcast
# address and display the results on the terminal.
# The fourth form is similar to the third, except instead of using the
# broadcast address, it sends DirectQuerys to each of the hosts in the list
# The fifth form tells xdm which addresses to listen for incoming connections
# on. If present, xdm will only listen for connections on the specified
# interfaces and/or multicast groups.
#
# In all cases, xdm uses the first entry which matches the terminal;
# for IndirectQuery messages only entries with right hand sides can
# match, for Direct and Broadcast Query messages, only entries without
# right hand sides can match.
#
#* #any host can get a login window
#
# To hardwire a specific terminal to a specific host, you can
# leave the terminal sending indirect queries to this host, and
# use an entry of the form:
#
#terminal-a host-a
#
# The nicest way to run the chooser is to just ask it to broadcast
# requests to the network - that way new hosts show up automatically.
# Sometimes, however, the chooser can't figure out how to broadcast,
# so this may not work in all environments.
#
#* CHOOSER BROADCAST #any indirect host can get a chooser
#
# If you'd prefer to configure the set of hosts each terminal sees,
# then just uncomment these lines (and comment the CHOOSER line above)
# and edit the %hostlist line as appropriate
#
#%hostlist host-a host-b
#* CHOOSER %hostlist #
#
# If you have a machine with multiple network interfaces or IP addresses
# you can control which interfaces accept XDMCP packets by listing a LISTEN
# line for each interface you want to listen on. You can additionally list
# one or more multicast groups after each address to listen on those groups
# on that address.
#
# If no LISTEN is specified, the default is the same as "LISTEN *" - listen on
# all unicast interfaces, but not for multicast packets. If any LISTEN lines
# are specified, then only the listed interfaces will be listened on.
#
# IANA has assigned FF0X:0:0:0:0:0:0:12B as the permanently assigned
# multicast addresses for XDMCP, where X in the prefix may be replaced
# by any valid scope identifier, such as 1 for Node-Local, 2 for Link-Local,
# 5 for Site-Local, and so on. The default is equivalent to the example shown
# here using the Link-Local version to most closely match the old IPv4 subnet
# broadcast behavior.
#
# LISTEN * ff02:0:0:0:0:0:0:12b
# This example shows listening for multicast on all scopes up to site-local
#
# LISTEN * ff01:0:0:0:0:0:0:12b ff02:0:0:0:0:0:0:12b ff03:0:0:0:0:0:0:12b ff04:0:0:0:0:0:0:12b ff05:0:0:0:0:0:0:12b
*
/usr/lib/X11/xdm/Xreset:
Code:
#!/bin/sh
# Deregister a login. (Derived from TakeConsole as follows:)
#
/usr/bin/sessreg -d -w /var/log/wtmp -u /var/run/utmp -x /usr/lib/X11/xdm/Xservers -l $DISPLAY -h "" $USER
/usr/lib/X11/xdm/Xresources:
Code:
Xcursor.theme: whiteglass
xlogin*login.translations: #override \
Ctrl<Key>R: abort-display()\n\
<Key>F1: set-session-argument(failsafe) finish-field()\n\
<Key>Delete: delete-character()\n\
<Key>Left: move-backward-character()\n\
<Key>Right: move-forward-character()\n\
<Key>Home: move-to-begining()\n\
<Key>End: move-to-end()\n\
Ctrl<Key>KP_Enter: set-session-argument(failsafe) finish-field()\n\
<Key>KP_Enter: set-session-argument() finish-field()\n\
Ctrl<Key>Return: set-session-argument(failsafe) finish-field()\n\
<Key>Return: set-session-argument() finish-field()
xlogin*greeting: Welcome to CLIENTHOST
xlogin*namePrompt: \040\040\040\040\040\040\040Login:
xlogin*fail: Login incorrect or forbidden by policy
#if WIDTH > 800
xlogin*greetFont: fixed
xlogin*font: fixed
xlogin*promptFont: fixed
xlogin*failFont: fixed
xlogin*greetFace: Fixed
xlogin*face: Fixed
xlogin*promptFace: Fixed
xlogin*failFace: Fixed
#else
xlogin*greetFont: fixed
xlogin*font: fixed
xlogin*promptFont: fixed
xlogin*failFont: fixed
xlogin*greetFace: Fixed
xlogin*face: Fixed
xlogin*promptFace: Fixed
xlogin*failFace: Fixed
#endif
#ifdef COLOR
xlogin*borderWidth: 1
xlogin*frameWidth: 5
xlogin*innerFramesWidth: 2
xlogin*shdColor: grey30
xlogin*hiColor: grey90
xlogin*background: grey
!xlogin*foreground: darkgreen
xlogin*greetColor: Blue3
xlogin*failColor: red
*Foreground: black
*Background: #fffff0
#else
xlogin*borderWidth: 3
xlogin*frameWidth: 0
xlogin*innerFramesWidth: 1
xlogin*shdColor: black
xlogin*hiColor: black
#endif
#if PLANES >= 8
xlogin*logoFileName: /usr/lib/X11/xdm/pixmaps/xorg.xpm
#else
xlogin*logoFileName: /usr/lib/X11/xdm/pixmaps/xorg-bw.xpm
#endif
xlogin*useShape: true
xlogin*logoPadding: 10
XConsole.text.geometry: 480x130
XConsole.verbose: true
XConsole*iconic: true
XConsole*font: fixed
Chooser*geometry: 700x500+300+200
Chooser*allowShellResize: false
Chooser*viewport.forceBars: true
Chooser*label.font: *-new century schoolbook-bold-i-normal-*-240-*
Chooser*label.label: XDMCP Host Menu from CLIENTHOST
Chooser*list.font: -*-*-medium-r-normal-*-*-230-*-*-c-*-iso8859-1
Chooser*Command.font: *-new century schoolbook-bold-r-normal-*-180-*
/usr/lib/X11/xdm/Xservers:
Code:
#
# Xservers file, workstation prototype
#
# This file should contain an entry to start the server on the
# local display; if you have more than one display (not screen),
# you can add entries to the list (one per line). If you also
# have some X terminals connected which do not support XDMCP,
# you can add them here as well. Each X terminal line should
# look like:
# XTerminalName:0 foreign
#
:0 local /usr/bin/X :0
/usr/lib/X11/xdm/Xsession:
Code:
#!/bin/sh
#
# redirect errors to a file in user's home directory if we can
errfile="$HOME/.xsession-errors"
if ( umask 077 && cp /dev/null "$errfile" 2> /dev/null )
then
exec > "$errfile" 2>&1
else
mktemp=/usr/bin/mktemp
for errfile in "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
do
if ef="$( umask 077 && $mktemp "$errfile.XXXXXX" 2> /dev/null)"
then
exec > "$ef" 2>&1
mv "$ef" "$errfile" 2> /dev/null
break
fi
done
fi
case $# in
1)
case $1 in
failsafe)
exec /usr/bin/xterm -geometry 80x24-0-0
;;
esac
esac
# The startup script is not intended to have arguments.
startup=$HOME/.xsession
resources=$HOME/.Xresources
if [ -s "$startup" ]; then
if [ -x "$startup" ]; then
exec "$startup"
else
exec /bin/sh "$startup"
fi
else
if [ -r "$resources" ]; then
/usr/bin/xrdb -load "$resources"
fi
exec /usr/bin/xsm
fi
/usr/lib/X11/xdm/Xsetup_0
Code:
#!/bin/sh
xconsole -geometry 480x130-0-0 -daemon -notify -verbose -fn fixed -exitOnFail
/usr/lib/X11/xdm/Xstartup:
Code:
#!/bin/sh
# Register a login (derived from GiveConsole as follows:)
#
exec /usr/bin/sessreg -a -w /var/log/wtmp -u /var/run/utmp -x /usr/lib/X11/xdm/Xservers -l $DISPLAY -h "" $USER
/usr/lib/X11/xdm/Xwilling:
Code:
#!/bin/sh
#
# The output of this script is displayed in the chooser window.
# (instead of "Willing to manage")
load="`uptime|sed -e 's/^.*load[^0-9]*//'`"
nrusers="`who|cut -c 1-8|sort -u|wc -l|sed 's/^[ ]*//'`"
s=""; [ "$nrusers" != 1 ] && s=s
echo "${nrusers} user${s}, load: ${load}"
/usr/lib/X11/xdm/xdm-config:
Code:
!
!
!
!
!
DisplayManager.authDir: /var/lib/xdm
DisplayManager.errorLogFile: /var/log/xdm.log
DisplayManager.pidFile: /var/run/xdm.pid
DisplayManager.keyFile: /usr/lib/X11/xdm/xdm-keys
DisplayManager.servers: /usr/lib/X11/xdm/Xservers
DisplayManager.accessFile: /usr/lib/X11/xdm/Xaccess
DisplayManager*resources: /usr/lib/X11/xdm/Xresources
!DisplayManager.willing: su nobody -s /bin/sh -c /usr/lib/X11/xdm/Xwilling
! All displays should use authorization, but we cannot be sure
! X terminals may not be configured that way, so they will require
! individual resource settings.
!DisplayManager*authorize: true
DisplayManager._0.authorize: true
DisplayManager*authorize: false
!
DisplayManager*chooser: /usr/lib/X11/xdm/chooser
DisplayManager*startup: /usr/lib/X11/xdm/Xstartup
DisplayManager*session: /usr/lib/X11/xdm/Xsession
DisplayManager*reset: /usr/lib/X11/xdm/Xreset
DisplayManager*authComplain: true
! The following three resources set up display :0 as the console.
DisplayManager._0.setup: /usr/lib/X11/xdm/Xsetup_0
DisplayManager._0.startup: /usr/lib/X11/xdm/GiveConsole
DisplayManager._0.reset: /usr/lib/X11/xdm/TakeConsole
DisplayManager*loginmoveInterval: 10
! SECURITY: do not listen for XDMCP or Chooser requests
! Comment out this line if you want to manage X terminals with xdm
! DisplayManager.requestPort: 0