1#!/bin/sh
2#
3### BEGIN INIT INFO
4# Provides: xserver
5# Required-Start: $local_fs $remote_fs dbus
6# Required-Stop: $local_fs $remote_fs
7# Default-Start:     5
8# Default-Stop:      0 1 2 3 6
9### END INIT INFO
10
11killproc() {            # kill the named process(es)
12        pid=`/bin/pidof $1`
13        [ "$pid" != "" ] && kill $pid
14}
15
16read CMDLINE < /proc/cmdline
17for x in $CMDLINE; do
18        case $x in
19        x11=false)
20		echo "X Server disabled"
21		exit 0;
22                ;;
23        esac
24done
25
26case "$1" in
27  start)
28       . /etc/profile
29
30       #default for USER
31       . /etc/default/xserver-nodm
32       echo "Starting Xserver"
33       if [ "$USER" != "root" ]; then
34           # setting for rootless X
35           chmod o+w /var/log
36           chmod g+r /dev/tty[0-3]
37           # hidraw device is probably needed
38           if [ -e /dev/hidraw0 ]; then
39               chmod o+rw /dev/hidraw*
40           fi
41       fi
42
43       # Using su rather than sudo as latest 1.8.1 cause failure [YOCTO #1211]
44       su -l -c '/etc/xserver-nodm/Xserver &' $USER
45       # Wait for the desktop to say its finished loading
46       # before loading the rest of the system
47       # dbus-wait org.matchbox_project.desktop Loaded
48  ;;
49
50  stop)
51        echo "Stopping XServer"
52        killproc xinit
53        sleep 1
54        chvt 1 &
55  ;;
56
57  restart)
58	$0 stop
59        $0 start
60  ;;
61
62  *)
63        echo "usage: $0 { start | stop | restart }"
64  ;;
65esac
66
67exit 0
68