1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
#!/bin/sh
### BEGIN INIT INFO
# Provides: greetd
# 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: The greetd login manager
### END INIT INFO
set -e
DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager
PATH=/bin:/usr/bin:/sbin:/usr/sbin
DAEMON=/usr/sbin/greetd
test -x $DAEMON || exit 0
. /lib/lsb/init-functions
SSD_START_ARGS="--background --exec $DAEMON --name $(basename $DAEMON) --startas $DAEMON"
SSD_STOP_ARGS="--exec $DAEMON --name $(basename $DAEMON) --retry TERM/5/TERM/5"
case "$1" in
start)
if [ -e $DEFAULT_DISPLAY_MANAGER_FILE ] &&
[ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" != "$DAEMON" ]; then
echo "Not starting greetd; it is not the default" \
"display manager."
else
log_daemon_msg "Starting greetd" "greetd"
start-stop-daemon --start --quiet $SSD_START_ARGS \
|| log_progress_msg "already running"
log_end_msg 0
fi
;;
restart)
/etc/init.d/greetd stop
/etc/init.d/greetd start
;;
force-reload)
/etc/init.d/greetd restart
;;
stop)
log_daemon_msg "Stopping greetd" "greetd"
start-stop-daemon --stop --quiet --oknodo $SSD_STOP_ARGS
SSD_RES=$?
if [ $SSD_RES -eq 1 ]; then
log_progress_msg "not running"
fi
if [ $SSD_RES -eq 2 ]; then
log_progress_msg "not responding to TERM signals"
fi
log_end_msg 0
;;
*)
echo "Usage: /etc/init.d/greetd {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0
|