In diesen Beispielen wird der Benutzer pi verwendet. Dies ist der bevorzugte Weg, den Rocrail-Server nach einem Reboot automatisch zu starten, anstatt ihn im Root-Kontext als Daemon zu betreiben. |
Wenn der Rocrail-Server auf einem eigenständigen Computer, wie dem Raspberry Pi, ausgeführt wird, wäre es hilfreich, wenn der Server nach jedem Neustart im Benutzer-Kontext automatisch gestartet wird.
Es gibt mehrere Möglichkeiten, dies einzurichten, aber die crontab-Lösung ist sehr einfach zu implementieren.
Das angebotene ~/Rocrail/startrocrail.sh
kann auch verwendet werden, anstelle ein eigenes zu schreiben.
Diese angebotenen Version unterstützt auch Funktionen des Server-Monitor.
Durch Öffnen eines Editors wie vi startrocrail.sh ein Start-Script, startrocrail.sh im home-Verzeichnis des Benutzers pi erzeugen:
#!/bin/sh cd /home/pi/Rocrail /home/pi/Rocrail/bin/rocrail -l /home/pi/Rocrail/bin
Das Script ausführbar machen:
chmod +x startrocrail.sh
Diese Option erst verwenden, wenn alles perfekt läuft. Benutzer pi muss ein "sudoer" sein. |
Um den Computer automatisch herunterzufahren, nachdem der Server gestoppt wurde, die folgende Zeile in das startrocrail.sh-Script hinzufügen:
if [ $? -eq 70 ] then echo raspberry | sudo -S halt -p fi
Dem echo-Statement folgt das Passwort des Benutzers. In diesem Fall ist es "raspberry", das das voreingestellte Passwort des Benutzers pi unter Raspbian ist.
Rocrail meldet beim "shutdown"-Befehl eines Clients "70" zurück. Ein "kill" meldet "Null" zurück. |
Die folgende Zeile am Ende der crontab-Liste des Benutzers pi mit dem Befehl crontab -e hinzufügen:
@reboot /home/pi/startrocrail.sh
Oder direkt in der Befehlszeile:
(crontab -l ; echo "@reboot /home/pi/startrocrail.sh")| crontab -
Crontab prüfen:
crontab -l
Ausgabe:
# For more information see the manual pages of crontab(5) and cron(8) # # m h dom mon dow command @reboot /home/pi/startrocrail.sh
Ein normales Herunterfahren des Computers bewirkt einen kill-Befehl an alle laufenden Prozesse und fährt normal auch den Rocrail-Server herunter. |
killall rocrail
#!/bin/sh WS=$1 PASSWORD=$2 cd if [ ! $1 ]; then cd ~/Rocrail/default else cd ~/Rocrail/$WS fi ~/Rocrail/bin/rocrail -l ~/Rocrail/bin if [ $? -eq 70 ] then echo $PASSWORD | sudo -S halt -p fi