#! /bin/sh ### BEGIN INIT INFO # Provides: gdm # Should-Start: console-screen acpid dbus hal network-manager # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: GNOME Display Manager # Description: Debian init script for the GNOME Display Manager ### END INIT INFO # # Author: Ryan Murray # set -e PATH=/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/usr/sbin/gdm test -x $DAEMON || exit 0 if [ -r /etc/default/locale ]; then . /etc/default/locale export LANG LANGUAGE fi # 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) # make needed directories in volatile if [ -e /var/log/gdm ] ; then rm -rf /var/log/gdm fi mkdir -m 01770 /var/log/gdm chown gdm:gdm /var/log/gdm if [ -e /tmp/.ICE-unix ] ; then rm -rf /tmp/.ICE-unix fi mkdir -m 01777 /tmp/.ICE-unix chown root:root /tmp/.ICE-unix CONFIGURED_DAEMON=$(basename "$(cat $DEFAULT_DISPLAY_MANAGER_FILE 2> /dev/null)") if grep -wqs text /proc/cmdline; then echo "Not starting GNOME Display Manager (gdm); found 'text' in kernel commandline." elif [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ] && \ [ "$HEED_DEFAULT_DISPLAY_MANAGER" = "true" ] && \ [ "$CONFIGURED_DAEMON" != gdm ] ; then echo "Not starting GNOME Display Manager; it is not the default display manager" else echo "Starting GNOME Display Manager" "gdm" start-stop-daemon --start -b --exec $DAEMON fi ;; stop) echo "Stopping GNOME Display Manager" "gdm" set +e start-stop-daemon --stop --quiet --pidfile /var/run/gdm.pid \ --name gdm --retry 5 set -e ;; reload) echo "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 ;; status) status_of_proc -p "$PIDFILE" "$DAEMON" gdm && exit 0 || exit $? ;; restart|force-reload) $0 stop $0 start ;; *) echo "Usage: /etc/init.d/gdm {start|stop|restart|reload|force-reload|status}" exit 1 ;; esac exit 0