blob: bfa0a8d6cb8e33c66773474724032bad00afa333 [file] [log] [blame]
Patrick Williamsc124f4f2015-09-15 14:41:29 -05001#!/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 username=root
30 echo "Starting Xserver"
31 if [ -f /etc/X11/Xusername ]; then
32 username=`cat /etc/X11/Xusername`
33 # setting for rootless X
34 chmod o+w /var/log
35 chmod g+r /dev/tty[0-3]
36 # hidraw device is probably needed
37 if [ -e /dev/hidraw0 ]; then
38 chmod o+rw /dev/hidraw*
39 fi
40 fi
41 # Using su rather than sudo as latest 1.8.1 cause failure [YOCTO #1211]
42 su -l -c '/etc/X11/Xserver&' $username
43 # Wait for the desktop to say its finished loading
44 # before loading the rest of the system
45 # dbus-wait org.matchbox_project.desktop Loaded
46 ;;
47
48 stop)
49 echo "Stopping XServer"
50 killproc xinit
51 sleep 1
52 chvt 1 &
53 ;;
54
55 restart)
56 $0 stop
57 $0 start
58 ;;
59
60 *)
61 echo "usage: $0 { start | stop | restart }"
62 ;;
63esac
64
65exit 0