#!/sbin/runscript DAEMON=/usr/bin/X DAEMON_ARGS="-ac -config /etc/X11/xorg.conf.nvidia -sharevts -modulepath /usr/local/lib/snail -nolisten tcp -noreset :1 vt9" PIDFILE=/tmp/.X1-lock depend() { need xdm } start() { ebegin "Starting Snail nVidia Optimus" snail.nv_pwr_on || eend -1 ! ps -p `cat $PIDFILE 2>&1` > /dev/null 2>&1 || eend -1 export LD_LIBRARY_PATH=/usr/lib/opengl/nvidia/lib:/usr/lib/opengl/nvidia/lib start-stop-daemon --start --quiet --background --pidfile $PIDFILE --exec $DAEMON -- $DAEMON_ARGS status=$? # FIXME: remove --background flag and next cycle let i=300 while [ 0 -lt $i ]; do [ -f $PIDFILE ] && pgrep -s `cat $PIDFILE` &>/dev/null && break sleep 0.01 let i-- done eend $status } stop() { ebegin "Stopping Snail nVidia Optimus" kill `cat $PIDFILE 2>&1` > /dev/null 2>&1 snail.nv_pwr_off || eend -1 eend $result }