Package: greetd
Version: 0.10.0-1
Severity: wishlist
Greetd does not include an init script, forcing the use of SystemD. The
attached script seems to work for me, please consider including it with
the Debian package for greetd.
Thanks.
#!/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
PIDFILE=/var/run/greetd.pid
test -x $DAEMON || exit 0
. /lib/lsb/init-functions
SSD_START_ARGS="--pidfile $PIDFILE --name $(basename $DAEMON) --startas $DAEMON"
SSD_STOP_ARGS="--pidfile $PIDFILE --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
[ -f $PIDFILE ] && exit 1
/etc/init.d/greetd start
;;
force-reload)
/etc/init.d/greetd restart
;;
stop)
log_daemon_msg "Stopping greetd" "greetd"
if ! [ -f $PIDFILE ]; then
log_progress_msg "not running ($PIDFILE not found)"
else
start-stop-daemon --stop --quiet $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"
else
if [ -f $PIDFILE ]; then
log_progress_msg "(removing stale $PIDFILE)"
rm $PIDFILE
fi
fi
fi
log_end_msg 0
;;
*)
echo "Usage: /etc/init.d/greetd {start|stop|restart|force-reload}"
exit 1
;;
esac
exit 0