#
# Version: @(#) /etc/rc.d/init.d/xdm 1.3
#
-# chkconfig: 5 95 5
-# description: Starts and stops the X Display Manager at startup and
-# shutdown. can run one of several display managers; gdm, kdm,
+# chkconfig: 5 95 05
+# description: Starts and stops the X Display Manager at startup and \
+# shutdown. can run one of several display managers; gdm, kdm, \
# or xdm, in that order of preferential treatment.
#
# config: /etc/X11/xdm/xdm-config
. /etc/rc.d/init.d/functions
# Get service config
-if [ -f /etc/sysconfig/xdm ] ; then
+if [ -f /etc/sysconfig/xdm ]; then
. /etc/sysconfig/xdm
fi
-
-# See how we were called.
-case "$1" in
- start)
- # Check if the service is already running?
+start() {
if [ ! -f /var/lock/subsys/xdm ]; then
msg_starting "X Display Manager"
- daemon /usr/X11R6/bin/xdm
- touch /var/lock/subsys/xdm
+ daemon xdm
+ RETVAL=$?
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/xdm
else
msg_already_running "X Display Manager"
- exit 1
fi
- ;;
- stop)
+}
+
+stop() {
if [ -f /var/lock/subsys/xdm ]; then
msg_stopping "X Display Manager"
killproc xdm
- RETVAL=$?
rm -f /var/lock/subsys/xdm
else
msg_not_running "X Display Manager"
- exit 1
fi
+}
+
+condrestart() {
+ if [ -f /var/lock/subsys/xdm ]; then
+ stop
+ start
+ else
+ msg_not_running xdm
+ RETVAL=$1
+ fi
+}
+
+RETVAL=0
+# See how we were called.
+case "$1" in
+ start)
+ start
;;
- status)
- status xdm
+ stop)
+ stop
;;
- restart|reload)
- $0 stop
- $0 start
- exit $?
+ restart)
+ stop
+ start
+ ;;
+ try-restart)
+ condrestart 0
;;
force-reload)
- $0 stop && $0 start
+ condrestart 7
+ ;;
+ status)
+ status xdm
exit $?
;;
*)
- msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
- exit 1
+ msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}"
+ exit 3
esac
exit $RETVAL