|
|
@@ -0,0 +1,70 @@ |
|
|
|
# SLiM - Simple Login Manager |
|
|
|
# |
|
|
|
# The display manager service manages the X servers running on the |
|
|
|
# system, providing login and auto-login services |
|
|
|
# |
|
|
|
# based on lightdm upstart script |
|
|
|
|
|
|
|
description "Simple Login Manager" |
|
|
|
author "Richard Johnson" |
|
|
|
|
|
|
|
start on ((filesystem |
|
|
|
and runlevel [!06] |
|
|
|
and started dbus |
|
|
|
and (drm-device-added card0 PRIMARY_DEVICE_FOR_DISPLAY=1 |
|
|
|
or stopped udev-fallback-graphics)) |
|
|
|
or runlevel PREVLEVEL=S) |
|
|
|
|
|
|
|
stop on runlevel [016] |
|
|
|
|
|
|
|
emits login-session-start |
|
|
|
emits desktop-session-start |
|
|
|
emits desktop-shutdown |
|
|
|
|
|
|
|
env XORGCONFIG=/etc/X11/xorg.conf |
|
|
|
|
|
|
|
script |
|
|
|
if [ -n "$UPSTART_EVENTS" ] |
|
|
|
then |
|
|
|
# Check kernel command-line for inhibitors, unless we are being called |
|
|
|
# manually |
|
|
|
for ARG in $(cat /proc/cmdline); do |
|
|
|
if [ "$ARG" = "text" ]; then |
|
|
|
plymouth quit || : |
|
|
|
stop |
|
|
|
exit 0 |
|
|
|
fi |
|
|
|
done |
|
|
|
|
|
|
|
[ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/bin/slim" -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/usr/sbin/slim" ] || { stop; exit 0; } |
|
|
|
|
|
|
|
if [ "$RUNLEVEL" = S -o "$RUNLEVEL" = 1 ] |
|
|
|
then |
|
|
|
# Single-user mode |
|
|
|
plymouth quit || : |
|
|
|
exit 0 |
|
|
|
fi |
|
|
|
fi |
|
|
|
|
|
|
|
if [ -r /etc/default/locale ]; then |
|
|
|
. /etc/default/locale |
|
|
|
export LANG LANGUAGE |
|
|
|
elif [ -r /etc/environment ]; then |
|
|
|
. /etc/environment |
|
|
|
export LANG LANGUAGE |
|
|
|
fi |
|
|
|
export XORGCONFIG |
|
|
|
|
|
|
|
exec slim |
|
|
|
end script |
|
|
|
|
|
|
|
post-start script |
|
|
|
sleep 5 |
|
|
|
clear > /dev/tty7 |
|
|
|
end script |
|
|
|
|
|
|
|
post-stop script |
|
|
|
if [ "$UPSTART_STOP_EVENTS" = runlevel ]; then |
|
|
|
initctl emit desktop-shutdown |
|
|
|
fi |
|
|
|
end script |