mikrocontroller.net

Forum: PC-Programmierung Linux als Musikplayer, startup Skript


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe eine NSLU2 mit Debian, die ich als Audioplayer nutze.
Die Musik ist allerdings auf einem Netzlaufwerk. Ist das nicht 
erreichbar, startet MPD nicht, weil dort auch die Einstellungsdateien 
liegen.
Wie und an welcher Stelle der startup Skripte könnte ich das erfassen, 
und dann z.B. mit madplay einfach einen stream abspielen?

/etc/rc6.d/K14mpd --> /etc/init.d/mpd

Oder wäre es besser, mit cron zyklisch ein Skript aufzurufen, das prüft, 
ob das Netzlaufwerk vorhanden ist, versucht zu mounten, mpd zu starten, 
und andernfalls madplay startet, falls das noch nicht läuft?

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die zweite Idee gefällt mir wesentlich besser.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das K-Skript wird beim Herunterfahren aufgerufen,
um etwa zu killen. Es sollte auch ein passendes S-Skript
geben zum starten das meistens auf die gleiche Datei verweist
(also vermutlich /etc/init.d/mpd).
Beim Starten wird das S... mit dem Parameter start aufgerufen,
beim Verlassen das K... mit stop. Deshalb kann in beiden
dasselbe Skript dahinterstehen.
Also kannst du dir in /etc/init.d/mpd alles einbauen, was du
willst.

Da wird es irgendwo eine Fallunterscheidung geben, die
etwas macht, falls mit start aufgerufen, und in einem
anderen Zweig für den Fall stop.
Das könnte so aussehen:
case "$1" in
  start)
        ...
        ;;
  stop)
        ...
        ;;
  reload|force-reload)
        ...
        ;;
  restart)
        ...
        ;;
  *)
        ...
esac

Wenn du das findest, kannst du dir in den start-Zweig
reinschreiben, was du willst.

Beispielsweise ifconfig aufrufen, irgendwie filtern und je
nach Ergebnis irgendwas aufrufen.

Oder falls das zu startende Programm mir einem Fehler
abbricht, dann halt etwas anderes aufrufen...

Autor: zwieblum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mach' eine udev-rule, die dein script startet, wenn ein datenträger 
angesteckt/abgesteckt wird.

Autor: Klaus Wachtler (mfgkw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
welcher Datenträger?

Autor: zwieblum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oops, sorry, da hab' was falsch gelesen ... hast recht, starte einen 
cronjob, der das netzlaufwerk pollt. pass nur bei mounten auf, dass das 
verschwinden des netzlaufwerkes zu keinem lock führt.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Hinweise! Dann muss ich mal etwas tiefer ins 
shell-skripting einsteigen..

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.