43eae951775a175f7c81b996a467e6da9972e64a
[openembedded.git] / recipes / gnome / gdm-2.28.1 / gdm
1 #! /bin/sh
2 ### BEGIN INIT INFO
3 # Provides:          gdm
4 # Should-Start:      console-screen acpid dbus hal network-manager
5 # Required-Start:    $local_fs $remote_fs
6 # Required-Stop:     $local_fs $remote_fs
7 # Default-Start:     2 3 4 5
8 # Default-Stop:      0 1 6
9 # Short-Description: GNOME Display Manager
10 # Description:       Debian init script for the GNOME Display Manager
11 ### END INIT INFO
12 #
13 # Author:       Ryan Murray <rmurray@debian.org>
14 #
15 set -e
16
17 PATH=/sbin:/bin:/usr/sbin:/usr/bin
18 DAEMON=/usr/sbin/gdm
19
20 test -x $DAEMON || exit 0
21
22 if [ -r /etc/default/locale ]; then
23   . /etc/default/locale
24   export LANG LANGUAGE
25 fi
26
27 # To start gdm even if it is not the default display manager, change
28 # HEED_DEFAULT_DISPLAY_MANAGER to "false."
29 HEED_DEFAULT_DISPLAY_MANAGER=true
30 DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
31
32 case "$1" in
33   start)
34         # make needed directories in volatile
35
36         if [ -e /var/log/gdm ] ; then 
37                 rm -rf /var/log/gdm
38         fi
39
40         mkdir -m 01770 /var/log/gdm
41         chown gdm:gdm /var/log/gdm
42
43         if [ -e /tmp/.ICE-unix ] ; then 
44                 rm -rf /tmp/.ICE-unix
45         fi
46
47         mkdir -m 01777 /tmp/.ICE-unix
48         chown root:root /tmp/.ICE-unix
49
50         CONFIGURED_DAEMON=$(basename "$(cat $DEFAULT_DISPLAY_MANAGER_FILE 2> /dev/null)")
51         if grep -wqs text /proc/cmdline; then
52             echo "Not starting GNOME Display Manager (gdm); found 'text' in kernel commandline."
53         elif [ -e "$DEFAULT_DISPLAY_MANAGER_FILE" ] && \
54            [ "$HEED_DEFAULT_DISPLAY_MANAGER" = "true" ] && \
55            [ "$CONFIGURED_DAEMON" != gdm ] ; then
56                 echo "Not starting GNOME Display Manager; it is not the default display manager"
57         else
58                 echo "Starting GNOME Display Manager" "gdm"
59                 start-stop-daemon --start -b --exec $DAEMON 
60         fi
61   ;;
62   stop)
63         echo "Stopping GNOME Display Manager" "gdm"
64         set +e
65         start-stop-daemon --stop --quiet --pidfile /var/run/gdm.pid \
66                 --name gdm --retry 5
67         set -e
68   ;;
69   reload)
70         echo "Scheduling reload of GNOME Display Manager configuration" "gdm"
71         set +e
72         start-stop-daemon --stop --signal USR1 --quiet --pidfile \
73                 /var/run/gdm.pid --name gdm
74         set -e
75   ;;
76   status)
77         status_of_proc -p "$PIDFILE" "$DAEMON" gdm && exit 0 || exit $?
78   ;;
79   restart|force-reload)
80         $0 stop
81         $0 start
82   ;;
83   *)
84         echo "Usage: /etc/init.d/gdm {start|stop|restart|reload|force-reload|status}"
85         exit 1
86   ;;
87 esac
88
89 exit 0