runvdr für 2 Instanzen bringt Sonderbaren Fehler

  • Hallo Board


    Ich brauch mal eure Hilfe. Bin gerade dabei mir einen Server zu basteln mit 2 FF Karten und 2 Instanzen. Läuft auch schon soweit bis auf ein kleines Problem.
    Nämlich wenn ich das Angehängte skript startet bricht es mit folgendem Fehler ab.

    Code
    ERROR: /usr/local/src/VDR/PLUGINS/lib/libvdr-'osdteletext.so.1.3.12: cannot open shared object file: No such file or directory


    Mann beachte >>'<< vor osdteletext
    Das selbe schreibt er bei allen anderen Plugins mit Prametetern
    Iss ja klar das er nichts findet die datei gibt es ja gar nicht
    Wenn ich die Plugins ohne Parameter starte läuft es. Nur das der text dann natürlich keine Seite Findet und das mp3 Plugin keine mount.sh hat.


    Habe hier mal ein bisschen gesucht und folgenden Thread ausgegraben


    http://vdrportal.de/board/thread.php?threadid=3847&sid=&hilight=setzern


    Nur habe ich keine lust alle VDR1CMD oder VDR2CMD aufrufe durch den
    Ellenlangen vdrauruf zu ersetzen.
    Kennt das Problem jemand und kann mir irgendwie helfen wäre wirklich klasse.


    gruss
    Daniel


    P.S


    suse 9.0
    vdr 1.3.12

  • Du führst die Befehle "direkt" mit $VDR1CMD bzw. $VDR2CMD aus. Die bash trennt dabei die Parameter nur anhand der Leerstellen und beachtet weder " noch '. -P'osdteletext -r' wird also nicht als ein einzelner Parameter betrachtet, sondern aufgeteilt in -P'osdteletext (daher der "seltsame" Fehler) und -r'.


    Lösung:
    Analog zum Original runvdr den String an eine neue bash übergeben, die diesen auswertet und dabei die Anführungszeichen beachtet: bash -c "$VDR1CMD".

  • Hallo Greywolf


    Danke für deine Antwort. Ich hätte vielleicht noch schreiben sollen das ich weder vom skripte schreiben noch vom Programmieren gross Ahnung habe.
    Die runvdr habe ich hier aus dem Forum und habe sie an mein system angepasst.
    Erklär mir bitte mal wie du das meinst was ich genau machen soll.
    Ich steh total aufn schlauch.


    gruss
    Daniel

  • Zitat

    Nur habe ich keine lust alle VDR1CMD oder VDR2CMD aufrufe durch den Ellenlangen vdrauruf zu ersetzen.


    Hi!


    Hatte vor nem Jahr oder so mal ne mördermaschiene mit 4FF Karten und drei Instanzen. Ich glaube mich zu erinnern das ich genau das gemacht habe.
    Die Aufrufe sind dann zwar so ca 2 Zeilen lang, aber da kannst du wenigstens die ganzen ' und " verwenden die die meisten Plugins brauchen...



    Falls es allerdings doch noch ne andere Lösung gibt.. immer her damit.



    Gruß


    Volker

  • Zitat

    Original von smokey
    Die runvdr habe ich hier aus dem Forum und habe sie an mein system angepasst.
    Erklär mir bitte mal wie du das meinst was ich genau machen soll.


    Na einfach alle $VDR1CMD bzw. $VDR2CMD durch bash -c "$VDR1CMD" bzw. bash -c "$VDR2CMD" ersetzen ... :)

  • Moin Moin


    Nach ein bisschen grübeln bin ich gerade selber draufgekommen


    die entsprechenden zeilen sehen jetzt so aus


    if [ $LSMOD -eq 0 ] ; then
    echo "Loading DVB drivers"
    (cd $DVBDIR; make insmod) > /dev/null 2>&1
    fi
    bash -c "$VDR1CMD" bash -c "$VDR2CMD"

    sleep 30


    RESTART=0


    ------------------------------------------------------------------------------


    # try to restart process
    bash -c "$VDR1CMD"
    sleep 5
    ------------------------------------------------------------------------------


    echo -n "VDR 2 died (restarting): "; date
    bash -c "$VDR2CMD"
    sleep 5
    ------------------------------------------------------------------------------



    Startet auch ohne fehler aber bloss ein VDR
    Derr Zweite meldet sich nicht
    Das ganze Skript habe ich nochmal angehängt.
    Wäre schon wenn du dir das nochmal anschauen köntest.


    Danke schonmal


    gruss
    Daniel

  • Zitat

    Original von smokey
    bash -c "$VDR1CMD" bash -c "$VDR2CMD"


    Du hast das Semikolon zwischen den Befehlen gelöscht, daher wird es als ein einzelner Befehl (mit mehr Parametern) betrachtet. Mach stattdessen aber besser gleich einen Zeilenumbruch rein, is übersichtlicher:


    bash -c "$VDR1CMD"
    bash -c "$VDR2CMD"

  • Ok hat sich erledigt.
    Ich hatte beim rumprobieren einmal die option -d zum starten im Deamon mode beim vdr start rausgenommen und nicht wieder eingetragen. :wand :wand :wand
    Jetzt habe ich es wieder reingenommen und jetzt läuft es. Beide vdrs.
    :) :)


    Danke Nochmal


    gruss
    Daniel

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!