#! /bin/sh
### BEGIN INIT INFO
# Provides:          x-display-manager gdm
# Should-Start:      console-screen acpid
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      S 0 1 6
# Short-Description: GNOME Display Manager
# Description:       Debian init script for the GNOME Display Manager
### END INIT INFO
#
# Author:	Ryan Murray <rmurray@debian.org>
#
set -e

PATH=/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/gdm
DEBCONF_DAEMON=/usr/bin/gdm

test -x $DAEMON || exit 0

if [ -r /etc/default/locale ]; then
  . /etc/default/locale
  export LANG LANGUAGE
fi

. /lib/lsb/init-functions

# To start gdm even if it is not the default display manager, change
# HEED_DEFAULT_DISPLAY_MANAGER to "false."
HEED_DEFAULT_DISPLAY_MANAGER=true
DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager

case "$1" in
  start)
  	if [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" -a "$HEED_DEFAULT_DISPLAY_MANAGER" = "true" -a "$(cat $DEFAULT_DISPLAY_MANAGER_FILE 2> /dev/null)" != "$DEBCONF_DAEMON" ]; then
		log_action_msg "Not starting GNOME Display Manager; it is not the default display manager"
	else
		log_daemon_msg "Starting GNOME Display Manager" "gdm"
		start_daemon $DAEMON
		log_end_msg $?
	fi
  ;;
  stop)
	log_daemon_msg "Stopping GNOME Display Manager" "gdm"
	set +e
	start-stop-daemon --stop --quiet --pidfile /var/run/gdm.pid \
		--name gdm --retry 5
	set -e
	log_end_msg $?
  ;;
  reload)
  	log_daemon_msg "Scheduling reload of GNOME Display Manager configuration" "gdm"
	set +e
	start-stop-daemon --stop --signal USR1 --quiet --pidfile \
		/var/run/gdm.pid --name gdm
	set -e
	log_end_msg $?
  ;;
  restart|force-reload)
	$0 stop
	$0 start
  ;;
  *)
	echo "Usage: /etc/init.d/gdm {start|stop|restart|reload|force-reload}"
	exit 1
  ;;
esac

exit 0
