stefankittel
Goto Top

Ubuntu auf Raspberry - Shell only - Programm beim einschalten starten, Shell sperren und Programm bei Absturz neu starten

Hallo,

für ein kleines Projekt hantiere ich gerade mit einem Pi3.
Installiert ist das Rasp Ubuntu Minimal (16.04).
Nur Shell, keine GUI.

Ich möchte gerne folgendes erreichen:
- Nach dem einschalten soll ohne Benutzerinteraktion die Software mplayer starten und einen Stream abspielen
- Die Oberfläche soll gesperrt sein (Kennworteingabe)
- Bei einem Absturz des mplayers soll dieser innerhalb von max 10 Sekunden neu gestartet werden

Mittels raspconfig habe ich das Kennwort von dem Standardbenutzer pi geändert und die automatische Anmeldung aktiviert.
Beim einschalten bin ich also direkt in der shell als pi angemeldet

Mit "mplayer http://hostname/url > /dev/null 2>&1 &" kann ich den mplayer starten, ohne dass eine Ausgabe sichtbar ist.
Danach kann ich mit "vlock -a" die Shell sperren.

Aber mplayer stürzt ab wenn die Onlineverbindung unterbrochen wurde.
über ps, kann ich dies sehen und dann neustarten.

Aber wie?

autostart.sh
mplayer http://hostname/url > /dev/null 2>&1 &
vlock -a

Leider wird nach vlock kein weiterer Befehl ausgeführt.
"vlock -a &" funktioniert nicht.

Ein Cron im Minutentakt ist zu langsam.
Ein endlos-Cron der prüft ob er selber noch läuft ist auch irgendwie nicht optimal.

Einen ganzen Dienst daraus machen?
Eigentlich zu aufwendig oder?

Wie würdet Ihr das machen?

Danke und viele Grüße

Stefan

Content-Key: 336308

Url: https://administrator.de/contentid/336308

Printed on: April 25, 2024 at 09:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Apr 27, 2017 at 20:18:03 (UTC)
Goto Top
Bei wheezy würde ich das einfach über die inittab abfackeln, d.h mplayer ohne shell über die inittab starten/neustarten.

Bei jessie müsste ich mal ers schauen, wie das systemd handhabt.

lks
Member: StefanKittel
StefanKittel Apr 27, 2017 at 20:46:14 (UTC)
Goto Top
Ich habe es jetzt erstmal über einen Cron "gelöst".

Der wird im Minutentakt gestartet.
Enthalten ist eine Schleife von 1 bis 5.
Dabei wird jeweils der Status überprüft und das Programm neu gestartet.
Dazwischen 10 Sekunden gewartet.

Damit brauche ich weder aus Autologin noch das Sperren der Shell.

Vieleicht weiß noch Jemand was besseres?

Stefan
Member: Cornitus
Solution Cornitus Apr 27, 2017 at 20:53:59 (UTC)
Goto Top
Hallo,

ich kann dir weiterhin nur den https://wiki.ubuntuusers.de/MPD/ empfehlen. Gesteuert mit dem MPC (siehe Abschnitt "Kommandozeile"). Dann könnte man das init skript des Daemons anpassen oder https://wiki.ubuntuusers.de/Monit/ nutzen.

Grüße