I found a bug in the script.  I fixed it and committed the fix.  I attached it
here as well.  Copy this to /etc/init.d and try again.

.hc

On 11/25/2012 12:11 PM, Epic Jefferson wrote:
> Hans:
> 
> to make sure i had everything correct i started from scratch,
> i did everything you indicated including the exact patch location, still
> nothing.
> i added the auto login as suggested by Cyrille, nada.
> 
> Cyrille:
> could you be more specific as to what i would replace the startx with?
> should i indicate the exact path as well?
> 
> like so: su pi -c /home/pi/Desktop/whatever.pd
> 
> i tested it with startx and it did not work anyway.
> 
> 
> On Sun, Nov 25, 2012 at 4:14 AM, Cyrille Henry <[email protected]> wrote:
> 
>> hello,
>>
>> to start a patch on a RPi, you can also follow this instruction :
>> http://elinux.org/RPi_Debian_**Auto_Login<http://elinux.org/RPi_Debian_Auto_Login>
>>
>> once autologin work, you can replace the startX by pd.
>>
>> works for me.
>> cheers
>> c
>>
>>
>> Le 25/11/2012 06:10, Epic Jefferson a écrit :
>>
>>> Charles:
>>>
>>> i found /etc/init.d/pd-extended and added
>>>
>>> su -c "pd whetever.pd" pi
>>>
>>> (am i supposed to specify the exact location of the patch?
>>>   /home/pi/Desktop/pd/whatever.**pd)
>>>
>>> then
>>> $ chmod a+x /etc/init.d/pd-extended
>>> $ update-rc.d pd-extended defaults 99
>>>
>>> i rebooted but no pd patch on startup
>>>
>>> Hans:
>>> i also tried editing /etc/default/pd-extended by un-commenting
>>> RUNPDDAEMON=yes
>>> DAEMON=/usr/bin/pd-extended
>>> and i set the patch location
>>> and the user: USER=pi
>>>
>>> still nothing on start up. perhaps there is a conflict between Charles'
>>> and Hans' instructions?
>>>
>>>
>>> On Sat, Nov 24, 2012 at 9:37 PM, Hans-Christoph Steiner 
>>> <[email protected]<mailto:
>>> [email protected]>> wrote:
>>>
>>>
>>>     On Nov 24, 2012, at 6:49 PM, Charles Goyard wrote:
>>>
>>>      > Epic Jefferson wrote:
>>>      >> i'd like to start a patch automatically upon booting. is there a
>>> file i can
>>>      >> edit to load a whatever.pd patch by the end of the start up
>>> sequence? GUI
>>>      >> is not required.
>>>      >
>>>      > Create a script named /etc/init.d/pdauto containing :
>>>      >
>>>      > #!/bin/sh
>>>      > su -c "pd mypatch.pd" your_username
>>>      >
>>>      > Make it executable : chmod a+x /etc/init.d/pdauto
>>>      >
>>>      > Then run :
>>>      > update-rc.d pdauto defaults 99
>>>      > to make it run at startup
>>>      >
>>>      > See 11.6 in
>>>      > http://www.debian.org/doc/**manuals/debian-faq/ch-**
>>> customizing.en.html<http://www.debian.org/doc/manuals/debian-faq/ch-customizing.en.html>
>>>      > for more details.
>>>
>>>     Pd-extended Debian packages should install /etc/init.d/pd, otherwise
>>> you can get it from pure-data SVN: trunk/scripts/debian.
>>>
>>>     Edit /etc/default/pd to change the startup options.
>>>
>>>     .hc
>>>
>>>
>>>
>>>     ______________________________**_________________
>>>     [email protected] <mailto:[email protected]> mailing list
>>>
>>>     UNSUBSCRIBE and account-management -> http://lists.puredata.info/**
>>> listinfo/pd-list <http://lists.puredata.info/listinfo/pd-list>
>>>
>>>
>>>
>>>
>>> --
>>> www.epicjefferson.com <http://www.epicjefferson.com>
>>> www.avmachinists.org <http://www.avmachinists.org> Puerto Rico based Art
>>> Collective/ Non-Profit Org
>>>
>>>
>>>
>>> ______________________________**_________________
>>> [email protected] mailing list
>>> UNSUBSCRIBE and account-management -> http://lists.puredata.info/**
>>> listinfo/pd-list <http://lists.puredata.info/listinfo/pd-list>
>>>
>>>
> 
> 
#! /bin/sh
### BEGIN INIT INFO
# Provides:          pd
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0
# Short-Description: Pure Data
# Description:       Pure Data realtime graphical programming environment.
### END INIT INFO

# Author: Hans-Christoph Steiner <[email protected]>

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Pd-extended"
NAME=pd-extended
DAEMON=/usr/bin/$NAME
#DAEMON_ARGS="--options args"
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME

# options
RUNPDDAEMON=no
USER=nobody
#PORT=34985

# this is meant for running Pd as a server, so it turns off everything
PARAMS="-nogui -noaudio -nomidi $OPTIONS"

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

#
# Function that starts the daemon/service
#
do_start() {
# if you want a log, use this line (until Pd gets syslog support)
#        /bin/su - $USER -c "$DAEMON $PARAMS" > /tmp/pd-$DATE.log 2>&1 &
        start-stop-daemon -v --start --quiet --background --make-pidfile \
                 --chuid $USER --pidfile $PIDFILE --exec $DAEMON -- $PARAMS
}

#
# Function that stops the daemon/service
#
do_stop()
{
        # Return
        #   0 if daemon has been stopped
        #   1 if daemon was already stopped
        #   2 if daemon could not be stopped
        #   other if a failure occurred
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile 
$PIDFILE --name $NAME
        RETVAL="$?"
        [ "$RETVAL" = 2 ] && return 2
        # Wait for children to finish too if this is a daemon that forks
        # and if the daemon is only ever run from this initscript.
        # If the above conditions are not satisfied then add some other code
        # that waits for the process to drop all resources that could be
        # needed by services started subsequently.  A last resort is to
        # sleep for some time.
        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec 
$DAEMON
        [ "$?" = 2 ] && return 2
        # Many daemons don't delete their pidfiles when they exit.
        rm -f $PIDFILE
        return "$RETVAL"
}

#
# Function that sends a SIGHUP to the daemon/service
#
do_reload() {
        #
        # If the daemon can reload its configuration without
        # restarting (for example, when it is sent a SIGHUP),
        # then implement that here.
        #
        start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name 
$NAME
        return 0
}

case "$1" in
  start)
        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
        do_start
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  stop)
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        do_stop
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        esac
        ;;
  #reload|force-reload)
        #
        # If do_reload() is not implemented then leave this commented out
        # and leave 'force-reload' as an alias for 'restart'.
        #
        #log_daemon_msg "Reloading $DESC" "$NAME"
        #do_reload
        #log_end_msg $?
        #;;
  restart|force-reload)
        #
        # If the "reload" option is implemented then remove the
        # 'force-reload' alias
        #
        log_daemon_msg "Restarting $DESC" "$NAME"
        do_stop
        case "$?" in
          0|1)
                do_start
                case "$?" in
                        0) log_end_msg 0 ;;
                        1) log_end_msg 1 ;; # Old process is still running
                        *) log_end_msg 1 ;; # Failed to start
                esac
                ;;
          *)
                # Failed to stop
                log_end_msg 1
                ;;
        esac
        ;;
  *)
        #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
        exit 3
        ;;
esac

:
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to