home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / etc / init.d / gdm < prev    next >
Encoding:
Text File  |  2009-04-03  |  3.5 KB  |  116 lines

  1. #! /bin/sh
  2. #
  3. # Originally based on:
  4. # Version:    @(#)skeleton  1.8  03-Mar-1998  miquels@cistron.nl
  5. #
  6. # Modified for gdm, Steve Haslam <steve@arise.dmeon.co.uk> 14mar99
  7. # modified to remove --exec, as it does not work on upgrades. 18jan2000
  8. # modified to use --name, to detect stale PID files 18mar2000
  9. # sleep until gdm dies, then restart it 16jul2000
  10. # get along with other display managers (Branden Robinson, Ryan Murray) 05sep2001
  11.  
  12. set -e
  13.  
  14. # To start gdm even if it is not the default display manager, change
  15. # HEED_DEFAULT_DISPLAY_MANAGER to "false."
  16. HEED_DEFAULT_DISPLAY_MANAGER=true
  17. DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
  18. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  19. DAEMON=/usr/sbin/gdm
  20. PIDFILE=/var/run/gdm.pid
  21. UPGRADEFILE=/var/run/gdm.upgrade
  22.  
  23. if [ -e $UPGRADEFILE -a "$1" != "restart" -a "$1" != "force-reload" ]; then
  24.     SSD_ARG="--startas $DAEMON"
  25.     rm -f $UPGRADEFILE
  26. else
  27.     SSD_ARG="--exec $DAEMON"
  28. fi
  29.  
  30. # Allow cdd to override the config
  31. if [ -f /etc/gdm/gdm-cdd.conf ]; then
  32.     CONFIG_FILE="--config=/etc/gdm/gdm-cdd.conf"
  33. fi
  34.  
  35. test -x $DAEMON || exit 0
  36.  
  37. if [ -r /etc/default/locale ]; then
  38.   . /etc/default/locale
  39.   export LANG LANGUAGE
  40. elif [ -r /etc/environment ]; then
  41.   . /etc/environment
  42.   export LANG LANGUAGE
  43. fi
  44.  
  45. . /lib/lsb/init-functions
  46.  
  47. case "$1" in
  48.   start)
  49.         if grep -wqs text /proc/cmdline; then
  50.         log_warning_msg "Not starting GNOME Display Manager (gdm); found 'text' in kernel commandline."
  51.       elif [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" -a "$HEED_DEFAULT_DISPLAY_MANAGER" = "true" -a "$(cat $DEFAULT_DISPLAY_MANAGER_FILE 2>/dev/null)" != "$DAEMON" ]; then
  52.         log_warning_msg "Not starting GNOME Display Manager (gdm); it is not the default display manager."
  53.     else
  54.         if [ -z "$SPLASH_ORIG_CONSOLE" ]; then
  55.             log_begin_msg "Starting GNOME Display Manager..."
  56.         fi
  57.         # if usplash is running, make sure to stop it now, yes "start" kills it.
  58.         if [ "$SPLASH_ORIG_CONSOLE" ]; then
  59.             # usplash was already shut down earlier, so don't
  60.             # log success as it will look weird on the console.
  61.             log_end_msg=:
  62.             elif pidof usplash > /dev/null; then
  63.             SPLASH_ORIG_CONSOLE="$(fgconsole)"
  64.             DO_NOT_SWITCH_VT=yes /etc/init.d/usplash start
  65.             # We've just shut down usplash, so don't log
  66.             # success as it will look weird on the console.
  67.             log_end_msg=:
  68.         else
  69.             log_end_msg=log_end_msg
  70.         fi
  71.         start-stop-daemon --start --quiet --oknodo --pidfile $PIDFILE --name gdm $SSD_ARG -- $CONFIG_FILE >/dev/null 2>&1 || log_end_msg 1
  72.         $log_end_msg 0
  73.  
  74.         if [ "$SPLASH_ORIG_CONSOLE" ] && \
  75.            [ "$SPLASH_ORIG_CONSOLE" != serial ]; then
  76.             # Wait a short while for the active console to
  77.             # change, to try to avoid visible console noise from
  78.             # later init scripts.
  79.             i=0
  80.             while [ "$(fgconsole)" = "$SPLASH_ORIG_CONSOLE" ]; do
  81.                 i="$(($i + 1))"
  82.                 if [ "$i" -gt 50 ]; then
  83.                     break
  84.                 fi
  85.                 sleep 0.1
  86.             done
  87.         fi
  88.     fi
  89.   ;;
  90.   stop)
  91.     log_begin_msg "Stopping GNOME Display Manager..."
  92.     start-stop-daemon --stop  --quiet --oknodo --pidfile $PIDFILE --name gdm $SSD_ARG --retry 30 >/dev/null 2>&1
  93.     log_end_msg 0
  94.   ;;
  95.   reload)
  96.     log_begin_msg "Reloading GNOME Display Manager configuration..."
  97.     log_warning_msg "Changes will take effect when all current X sessions have ended."
  98.     start-stop-daemon --stop --signal USR1 --quiet --pidfile \
  99.         $PIDFILE --name gdm $SSD_ARG >/dev/null 2>&1
  100.     log_end_msg 0
  101.   ;;
  102.   restart|force-reload)
  103.     $0 stop || true
  104.     $0 start
  105.   ;;
  106.   status)
  107.     status_of_proc -p "$PIDFILE" "$DAEMON" gdm && exit 0 || exit $?
  108.   ;;
  109.   *)
  110.     log_success_msg "Usage: /etc/init.d/gdm {start|stop|restart|reload|force-reload|status}"
  111.     exit 1
  112.   ;;
  113. esac
  114.  
  115. exit 0
  116.