[ANNOUNCE] vdrcm-0.0.1 - interactive text dialog script for managing ARGSDIR configs

  • Hallo,


    habe mal ein Helferlein geskriptet, mit dem man ARGSDIR Konfigurationsdateien, interaktiv in der Konsole (also auch über SSH):

    • Aktivieren / Deaktivieren;
    • Ordnen
    • Editieren

    kann.


    Für die textbasierten GUI-Elemente habe ich mich bei dialog oder alternativ whiptail (bei Gentoo gehört es zu newt, bei Ubuntu-Derivaten soll es default "dabei" sein) bedient.


    Momentan holt sich das Skript den Ort des ARGSDIR aus pkgconfig, also ist Voraussetzung ein installierter VDR mit ARGSDIR-Unterstützung (paar Dev-Versionen vor der stable 2.2.0 und neuer). Dann erwartet es auch noch Konfig-Dateien die vdr.conf, pluginname1.conf, pluginname2.conf usw. heißen, in

    Code
    1. ${ARGSDIR}/../conf.avail

    liegen. Wie sie dahin gelangen, ist Sache des Distributors oder des Users. Dazu siehe auch Ideen zu vdrctl und die Diskussionen über ein VDR-Patch welches diese Konfigs bequem generieren kann.
    Das Skript gibt es hier: https://github.com/lucianm/vdrcm


    Die Bedienung ist hoffentlich intuitiv genug, aus dem Hauptmenü gelangt man in jeweils einer der 3 aufgezählten Funktionen:


    Aktivieren/Deaktivieren braucht etwas länger zum Starten, weil analysiert wird, welche Plugin-Konfigs überhaupt verfügbar sind und welche bereits verlinkt sind. VDR selber wird da nicht angezeigt, weil es ja immmer dabei sein muss, und wird auch unter der Haube verlinkt, und zwar immer an erster Stelle.


    Beim Ordnen wählt man zuerst das Plugin aus, welches man verschieben möchte, dann kann der Neue Ort ausgewählt werden, wo man in einem identischen Screen das Plugin auswählt, vor welches das vorhin ausgewählte landen soll und bestätigt.


    Editieren verwendet einen ähnlichen Screen, bloß dass da an erster Stelle auch vdr selber angeboten wird, um dann mit dem eingestellten ${EDITOR} die Datei zu editieren.


    Anbei noch ein paar Screenshots, welche die Funktionsweise etwas besser als Worte veranschaulichen können.


    Viel Spaß damit,
    Lucian


    P.S. Es schwebt mir vor, mich auch an ein Plugin zu wagen, welches die ersten beiden Funktionen im OSD erledigen wird. Ob es darunter Teile von vdrcm nutzen wird, oder selbstständig alles macht, wird sich zeigen.

  • Wie ich finde, ein sehr nützliches Tool.


    Zumindest bei yavdr mit trusty-Basis musste ich dialog nachinstallieren, also nicht default dabei.


    Markus

  • Cool, schöne Sache, dass jetzt diverse Tools rund um die Konfiguration des vdr entstehen. So habe ich mir das vorgestellt!


    Es schwebt mir vor, mich auch an ein Plugin zu wagen, welches die ersten beiden Funktionen im OSD erledigen wird.


    Da die Links unter /etc liegen und dort normalerweise nur root Zugriff hat und der vdr nicht unbedingt als root läuft, wird es wohl bei vielen nicht laufen.
    Es sei denn, du baust es so, dass man den Befehl zum Aktivieren/Deaktivieren eines Plugins hinterlegen kann, dann kann man da z.B. "sudo vdrctl disable {plugin}" (oder wie auch immer du den Platzhalter definieren willst) hinterlegen, und dann können auch die Nicht-Root-vdrs das nutzen.


    Lars.

  • Oder du baust auch in vdrcm eine Möglichkeit ein, die Kommandos zum (De-)Aktivieren usw. als externe Kommandos zu hinterlegen, dann wäre es quasi einfach nur eine UI für vdrctl und ähnlichen Tools.


    seahawk1986 hat übrigens auch eine Variante von vdrctl gebaut, die die Daten als JSON ausgeben kann, das ist ideal, um es von anderen Programmen aus zu nutzen.
    https://github.com/seahawk1986/yavdrctl


    Lars.

  • Da die Links unter /etc liegen und dort normalerweise nur root Zugriff hat und der vdr nicht unbedingt als root läuft, wird es wohl bei vielen nicht laufen.
    Es sei denn, du baust es so, dass man den Befehl zum Aktivieren/Deaktivieren eines Plugins hinterlegen kann, dann kann man da z.B. "sudo vdrctl disable {plugin}" (oder wie auch immer du den Platzhalter definieren willst) hinterlegen, und dann können auch die Nicht-Root-vdrs das nutzen.

    Ja, das ist mir bewußt, und deswegen dachte ich, eventuell würde das Plugin eigene Skripte die ihrerseits sudo nutzen, aufrufen. Mal sehen, mein VDR läuft ja auch nicht als root.


    8)


    Gentoo overlay mit VDR (und nicht nur) ebuilds, vdrcm, GLCDprocDriver

  • Oder du baust auch in vdrcm eine Möglichkeit ein, die Kommandos zum (De-)Aktivieren usw. als externe Kommandos zu hinterlegen, dann wäre es quasi einfach nur eine UI für vdrctl und ähnlichen Tools.

    Mit den vorhin gemeinten Skripten dachte ich schon auch an eine spätere Version von vdrcm :] . Ist ja fast schon dafür ausgelegt dadurch daß ich das Skript in Funktionen untergliedert habe, welche low-level Funktionalität ohne dialog-GUI und eben jene mit, beinhaltet, muß nur noch auch externe Argumente behandeln, um direkt an die core-Funktionen zu kommen.


    8)


    Gentoo overlay mit VDR (und nicht nur) ebuilds, vdrcm, GLCDprocDriver

  • seahawk1986 hat übrigens auch eine Variante von vdrctl gebaut, die die Daten als JSON ausgeben kann, das ist ideal, um es von anderen Programmen aus zu nutzen.
    https://github.com/seahawk1986/yavdrctl

    Interessant, diese Variante von vdrctl kannte ich nicht, die scheint auch eine Art Priorisierung der Plugins zu unterstützen. Ich glaube mich zu erinnern, vor paar Monaten zumindest, hatte vdrctl sowas nicht, deswegen wollte ich etwas mit einer bequemen Möglichkeit des manuellen Ordnen der Plugins.


    8)


    Gentoo overlay mit VDR (und nicht nur) ebuilds, vdrcm, GLCDprocDriver

  • Es gibt auch einen Pull-Request, der das Setzen von Prioritäten in vdrctl nachrüstet: https://github.com/CReimer/vdrctl/pull/8/files

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

    The post was edited 1 time, last by seahawk1986 ().