softhddevice auf Gnome Desktop - video: Can't connect to X11 server on ':0'

  • Hallo,


    ich versuche gerade mittels dem softhddevice Plugin den vdr 2.0.5 mit meiner Budget Karte TeVii S471 S/S2 auf meinem Fedora 20 unter Gnome zum Laufen zu bekommen.



    Meine Daten:

    Code
    1. Grafikkarte: Asus Geforce ENGT520 Silent GDDR3 1024MB PCIe
    2. Monitor: Samsung SyncMaster P2450H 60,9 cm (24 Zoll) Full-HD TFT Monitor (VGA, DVI, HDMI)


    Der Monitor ist via DVI-Kabel angeschlossen, da über HDMI das Bild nicht eingepasst dargestellt wird, es sieht aus, als ob 1cm Rand abgeschnitten wurde.


    folgende Meldungen bekomme ich:



    in der /etc/sysconfig/vdr-plugins.d/softhddevice.conf ist dies eingetragen:


    Code
    1. PLUGIN_OPTIONS="-g 1024x761+100+100 -a hw:0,0 -d :0 -v vdpau"


    Ausgabe von aplay -l


    Einen Benutzer vdr gibt es in der /etc/passwd

    Code
    1. vdr:x:987:39:Video Disk Recorder:/var/lib/vdr/data:/sbin/nologin


    Bildschirmauflösungen und Frequenzen:


    kann mir jemand sagen, was ich wegen der X11 Fehlermeldung ändern muss ?

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


    The post was edited 3 times, last by marco ().

  • Wenn du dich mit einem anderen User als dem Benutzer vdr am Desktop anmeldest, musst du noch die Zugriffsrechte auf den X-Server entsprechend setzen. Die Holzhammer-Methode wäre das aus der Sitzung heraus oder beim Start des X-Servers über eine Datei unter /etc/X11/Xsession.d/aufzurufen:

    Code
    1. xhost +


    besser ist so etwas:

    Code
    1. xhost +SI:localuser:vdr


    Dann wird du aber vermutlich noch in das Problem laufen, dass Pulseaudio zwei mal läuft - einmal für den VDR und einmal für die Desktop-Session...

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Im home Verzeichnis dieses Users eine .xhosts anlegen, z.B.:


    Code
    1. vdr1-vdr:/home/vdr> cat .xhosts127.0.0.1


    Das etwaige pulseaudio Problem könntest Du ähnlich umgehen:


    Code
    1. vdr1-vdr:/home/vdr> cat .pulse/client.confautospawn=no


    Regards
    fnu

    HowTo: APT pinning


  • Ich habe mal testweise den vdr mit meinem Gnome Benutzer gestartet "-u martin" damit läuft eigentlich alles, bis auf die folgenden Fehlermeldungen, die natürlich
    auf Grund der fehlenden Berechtigungen verursacht werden


    /etc/vdr/channels.conf.$$$: Keine Berechtigung
    /etc/vdr/timers.conf.$$$: Keine Berechtigung
    /var/cache/vdr/epg.data.$$$: Keine Berechtigung



    Ich bin mir nicht ganz sicher wie ich das mit dem Benutzer vdr machen soll.
    In der /etc/passwd steht zwar vdr aber kein /home/vdr:/bin/bash
    wie es beim Benutzer martin ist. Es existiert also kein /home/vdr


    Code
    1. martin:x:1000:1000:Martin:/home/martin:/bin/bash
    2. vdr:x:987:39:Video Disk Recorder:/var/lib/vdr/data:/sbin/nologin


    was soll ich da machen ? den Eintrag in der /etc/passwd einfache ändern ?

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • Code
    1. /var/lib/vdr/data

    Naja, das ist das home Verzeichnis des Users vdr, aber ist das auch der User der Xorg startet?


    Der User der xorg startet muß das Display für Zugriffe freigeben, der der es nutzen möchte muß wissen wo es ist, üblicherweise "DISPLAY=:0.0" für localhost ...

    HowTo: APT pinning

  • Naja, das ist das home Verzeichnis des Users vdr, aber ist das auch der User der Xorg startet?


    Der User der xorg startet muß das Display für Zugriffe freigeben, der der es nutzen möchte muß wissen wo es ist, üblicherweise "DISPLAY=:0.0" für localhost ...


    An meinem Rechner melde ich mich als Benutzer martin an, der VDR soll aber mit dem Benutzer vdr starten.


    Ich habe jetzt mal wieder in der runvdr auf den Benutzer vdr umgestellt. ( /usr/sbin/vdr -v /video -u vdr --plugin=softhddevice ...)
    Vor dem VDR Start mit 'systemctl start vdr.service' habe ich das xhosts mal als root Benutzer ausgeführt, das klappt soweit, der VDR startet ohne Fehlermeldungen.

    Code
    1. [root@fc20 ~]# xhost +SI:localuser:vdr


    Nun muß ich es nur noch schaffen unter Fedora eine Datei zu finden, in der ich das Kommando eintrage. Das Verzeichnis /etc/X11/Xsession.d/ gibt es nicht.


    Stattdessen habe ich mal in der Dateil /etc/gdm/Xsession den Eintrag vorgenommen, aber irgendwie wird es nicht gelesen.
    lrwxrwxrwx. 1 root root 21 2. Mär 14:28 /etc/gdm/Xsession -> ../X11/xinit/Xsession


    Weiß jemand Rat ?

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400


  • Versuch es doch mal so wie es fnu vorgeschlagen hat oder lass es z.B. über den xdg-Autostart oder was dir deine Gnome-Session sonst noch so an Mechanismen anbietet (je nach Systemd-Version kann man da auch Befehle über Units für die systemd User-Session ausführen lassen)

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Versuch es doch mal so wie es fnu vorgeschlagen hat oder lass es z.B. über den xdg-Autostart oder was dir deine Gnome-Session sonst noch so an Mechanismen anbietet (je nach Systemd-Version kann man da auch Befehle über Units für die systemd User-Session ausführen lassen)


    ich habe es jetzt folgendes gemacht, damit der Zugriff des Benutzers vdr auf den X-Server funktioniert.


    dazu habe ich die Datei Default neu angelegt:


    /etc/gdm/PostLogin/Default

    Code
    1. /bin/xhost +SI:localuser:vdr
    2. exit 0


    und dann noch die entsprechenden Rechte gesetzt.

    Code
    1. chmod 755 /etc/gdm/PostLoginDefault


    damit pulseaduio nicht mehrfach startet habe ich wie fnu empfohlen die Datei client.conf im Homeverzeichnis von vdr erstellt.

    Code
    1. mkdir /var/lib/vdr/data/.pulse


    die Datei client.conf hat den Inhalt:

    Code
    1. autospawn=no


    und auch hier die entsprechenden Rechte vergeben.

    Code
    1. cd /varlib/vdr/data
    2. chown -R vdr:video .pulse/


    Allerdings klappt das irgendwie noch nicht, wenn der vdr gestartet ist, kann gleichzeitig kein anderes Video oder MP3 mit mplayer/vlc etc abgespielt werden.
    Es kommt die Meldung, dass die Resourcen belegt sind.


    In /var/log/messages stehen die folgenden Fehlermeldungen:


    Wie bekomme ich das noch gebacken ?

    Gruß Marco


    HW: TT6400-S2
    SW: Fedora 34, kernel-5.13.6-300.fc34.x86_64, vdr-2.4.6-7.fc34.x86_64


    Fedora34 x86_64 Gnome Desktop 40.0 Ausgabe über das vdr-softhddevice plugin

    ViewSonic VX3276 HDMI-1 <------------> HDMI NVidia Geforce-gt-1030

    ViewSonic VX3276 HDMI-2 <------------> HDMI Technotrend S2-6400