diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2013-07-17 11:36:16 +1200 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2013-07-17 11:36:16 +1200 |
commit | e4edb98029e6d8c3589ba2ad7623b2009fbcea00 (patch) | |
tree | a49f2c8db4040847b38199d609027d99b3911ccc /debian/lightdm.init | |
parent | 14ded03ec23df3dc4d45d571317bc72226dbdae9 (diff) | |
download | lightdm-e4edb98029e6d8c3589ba2ad7623b2009fbcea00.tar.gz |
Bring Ubuntu packaging in-branch
Diffstat (limited to 'debian/lightdm.init')
-rw-r--r-- | debian/lightdm.init | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/debian/lightdm.init b/debian/lightdm.init new file mode 100644 index 00000000..091e3a37 --- /dev/null +++ b/debian/lightdm.init @@ -0,0 +1,112 @@ +#!/bin/sh + +# Largely adapted from xdm's init script: +# Copyright 1998-2002, 2004, 2005 Branden Robinson <branden@debian.org>. +# Copyright 2006 Eugene Konev <ejka@imfi.kspu.ru> +# +# This is free software; you may redistribute it and/or modify +# it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 2, +# or (at your option) any later version. +# +# This is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License with +# the Debian operating system, in /usr/share/common-licenses/GPL; if +# not, write to the Free Software Foundation, Inc., 51 Franklin Street, +# Fifth Floor, Boston, MA 02110-1301, USA. + +### BEGIN INIT INFO +# Provides: lightdm +# Required-Start: $local_fs $remote_fs +# Required-Stop: $local_fs $remote_fs +# Should-Start: $named acpid hal +# Should-Stop: $named +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start lightdm +### END INIT INFO + +set -e + +HEED_DEFAULT_DISPLAY_MANAGER= +# To start lightdm even if it is not the default display manager, change +# HEED_DEFAULT_DISPLAY_MANAGER to "false." +# Also overridable from command line like: +# HEED_DEFAULT_DISPLAY_MANAGER=false /etc/init.d/lightdm start +[ -z "$HEED_DEFAULT_DISPLAY_MANAGER" ] && HEED_DEFAULT_DISPLAY_MANAGER=true + +DEFAULT_DISPLAY_MANAGER_FILE=/etc/X11/default-display-manager + +PATH=/bin:/usr/bin:/sbin:/usr/sbin +DAEMON=/usr/bin/lightdm +PIDFILE=/var/run/lightdm.pid + +if [ -r /etc/default/locale ]; then + . /etc/default/locale + export LANG LANGUAGE +fi + +test -x $DAEMON || exit 0 + +. /lib/lsb/init-functions + +SSD_START_ARGS="--pidfile $PIDFILE --name $(basename $DAEMON) --startas $DAEMON -- -d" +SSD_STOP_ARGS="--pidfile $PIDFILE --name $(basename $DAEMON) --retry TERM/5/TERM/5" + +case "$1" in + start) + if [ "$HEED_DEFAULT_DISPLAY_MANAGER" = "true" ] && + [ -e $DEFAULT_DISPLAY_MANAGER_FILE ] && + [ "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" != "/usr/bin/lightdm" ]; then + echo "Not starting X display manager (lightdm); it is not the default" \ + "display manager." + else + log_daemon_msg "Starting X display manager" "lightdm" + start-stop-daemon --start --quiet $SSD_START_ARGS \ + || log_progress_msg "already running" + log_end_msg 0 + fi + ;; + + restart) + [ -f $PIDFILE ] && /etc/init.d/lightdm stop + [ -f $PIDFILE ] && exit 1 + /etc/init.d/lightdm start + ;; + + stop) + log_daemon_msg "Stopping X display manager" "lightdm" + 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 + ;; + force-reload) + /etc/init.d/lightdm restart + ;; + + *) + echo "Usage: /etc/init.d/lightdm {start|stop|restart|force-reload}" + exit 1 + ;; +esac + +exit 0 |