Aus Standart Debian bin ich es gewohnt, das entsprechende Runlevel abgearbeitet werden.
Und die einzelnen Scripte aus z.B. init.d per Symlink in die Runlevel gesetzt sind.
Jetzt habe ich für die Adafruit Animated Eyes 2 Eintragungen in die rc.lokal bekommen.
Diese soll nach Ausführung des entsprechenden Runlevels am Ende ztur Ausführung angehangen werden.
OK.. Soweit verständlich.
Die rc.lokal soll auch per sudo /etc/rc.lokal aufgerufen werden können.
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
# Print the IP address
_IP=$(hostname -I) true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
/boot/Pi_Eyes/fbx2 -i &
cd /boot/Pi_Eyes;python3 eyes.py --radius 240 &
exit 0
Als erstes verstehe ich das -e hinter dem sh in der ersten Zeile nicht. Wofür steht das ?
Zweitens, habe ich die fbx2 und Python Zeilen genommen und wollte damit ein Start / Stop Script raus machen
DAS klappt aber nun gar nicht.
Habe folgendes versucht :
#! /bin/sh -e
### BEGIN INIT INFO
# Provides: eyes
# Required-Start:....
# Required-Stop:
# X-Start-Before:....
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Provide limited super user privileges to specific users
# Description: Provide limited super user privileges to specific users.
### END INIT INFO
case "$1" in
start)
sudo /boot/Pi_Eyes/fbx2 -i &
cd /boot/Pi_Eyes
sudo python3 eyes.py --radius 240 &
;;
stop)
sudo killall -9 fbx2
sudo killall -9 python3
;;
restart)
$0 stop
$0 start
;;
..
*)
echo "Usage: $N {start|stop|restart}" >&2
exit 1
;;
esac
exit 0
Warum läuft das so nicht ?!
Hat da jemand vorschläge ?
Wenn ich die Zeilen einzeln eingebe,
scheint die fbx Zeile zu funktionieren. Aber die Python Zeile nicht
Gebe ich
cd /boot/Pi_Eyes
sudo python3 eyes.py --radius 240 &
Bekomme ich eine PID aber nichts erscheint auf den Displays.
gebe ich jetzt aber sudo python3 eyes.py --radius 240 ohne das "&" ein
( & Soll doch eigentlich die Ausführung in den Hintergrund legen)
Klappt der Befehl un die Augen werden angezeigt.
Überfordert mich irgendwie..
Vielleicht hat da jemand eine Ahnung warm das mit der Ausführung so ist..
Daniel