66 lines
1.4 KiB
Bash
Executable File
66 lines
1.4 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
### BEGIN INIT INFO
|
|
# Provides: xserver
|
|
# Required-Start: $local_fs $remote_fs dbus
|
|
# Required-Stop: $local_fs $remote_fs
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
### END INIT INFO
|
|
|
|
killproc() { # kill the named process(es)
|
|
pid=`/bin/pidof $1`
|
|
[ "$pid" != "" ] && kill $pid
|
|
}
|
|
|
|
read CMDLINE < /proc/cmdline
|
|
for x in $CMDLINE; do
|
|
case $x in
|
|
x11=false)
|
|
echo "X Server disabled"
|
|
exit 0;
|
|
;;
|
|
esac
|
|
done
|
|
|
|
case "$1" in
|
|
start)
|
|
. /etc/profile
|
|
username=root
|
|
echo "Starting Xserver"
|
|
if [ -f /etc/X11/Xusername ]; then
|
|
username=`cat /etc/X11/Xusername`
|
|
# setting for rootless X
|
|
chmod o+w /var/log
|
|
chmod g+r /dev/tty[0-3]
|
|
chmod o+rw /dev/input/*
|
|
# hidraw device is probably needed
|
|
if [ -e /dev/hidraw0 ]; then
|
|
chmod o+rw /dev/hidraw*
|
|
fi
|
|
fi
|
|
# Using su rather than sudo as latest 1.8.1 cause failure [YOCTO #1211]
|
|
su -l -c '/etc/X11/Xserver&' $username
|
|
# Wait for the desktop to say its finished loading
|
|
# before loading the rest of the system
|
|
# dbus-wait org.matchbox_project.desktop Loaded
|
|
;;
|
|
|
|
stop)
|
|
echo "Stopping XServer"
|
|
killproc xinit
|
|
;;
|
|
|
|
restart)
|
|
$0 stop
|
|
sleep 1
|
|
$0 start
|
|
;;
|
|
|
|
*)
|
|
echo "usage: $0 { start | stop | restart }"
|
|
;;
|
|
esac
|
|
|
|
exit 0
|