Display umschalten x-vdr

  • Hi,
    Ich such nach einer Lösung wie ich das vdr-sxfe Frontend von x-screen0 auf x-screen1 "umschalten" kann. Ich habe folgende Konfig:
    LCD TV: -Fernsehen-x-screen0
    TFT Display: Graphtft-x-screen1
    Beamer: hängt an vga-ausgang des x-screen1 über vga-splitter (gleiche Auflösung wie TFT)


    Starten tue ich das ganze als script in .kde -Autostart:

    Code
    vdrplayer
    sleep 4
    if [ -n "`ps -A |grep -w graphtft-fe`" ];then
    #graphtft-fe läuft, also raus hier
    exit
    else
    DISPLAY=:0.1 /usr/local/bin/graphtft-fe -h localhost -e 2 -n -W 800 -H 600 -f -r &
    exit 0
    fi


    Der vdrplayer ist der aus zulus x-vdr. Läuft alles soweit gut.


    Jetzt würde ich gern das VDR-Bild vom LCD auf den Beamer "umschalten". Hab mir folgendes ausgedacht:
    1. in der vdr-menu.de_DE.xml (setup-plugin) ein neues Menü + Command angelegt

    Code
    <menu name="Heimkino"> <command name="Bild_Beamer" execute="/usr/lib/vdr/scripts/switchbeamer" confirm="yes" /> </menu>

    - das Script "switchbeamer" wird auch gestartet, wenn ich mit der FB den Menüpunkt anwähle.
    Das Switchbeamer-script sieht im Moment so aus:

    Code
    #! /bin/sh
    #soll das Graphtft auf dem kleinen TFT killen, da ja an dem x-screen gleich das Fernsehbild #kommen soll
    killall -q -9 /usr/local/bin/graphtft-fe
    #soll das vdr-sxfe frontend auf screen 0 beenden
    /usr/bin/vdrplayer --exit
    sleep 2
    #soll das vdr-sxfe Frontend auf display 1 starten
    #hab mir dazu das vdrplayer skript unter vdrplayer_beamer kopiert und dort beim aufruf
    #des vdr-sxfe den parameter --display=:0:1 eingefügt
    /usr/bin/vdrplayer_beamer


    Das skript tuts leider nicht wirklich. Es funktioniert das kill des Graphtft und das beenden des VDR_Frontends. Was aber nicht geht ist, das frontend wieder zu starten, auch nicht wenn ich nur vdrplayer wieder starten will.
    Brauche irgendwie Unterstützung wie ich aus dem Skript das VDR-sxfe wieder starten kann.
    Hiillfe! Ich komme hier nicht mehr weiter, zumal ich von Skripts usw. überhaupt keine Ahnung habe.
    Danke schonmal vorab...
    Gert

  • bin ein bisschen weiter gekommen:
    wenn ich das skript switchbeamer manuell auf der konsole ausführe, dann läufts so wie gewünscht.
    Also vermute ich, liegts entweder am User unter dem das skript aus dem vdr raus gestartet wird oder daran, dass es uas dem VDR heraus gestartet wird.

  • Angemeldet bin ich als User "Gert". Vdr startet über "root" . Vermute, dass es daran liegt,
    da X und das vdr-sxfe über meinen User gestartet wurde, aber der VDR versucht das vdr-sxfe unter dem User "root" zu starten. Laufen muss das Frontend aber auf dem Desktop des Users "Gert". Werde mal ausprobieren, alles unter "root" laufen zu lassen, vielleicht geht es dann.


    Ja, mit lirc und irexec würde es auf jedenfall gehen, habe ich mit mms schonmal probiert. Würde aber gern den Weg über Menüauswahl ala Setup-Plugin gehen, da meine Tasten ziemlich knapp sind und ausserdem die Kinder manchmal wild auf der FB rumdrücken. Das passiert mit dem Menü weniger.

  • Lass sie rumdrücken... wenn vdr-sxfe vom vdr entkoppelt ist kann ja nichts passieren, da der vdr, komme was wolle, im Hintergrund läuft.
    Naja, die fehlende Taste ist ein Grund...


    Aber wenn der vdr als root läuft sollte das ausführen des scripts kein Problem sein...
    Könnte jedoch ein Problem sein wenn das Display schon von kde okkupiert ist...


    (in nem x-terminal dürfte es laufen, direkt auf der shell wohl nicht)


    Das Problem hatte ich auf meinem Debian nicht da ich nur nen basis server ohne kde laufen hab.

  • Hi,
    ich hab jetzt mal die Lösung mit irexec versucht. Script wird zumindest ausgeführt, führt aber nicht ganz zum gewünschten Ergebnis.
    1. wenn ich das skript manuell über die Konsole starte läufts los, startet den vdr-sxfe, Konsole bleibt offen, wenn ich strg+c drücke beendet sich das frontend.,
    das führt dazu dass bei switch-to-tv das vdr-sxfe geöffnet wird, das öffnen des graphtft aber gar nicht ausgeführt wird, erst wenn ich das vdr-sxfe wieder über strg+c beende. Konsole bleibt aber auch dann wg. graphtft offen.


    2. Wenn ich das SKript über irexec starte werden die kill befehle noch ausgeführt, aber sonst passiert gar nichts. Da weiss ich jetzt auch nicht weiter.
    Das Skript ist ja so in etwa wie das skript zum wechseln vdr-mms, da funktionierts, einziger unterschied, ist, dass das vdr-frontend bei mms aus mms raus gestartet wird...
    Ich weiss mal wieder nicht weiter.


  • Ach ich seh grad graph-tft...
    Das läuft als vdr-plugin oder?
    Müsste man um das zu beenden nicht den vdr server beenden und ohne das plugin neu starten?
    Ne alternative wär ein 2ter xserver auf ner anderen Konsole, damit hättest Du wieder 2 X Screens frei und könntest vdr-sxfe auf dem beamer screen starten und könntest mit z.B. alt-F7/F8 zwischen den x-servern wechseln.
    Oder den beamer an den LCD Ausgang hängen und mit nem script die Auflösung ändern...
    Oder ne Grafikkarte mit nem Ausgang mehr besorgen ;)

  • Hi,
    ich hab eine Lösung gefunden, die wirklich funktioniert! :)
    Allerdings ziemlich quick & dirty.. aber geht.
    1. im KDE Autostart Ordner habe ich ein Script was vdr-sxfe und graphtft startet., nennt sich vdrstart
    2. habe mir einfach dieses script 2mal kopiert in anderen ordner
    3. dann eins angepasst, startet vdr-sxfe auf tv mit graphtft, das andere startet vdr-sxfe auf beamer ohne graphtft
    4. dann ein script was ein "steuerungsfile" erzeugt bzw. löscht und dann jeweils eins der beiden scripte in den autostart ordner kopiert
    5. KDE restart



    Ist sicher keine tolle Methode, aber erfüllt super seinen Zweck, mach jetzt auch damit nicht mehr rum :)
    Trotzdem danke für die Tipps


    Gert

Jetzt mitmachen!

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