summaryrefslogtreecommitdiff
path: root/plymouth/debian/plymouth.init
blob: 64ee8d2f7f9a1e57040f6e4fb3af597262d3ef5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#!/bin/sh

### BEGIN INIT INFO
# Provides:		plymouth
# Required-Start:	udev $remote_fs $all
# Required-Stop:	$remote_fs
# Should-Start:		$x-display-manager
# Should-Stop:		$x-display-manager
# Default-Start:	2 3 4 5
# Default-Stop:		0 6
# Short-Description:	Stop plymouth during boot and start it on shutdown
### END INIT INFO

PATH="/sbin:/bin:/usr/sbin:/usr/bin"
NAME="plymouth"
DESC="Boot splash manager"

test -x /sbin/plymouthd || exit 0

if [ -r "/etc/default/${NAME}" ]
then
	. "/etc/default/${NAME}"
fi

. /lib/lsb/init-functions

set -e

SPLASH="true"
for ARGUMENT in $(cat /proc/cmdline)
do
	case "${ARGUMENT}" in
		splash*)
			SPLASH="true"
			;;

		nosplash*|plymouth.enable=0)
			SPLASH="false"
			;;
	esac
done

case "${1}" in
	start)
		case "${SPLASH}" in
			true)
				/bin/plymouth quit --retain-splash
				;;
		esac
		;;

	stop)
		case "${SPLASH}" in
			true)
				if ! plymouth --ping
				then
					/sbin/plymouthd --mode=shutdown
				fi

				RUNLEVEL="$(/sbin/runlevel | cut -d " " -f 2)"

				case "${RUNLEVEL}" in
					0)
						TEXT="Shutting down system..."
						;;

					6)
						TEXT="Restarting system..."
						;;
				esac

				/bin/plymouth message --text="${TEXT}"

				/bin/plymouth --show-splash
				;;
		esac
		;;

	restart|force-reload)

		;;

	*)
		echo "Usage: ${0} {start|stop|restart|force-reload}" >&2
		exit 1
		;;
esac

exit 0
bgstack15