[SOLVED] Karmic: vdr und xbmc via externalplayer

  • Hallo,


    zu meinem Glück fehlen zwei Dinge. Eigentlich vier, aber ist jetzt egal.


    Eines davon ist, wenn der xbmc (SVN-Version) über externalplayer starten würde...
    Bildschirm wird kurz schwarz, dann taucht vdr-sxfe wieder auf. In der Prozessliste gibt es xbmc nicht. Syslog sagt auch nichts.
    vdr User ist eingeloggt (xfce4), in seinem Kontext laufen vdr (Service) und vdr-sxfe.


    Code
    {   MenuEntry        = "XBMC Mode";   Command          = "/usr/sbin/runxbmc.sh";   OutputMode       = extern;   InputMode        = deactivateRemotes; # MMS should be configured for LIRC. }


    Bash
    #!/bin/bash 
    DISPLAY=:0.0 /usr/local/bin/xbmc


    Wenn man als vdr im SSH /usr/sbin/runxbmc.sh startet, geht es.


    Meine Hoffnung ist, dass ich nur auf dem Schlauch stehe und die Lösung ganz einfach ist...

    3 Mal editiert, zuletzt von cduerr ()

  • HI,


    Zitat

    Meine Hoffnung ist, dass ich nur auf dem Schlauch stehe und die Lösung ganz einfach ist...


    ist es, ich stand auch auf dem schlauch.


    mach aus

    Bash
    #!/bin/bash 
    DISPLAY=:0.0 /usr/local/bin/xbmc


    das hier

    Bash
    #!/bin/bash 
    sudo -su <VDR-BENUTZER> DISPLAY=:0.0 /usr/local/bin/xbmc


    dann sollte es klappen


    MFG
    KRis

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

    2 Mal editiert, zuletzt von kris ()

  • leider nicht. Ich packe die Prozessliste anbei. Insgesamt ist mir das Verhalten nicht ganz klar. Ich würde erwarten, dass der Childprozess als vdr geforkt wird und ein sudo gar nicht nötig ist. Als vdr gestartet funktioniert das Skript, übrigens auch bei laufendem vdr-sxfe; es scheint mir also kein Berechtigungsproblem zu sein.


    Code
    root 6252 1 0 15:35 ? 00:00:00 /bin/bash -p /usr/sbin/runvdr -v /var/lib/video.00 -c /var/lib/vdr -L /usr/lib/vdr/plugins -r /usr/lib/vdr/vdr-r ecordingaction -s /usr/lib/vdr/vdr-shutdown.wrapper -E /var/cache/vdr/epg.data - u vdr -g /tmp --port 2001 --lirc=/dev/null -P "skinsoppalusikka --logodir=/usr/s hare/vdr-xpmlogos" -P "vdrrip -p /usr/bin/mplayer -e /usr/bin/mencoder -d /dev/d vd" -P skinelchi -P remotetimers -P "dvd -C /var/cache/vdr/dvd" -P streamdev-cli ent -P "skinenigmang --logodir=/usr/share/vdr-enigmang-icons --epgimages=/var/ca che/vdr/epgimages" -P externalplayer -P remoteosd -P "osdteletext " -P lcdproc - P "mplayer --mount /usr/share/vdr-plugin-mplayer/mount" -P svdrpservice -P "xine liboutput --local=none --remote=127.0.0.1:37890 --primary" --vfat -w 60vdr 6264 6252 2 15:35 ? 00:00:12 /usr/bin/vdr -v /var/lib/video.0 0 -c /var/lib/vdr -L /usr/lib/vdr/plugins -r /usr/lib/vdr/vdr-recordingaction -s /usr/lib/vdr/vdr-shutdown.wrapper -E /var/cache/vdr/epg.data -u vdr -g /tmp --p ort 2001 --lirc=/dev/null -P skinsoppalusikka --logodir=/usr/share/vdr-xpmlogos -P vdrrip -p /usr/bin/mplayer -e /usr/bin/mencoder -d /dev/dvd -P skinelchi -P r emotetimers -P dvd -C /var/cache/vdr/dvd -P streamdev-client -P skinenigmang --l ogodir=/usr/share/vdr-enigmang-icons --epgimages=/var/cache/vdr/epgimages -P ext ernalplayer -P remoteosd -P osdteletext -P lcdproc -P mplayer --mount /usr/shar e/vdr-plugin-mplayer/mount -P svdrpservice -P xineliboutput --local=none --remot e=127.0.0.1:37890 --primary --vfat -w 60vdr 6319 1 0 15:36 ? 00:00:00 /bin/bash /var/lib/vdr/Desktop/v drsxfe.shvdr 6320 6319 20 15:36 ? 00:01:19 vdr-sxfe --display=:0.0 --fullsc reen --lirc=/dev/lircd


    [EDIT] völlig abstrus. Ein sudo (also zum root) funktioniert. Das muss mir mal einer erklären. Ist natürlich nicht hinnehmbar. Irgend eine Idee?


    [EDIT] So, fertig. Wahnsinn. Xbmc läuft per sudo als root... nicht schön, aber geht. Und der vdr wird per Autostart eines Skriptes gestartet, dass ein sudo /etc/init.d/vdr start macht.
    Fast ein dreiviertel Jahr hat die Installation und Konfiguration gedauert, bis ich das Ding soweit habe, wie ichs wollte. Jetzt startet das Ding automatisch und schnell, auch per Fernbedieung, vdr kommt selbst hoch und verbindet sich als Streaming Client (streamdevclient), Sound (digital per S/PDif, inkl. DTS/DD) funktioniert und reicht alle Signale durch an den Receiver, CPU-Throttling geht, automatisches Herunterfahren nach Timeout geht, NFS u. CIFS läuft, vdpau geht (inkl. Ausgabe auf SVHS/RGB), xbmc geht und ist integriert für DVD/Medienwiedergabe. Ich bin begeistert und mächtig stolz.

    5 Mal editiert, zuletzt von cduerr ()

  • Das freut mich für Dich. Ich grübel schon ewig über das Problem und habe es noch nicht geschafft.
    Vieleicht kannst D jetzt helfen. Habe auch ein Karmic mit XFCE4. Ich starte XFCE4 als User "username". Dann wird Xine gestartet. Leider bekomme ich so nicht das externalplayer Plugin zum laufen. Auch dieser Eintrag :#!/bin/bash
    sudo -su <VDR-BENUTZER> DISPLAY=:0.0 /usr/bin/xbmc
    bringt nur einen kurzen schwarzen Bildschirm. Welcher user ist denn mit "VDR-BENUTZER" gemeint? Ist es mein username oder ein anderes Konto?

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Es gibt ne ganze Menge Stolpersteine auf dem Weg...


    1. Poste mal den Output von "ps -ef | grep X" (minus Anführungsstrichelchen)
    2. Welcher User ist beim graphischen Login angemeldet?
    3. Welcher User startet den vdr? (ps -ef | grep vdr)
    4. Welcher User startet das Skript, von dem Du eben sprachst?
    5. Ist Deine /etc/sudoers richtig (letzte Zeile = Leerzeile, darf der User von 4. ohne Passwort sudo aufrufen? Das geht z.B. mit "%admin ALL=(ALL) ALL" ziemlich weit unten (die Datei wird von oben nach unten abgearbeitet) und "adduser USER4. admin" "adduser USER4. sudoers")
    6. Was ist Dein Window Manager (gnome/gdm)?

  • andy@htpc:~$ ps -ef | grep X
    andy 3152 3135 0 18:48 tty1 00:00:00 xinit /etc/X11/xinit/xinitrc -- /etc/X11/xinit/xserverrc :0 -auth /tmp/serverauth.LgWZE9syhN
    root 3153 3152 2 18:48 tty7 00:00:04 /usr/bin/X11/X -nolisten tcp
    andy 3251 3209 0 18:48 tty1 00:00:00 /usr/lib/xfce4/panel-plugins/xfce4-menu-plugin socket_id 12582944 name xfce4-menu id 5 display_name Xfce-Menü size 45 screen_position 2
    andy 3335 3316 0 18:50 pts/0 00:00:00 grep --color=auto X


    andy@htpc:~$ ps -ef | grep vdr
    root 2968 1 0 18:48 ? 00:00:00 /bin/bash -p /usr/sbin/runvdr -v /var/lib/video.00 -c /var/lib/vdr -L /usr/lib/vdr/plugins -r /usr/lib/vdr/vdr-recordingaction -s /usr/lib/vdr/vdr-shutdown.wrapper -E /var/cache/vdr/epg.data -u vdr -g /tmp --port 2001 --lirc -P "mailbox -c /etc/vdr/plugins/mailbox/mailconv.sh" -P nordlichtsepg -P femon -P eggtimer -P text2skin -P systeminfo -P "xine ? -r -p" --vfat -w 60
    vdr 2993 2968 0 18:48 ? 00:00:01 /usr/bin/vdr -v /var/lib/video.00 -c /var/lib/vdr -L /usr/lib/vdr/plugins -r /usr/lib/vdr/vdr-recordingaction -s /usr/lib/vdr/vdr-shutdown.wrapper -E /var/cache/vdr/epg.data -u vdr -g /tmp --port 2001 --lirc -P mailbox -c /etc/vdr/plugins/mailbox/mailconv.sh -P nordlichtsepg -P femon -P eggtimer -P text2skin -P systeminfo -P xine ? -r -p --vfat -w 60
    andy 3339 3316 0 18:51 pts/0 00:00:00 grep --color=auto vdr



    /etc/sudoers:
    # Uncomment to allow members of group sudo to not need a password
    # (Note that later entries override this, so you might need to move
    # it further down)
    # %sudo ALL=NOPASSWD: ALL


    # Members of the admin group may gain root privileges
    %admin ALL=(ALL) ALL


    # User alias specification
    User_Alias ABSCHALTER = andy


    # Cmnd alias specification
    Cmnd_Alias DOWN = /sbin/shutdown, /sbin/halt, /sbin/reboot


    # User privilege specification
    ABSCHALTER ALL = NOPASSWD: DOWN


    Das Script läuft unter meinem Benutzernamen und startet, wenn ich es alleine ausführe auch ohne probleme den XBMC.


    Als Windows Manager läuft ein XFCE4, aber auch ohne XFCE4 mit einem VDR-Xine mit "xinit-e" aufgerufen fuktioniert es nicht.

    RPI3, DVB-Sky S960, VDR 2.4.4, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Hallo,


    hatte das gleiche Problem und es folgendermassen gelöst:
    Beim Aufruf mittels externalplayer werden nicht alle Umgebungsvariablen richtig gesetzt.
    Testen kann man das ganze, in dem man in das Startscript ein
    env >> /tmp/env.txt
    setzt und dann das ganze mit der Ausgabe von env in der shell testet.
    Insbesondere das HOME des Users wird nicht richtig gesetzt, weswegen der xbmc nicht lloggen kann und die Einstellungen nicht findet.


    Ist das der Fall, dann hilft es, im startscript für den xbmc ein
    export HOME=/var/lib/vdr
    an den Anfang zu setzen.


    Bei mir lief es danach (Hab ne Woche lang gesucht).


    Hoffe, damit weiterhelfen zu können

  • Hallo,


    ich versuche auch xbmc mittels externalplayer aufzurufen. Hier mein Script:


    Bash
    #!/bin/bash
    sudo /usr/sbin/service vdr-frontend stop 
    export DISPLAY=:0.0  /usr/bin/xbmc --standalone -fs --lircdev /dev/lircd
    sudo /usr/sbin/service vdr-frontend start


    vdr-sxfe wird sauber beendet aber ich bekomme xbmc nicht gestartet. Nach missglücktem Start von xbmc startet wieder vdr-sxfe. Ich habe es auch mit sudo -iu vdr aber ohne Erfolg. Ich nutze das Ganze über nodm.


    Gruß


    Obelix



  • oh man, habe es gefunden. Das export vor DISPLAY=:0.0 darf natürlich nicht sein. So funktioniert mein start-xbmc Script aus VDR 1.6.0 und externalplayer:


    Bash
    #!/bin/bash
    
    
      sudo /usr/sbin/service vdr-frontend stop
    
    
    sudo -iu vdr DISPLAY=:0.0 /usr/bin/xbmc --standalone -fs --lircdev /dev/lircd
    
    
      sudo /usr/sbin/service vdr-frontend start



Jetzt mitmachen!

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