|
|
|
# tdm-trinity - Trinity Display Manager
|
|
|
|
#
|
|
|
|
# The display manager service manages the X servers running on the
|
|
|
|
# system, providing login and auto-login services
|
|
|
|
|
|
|
|
description "Trinity Display Manager"
|
|
|
|
author "Richard Johnson and Timothy Pearson"
|
|
|
|
|
|
|
|
start on ((filesystem
|
|
|
|
and runlevel [!06]
|
|
|
|
and started dbus
|
|
|
|
and stopped udevtrigger
|
|
|
|
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
|
|
|
|
|
|
|
|
script
|
|
|
|
if [ -n "$UPSTART_EVENTS" ]
|
|
|
|
then
|
|
|
|
[ ! -f /etc/X11/default-display-manager -o "$(cat /etc/X11/default-display-manager 2>/dev/null)" = "/opt/trinity/bin/tdm" ] || { stop; exit 0; }
|
|
|
|
|
|
|
|
# Since we have no plymouth integration to take over the VT we simply
|
|
|
|
# quit plymouth all the time. Note that sleeping appears necessary
|
|
|
|
# as the VT freeing is somewhat delayed and TDM would otherwise go
|
|
|
|
# to configured KVT+1 (if plymouth was using it).
|
|
|
|
$(plymouth --quit && plymouth --wait && sleep 1) || :
|
|
|
|
if [ "$RUNLEVEL" = S -o "$RUNLEVEL" = 1 ]
|
|
|
|
then
|
|
|
|
# Single-user mode
|
|
|
|
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
|
|
|
|
|
|
|
|
TDEDIRS=/opt/trinity/
|
|
|
|
PATH=/opt/trinity/bin:/bin:/usr/bin:/sbin:/usr/sbin
|
|
|
|
|
|
|
|
initctl emit starting-dm DM=tdm-trinity
|
|
|
|
|
|
|
|
exec /opt/trinity/bin/tdm
|
|
|
|
|
|
|
|
end script
|
|
|
|
|
|
|
|
post-stop script
|
|
|
|
if [ "$UPSTART_STOP_EVENTS" = runlevel ]; then
|
|
|
|
initctl emit desktop-shutdown
|
|
|
|
fi
|
|
|
|
end script
|
|
|
|
|