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
 | 
