#! /bin/sh
#
# rc.4 This file is executed by init(8) when the system is being
# initialized for run level 4 (XDM)
#
# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
# Modifyed by: Patrick J. Volkerding, <volkerdi@slackware.com>,
# Andrey V. Kosteltsev, <kx@radix-linux.su>
#
# Tell the viewers what's going to happen...
echo "Starting up X11 session manager..."
# If you'd like to start something different or in a different order than
# the options below, create your own startup script /etc/rc.d/rc.4.local
# and make it executable and it will be used instead:
if [ -x /etc/rc.d/rc.4.local ]; then
exec /bin/bash /etc/rc.d/rc.4.local
fi
# Try to use lightdm session manager:
if [ -x /usr/bin/lightdm ]; then
#
# Disable to create /.cache directory by root:
#
mkdir -p /var/lib/lightdm/.cache
chown -R lightdm:lightdm /var/lib/lightdm
PATH="/usr/bin:/bin"
HOME=/var/lib/lightdm
export PATH HOME
exec /usr/bin/lightdm
fi
# Try to use GNOME's gdm session manager. This comes first because if gdm is on the
# machine then the user probably installed it and wants to use it by default:
if [ -x /usr/bin/gdm ]; then
exec /usr/bin/gdm -nodaemon
fi
# Someone thought that gdm looked prettier in /usr/sbin, so look there, too:
if [ -x /usr/sbin/gdm ]; then
exec /usr/sbin/gdm -nodaemon
fi
# Not there? OK, try to use KDE's kdm session manager:
if [ -x /opt/kde/bin/kdm ]; then
exec /opt/kde/bin/kdm -nodaemon
elif [ -x /usr/bin/kdm ]; then
exec /usr/bin/kdm -nodaemon
fi
# Look for SDDM as well:
if [ -x /usr/bin/sddm ]; then
exec /usr/bin/sddm
fi
# If all you have is XDM, I guess it will have to do:
if [ -x /usr/bin/xdm ]; then
exec /usr/bin/xdm -nodaemon
elif [ -x /usr/X11R6/bin/xdm ]; then
exec /usr/X11R6/bin/xdm -nodaemon
fi
# error
echo ""
echo "Hey, you don't have GDM, KDM, SDDM or XDM. Can't use runlevel 4 without"
echo "one of those installed."
echo ""
sleep 30
# All done.