zusätzlichen befehl ins Menü

  • ich hab wirklich versucht das mit den Templates zu verstehen, aber es klappt bei mit nicht.
    Ich will einen zusätzlichen Befehl ins Menü aufnehmen nämlich: wakeonlan 42:xx.yy usw..


    Problem ist, ich weis nicht wie und vor allem wo. Ich versteh auch nicht wo ich ein template anlegen soll, welches mir dann welche Datei generiert. Ich kenn aus dem Wiki das mit den templates, aber ich kann es für diesen Fall einfach nicht umsetzten.


    Welche Datei soll den generiert werden? Commands.conf? wenn ja, wo ist das template und wo muss es denn hin?
    Wenn mir das einer erklären könnte wäre ich sehr dankbar.

    HD: yaVDR 0.3, AT3IONT-I, CINE2S, NVRAM, X10, 2.5´ 320GHDD
    SD: ctvdr 7 vdr 1.6.0, MSI 6318 (Medion2000), 667MHz, NVRRAM, WOL 500G HD
    TV: Sharp LC52XL2E (100Hz), Beamer: Sanyo Z5

    Einmal editiert, zuletzt von videoman ()

  • Zitat

    Original von videoman
    Welche Datei soll den generiert werden? Commands.conf? wenn ja, wo ist das template und wo muss es denn hin?
    Wenn mir das einer erklären könnte wäre ich sehr dankbar.


    Ich erkläre es dir, aber du musst mir danach erklären warum du es nicht verstanden hast, das will mir nämlich nicht in den Kopf, einverstanden?


    Zuerst mal brauchst du den vollständigen Pfad zur Datei die erzeugt werden soll, in diesem Fall wäre es die Datei /var/lib/vdr/commands.conf. Nun muss man den Basis-Pfad für die Custom-Templates wissen, das ist das Verzeichnis /etc/yavdr/templates_custom/. Hier kommen deine Templates rein. Unsere Templates liegen unter /usr/share/yavdr/templates. Wenn du also die customs.conf ändern willst musst du den Custom-Templates-Pfad und den Pfad zur /var/lib/vdr/commands.conf hintereinander hängen und ein Verzeichnis mit diesem Namen anlegen, also

    Code
    mkdir -p /etc/yavdr/templates_custom/var/lib/vdr/commands.conf

    . In dieses Verzeichnis kommen jetzt deine Template-Schnippsel. Um dir anzusehen, was wir da reinschreiben siehst du bei unseren Templates nach:

    Code
    ls /usr/share/yavdr/templates/var/lib/vdr/commands.conf

    .


    So jetzt bin ich gespannt auf deine Antwort.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Hi,


    wenn Du deinen Befehl unter "Applikationen -> Dienstprogramme" haben möchtest, musst Du bspw das hier machen.


    Code
    mkdir -p /etc/yavdr/templates_custom/var/lib/vdr/plugins/menuorg.xml
    echo "<command name=\"Rechner wecken\" execute=\"/usr/bin/wakeonlan 42.xx.yy &amp;> /dev/null \" />" > /etc/yavdr/templates_custom/var/lib/vdr/plugins/menuorg.xml/50_11_wakeonlan
    process-template /var/lib/vdr/plugins/menuorg.xml


    Ungetestet ;)


    Wenn Du ein

    Code
    ll /usr/share/yavdr/templates/var/lib/vdr/plugins/menuorg.xml/

    ausführst, siehst Du, wie die menuorg.xml aufgebaut ist, damit sollte es Dir möglich sein, deine code x-beliebig einzubauen.


    MfG
    Kris

    Intel DN2800MT 4GB RAM; 32GB mSata, Ubuntu 15.04, TVHeadend 4.1, Digibit R1 SatIP

  • so, beiden Danke.
    ich werds heute nicht mehr ausprobieren ich mach grade ein apt grade usw, dann muß ich das Teil mal wieder zerlegen um das Netzteil auszumessen, beim yadvr funktionier nvram und WOL nicht mehr.


    Ich hatte nicht verstanden wo die Schnipsel liegen müssen und wie (also als Resultat) dann da die jeweilige Datei entsteht. Ich werds ausprobieren und sag dann Bescheid.


    Danke

    HD: yaVDR 0.3, AT3IONT-I, CINE2S, NVRAM, X10, 2.5´ 320GHDD
    SD: ctvdr 7 vdr 1.6.0, MSI 6318 (Medion2000), 667MHz, NVRRAM, WOL 500G HD
    TV: Sharp LC52XL2E (100Hz), Beamer: Sanyo Z5

    2 Mal editiert, zuletzt von videoman ()

  • hm also wenn ich jetzt zugebe das ist popelig einfach, werd ich dann vom Forum verbannt?


    Es hat natürlich sofort geklappt.....DANKE

    HD: yaVDR 0.3, AT3IONT-I, CINE2S, NVRAM, X10, 2.5´ 320GHDD
    SD: ctvdr 7 vdr 1.6.0, MSI 6318 (Medion2000), 667MHz, NVRRAM, WOL 500G HD
    TV: Sharp LC52XL2E (100Hz), Beamer: Sanyo Z5

  • Zitat

    Original von videoman
    hm also wenn ich jetzt zugebe das ist popelig einfach, werd ich dann vom Forum verbannt?


    Ich habe ja eh nichts zu entscheiden, aber von mir aus nicht. Du bist meine Referenz die bestätigt was ich schon immer wusste, das Templating ist extrem einfach. Es gibt anscheinend bei Vielen einen inneren Widerstand, der verhindert, dass sie das Thema an sich ranlassen. Wer es mal komplett verstanden hat, liebt es.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Ja man muß ich in die meisten Sachen erst richtig einlesen, daran scheitert es meistens, so auch bei mir gestern.


    Aber abgesehen davon daß das ich jetzt eine commands.conf erstellen konnte, hab ich das Problem, daß die Befehle nirgends im menü sichtbar sind. Ich hab sie unter commands erwartet. (also hinter dem reboot)
    Das ist aber ein anderes Problem und hat mit den Templates nichts zu tun.

    HD: yaVDR 0.3, AT3IONT-I, CINE2S, NVRAM, X10, 2.5´ 320GHDD
    SD: ctvdr 7 vdr 1.6.0, MSI 6318 (Medion2000), 667MHz, NVRRAM, WOL 500G HD
    TV: Sharp LC52XL2E (100Hz), Beamer: Sanyo Z5

  • Zitat

    Original von videoman
    Aber abgesehen davon daß das ich jetzt eine commands.conf erstellen konnte, hab ich das Problem, daß die Befehle nirgends im menü sichtbar sind. Ich hab sie unter commands erwartet. (also hinter dem reboot)
    Das ist aber ein anderes Problem und hat mit den Templates nichts zu tun.


    Generell solltest du dir sowieso den Post von kris nochmal vornehmen, das ist sowieso der bessere Ansatz. Ich habe das jetzt nur mit der commands.conf erklärt weil es ums templaten ging.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • Ich stand vor dem Problem, ein Script für das Mounten eines NFS-Shares vom neuen Menüpunkt durchführen zu lassen, aber das mounten funktionierte nicht. In der Zwischenzeit nehme ich an, dass es nicht funktionierte, da ich den Mountbefehl mit sudo aufrief. Es funktionierte auch nicht nach dem Eintragen von /bin/mount in die sudoers Datei.


    Jetzt habe ich das Problem gelöst, indem ich eine Möglichkeit gefunden habe, Mounts ohne Root-Rechte durchzuführen. Ich habe das Vorgehen hier beschrieben.


    Somit habe ich das Problem umgangen. Ob es möglich ist Befehle mit sudo im "execute" eines neuen Menüs auszuführen, weiß ich leider nicht.

  • Hallo,


    in yavdr 0.4 habe ich im Pfad


    /etc/yavdr/templates_custom/var/lib/vdr/plugins/menuorg.xml


    die beiden Dateien


    50_15_dvdbackup
    50_16_dvdcopy


    angelegt mit dem Inhalt


    Code
    <command name="DVD -> ISO" execute="/usr/bin/dvdbackup.sh | at now" />


    bzw.


    Code
    <command name="DVD -> Ordnerkopie" execute="/usr/bin/dvdcopy.sh | at now" />


    Das Menü ist entsprechend erweitert, der Aufruf klappt auch, jedoch bleibt das Menü offen, während der Prozess läuft. Das wollte ich eigentlich durch das "| at now" verhindern und die Ausführung des Prozesses in den Hintergrund schieben. Unter freevdr hatte ich das ganze am Laufen.


    Was mache ich falsch, wie muss ich die beiden Menüeinträge ändern, damit die aufgerufenen Prozesse im Hintergrund gestartet werden ?


    Danke.

    Gruß,
    Ralf
    -------------
    Antec Fusion Remote, Asus M4N78-VM, Athlon 240e, NEC ND 3540A, HDMI an Samsung E6200 - Mystique SaTIX-S2 Dual V2, yavdr 0.4

  • Da müsste etwas rein wie

    Code
    execute="printf \"/usr/bin/dvdbackup.sh\" | at now"


    Quoting nur geraten

    vdr-2.6.4

    softhddevice, dbus2vdr, dvd, epgsearch, femon, graphtftng, hbbtv, menuorg,
    osdteletext, radio, recsearch, satip, tvguide, vnsiserver

    ubuntu focal, yavdr-ansible, linux-5.15 ,AsRock J4105, CIne CT-V7 DVB-C

  • Danke, mit den Quotes geht es nicht.


    Einfach nur ein "echo" ohne Quotes davor setzen:


    Code
    <command name="DVD -> ISO" execute="echo /usr/bin/dvdbackup.sh | at now" />

    Gruß,
    Ralf
    -------------
    Antec Fusion Remote, Asus M4N78-VM, Athlon 240e, NEC ND 3540A, HDMI an Samsung E6200 - Mystique SaTIX-S2 Dual V2, yavdr 0.4

  • Hier mal zur Info was ich es gemacht habe. Vielleicht findet es der Eine oder Andere ja hilfreich...


    Ich habe mir in meinen VDR ein paar Extra-Befehle (z.B.) fürs Backup eingebaut.
    Das Backup benötigt allerdings root/sudo Rechte, wird aber aus dem VDR heraus nur mit den Rechten des "vdr" Users gestartet.


    So habe ich es gelöst:


    Ein Shellscript "/var/lib/vdr/vdrcmd.sh" erzeugt welcches aus dem VDR heraus gestartet wird und über Parameter die gewünschten Funktionen ausführt:
    -> vdrcmd.sh backup: Backup erstellen (starten eines weiteren Scripts mit sudo Rechten)
    -> vdrcmd.sh fullbackup: Vollbackup erstellen (starten eines weiteren Sripts mit sudo Rechten)


    /var/lib/vdr/vdrcmd.sh


    Damit die Befehle mit root/sudo Rechten ausgeführt werden, muss man visudo starten und die vdrcmd hinzufügen:
    # visudo
    und folgende Zeile hinzufügen:
    vdr ALL=NOPASSWD: /var/lib/vdr/vdrcmd.sh


    Menueinträge für die Backup Befehle per Template erstellen:
    Pfad erstellen: /etc/yavdr/templates_custom/var/lib/vdr/plugins/menuorg.xml/
    # mkdir -p /etc/yavdr/templates_custom/var/lib/vdr/plugins/menuorg.xml/


    Datei /etc/yavdr/templates_custom/var/lib/vdr/plugins/menuorg.xml/86_20_gpu erstellen mit diesem Inhalt:
    <command name="VDR Backup" confirm="yes" execute="sudo /var/lib/vdr/vdrcmd.sh backup" />
    <command name="VDR Full Backup" confirm="yes" execute="sudo /var/lib/vdr/vdrcmd.sh fullbackup" />


    Custom Template einbinden:
    # process-template /var/lib/vdr/plugins/menuorg.xml


    ... und dann VDR restart

    Asus P5GC, Celeron 430 1.80GHz, 2 GB, 1TB, ZOTAC GeForce GT240, yaVDR 0.5, Hauppauge Nova hd-s2, 2x TT 3200, Toshiba 42X3030D

  • Damit die Befehle mit root/sudo Rechten ausgeführt werden, muss man visudo starten und die vdrcmd hinzufügen:
    # visudo
    und folgende Zeile hinzufügen:
    vdr ALL=NOPASSWD: /var/lib/vdr/vdrcmd.sh


    Nur mal so aus Prinzip ne Anmerkung: Nen Shellscript, auf welches der User Schreibrechte hat, per sudo root Rechte zu geben hebelt das komplette Rechtesystem aus.


    cu

  • Stimmt!
    Hier muss man sich halt überlegen, wie sicher man den VDR haben möchte.
    Es ist ein Sicherheitsrisiko welches ich bewusst eingegangen bin, um mir auf eigfache Art Befehele / Funktionen hinzuzufügen.

    Asus P5GC, Celeron 430 1.80GHz, 2 GB, 1TB, ZOTAC GeForce GT240, yaVDR 0.5, Hauppauge Nova hd-s2, 2x TT 3200, Toshiba 42X3030D

Jetzt mitmachen!

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