Last active
December 6, 2019 08:02
-
-
Save sabrehagen/ce9c056031198dc97ed9bc839e29647b to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# Largely adapted from xdm's init script: | |
# Copyright 1998-2002, 2004, 2005 Branden Robinson <[email protected]>. | |
# Copyright 2006 Eugene Konev <[email protected]> | |
# | |
# 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 dbus | |
# Required-Stop: $local_fs $remote_fs dbus | |
# Should-Start: $named | |
# 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/sbin/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" -a "$(cat $DEFAULT_DISPLAY_MANAGER_FILE)" != "/usr/sbin/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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment