autostart funktioniert nicht mit .desktop Datei und rpi_ws281x LED library

  • hallo,


    erstmal ein hallo in die runde, freu mich hier zu sein, auch wenn ich gleich ein Ü50 abbekommen habe. ;)


    Ich habe ein Problem beim Öffnen eines Python-Skripts als Sudo auf Raspberry Pi 4b


    Wenn ich eine .desktop-Datei auf dem Desktop erstelle, kann ich die Datei ausführen:


    Code
    [Desktop-Eintrag]
    Name=Hörspiel
    Typ=Anwendung
    Comment=Einige Kommentare zu Ihrem Programm
    Exec=sudo /usr/bin/python3 /home/pi/myPhythonfile.py



    Jetzt habe ich die gleiche Datei in /home/pi/.config/autostart/chmod +x erstellt, aber die Datei wurde nicht ausgeführt, wenn ich die rpi_ws281x LED-Bibliothek verwende.

    Sobald ich irgendein anderes Script ohne die Library verlinke funzt das wunderbar.


    Ich denke, die Lib verwendet den temporären Ordner, ansonsten wird pygame als GUI interface benutzt.


    Das Script ist jetzt nichts aufregendes, beim Beispielscript der Library passiert tritt das gleiche Problem aus.


    Was kann ich probieren?

  • Hallo,


    war das ein Schreibfehler mit dem Pfad /home/pi/.config/autostart/chmod +x ?

    Du meinst /home/pi/.config/autostart/ und die Programmdatei hast du mit chmod +x ausführbar gemacht?

    Wenn ja, dann reicht ein:

    Code
    Exec=/home/pi/myPhythonfile.py



    Wie hast du die Bibliothek installiert? Wenn du das Programm aus irgendeinem Grund mit 'sudo' ausführen willst und es mit pip wie hier installiert hast, dann musst du es mit 'sudo pip3...' installieren.



    Grüße

    Dennis

    ... ob's hinterm Horizont wirklich so weit runter geht oder ob die Welt vielleicht doch gar keine Scheibe ist?

  • sorry, ich war leider eine Woche in einem Projekt.


    ich habe das autostart öffnen jetzt auf ein lauchner script umgestellt. das führe ich ich mit crontab aus. im prinzip dass ich einfach an ein logfile komme.


    @reboot /bin/sleep 10; sh /home/pi/Brennofen/launcher.sh >/home/pi/logs/cronlog$


    das wesentlich in dem script ist:

    Code
    sudo python3 playAudio_v5.py


    wie bereits gesagt, das geht auch vom Terminal aus. wenn das Script im vron ausgeführt wird, wirft es diese fehlermeldung. ALSA lib cannot find carf. Ich habe eine externe USB Karte an dem Pi, stellt sich die Frage wieso diese bei normalem ausführen des Scripts da ist, via cron aber nicht?




    wenn ich die sound devices abfrage bekomme ich die untenstehenden infos, die sagen mir jetzt nicht so viel. die Frage ist was kann ich dran drehen, wo liegt der Fehler?


    aplay -l

    **** Liste der Hardware-Geräte (PLAYBACK) ****

    Karte 1: Device [USB Audio Device], Gerät 0: USB Audio [USB Audio]

    Sub-Geräte: 1/1

    Sub-Gerät #0: subdevice #0



    und die PWM mit

    aplay -L

    default

    Playback/recording through the PulseAudio sound server

    null

    Discard all samples (playback) or generate zero samples (capture)

    jack

    JACK Audio Connection Kit

    pulse

    PulseAudio Sound Server

    sysdefault:CARD=Device

    USB Audio Device, USB Audio

    Default Audio Device

    front:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    Front speakers

    surround21:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    2.1 Surround output to Front and Subwoofer speakers

    surround40:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    4.0 Surround output to Front and Rear speakers

    surround41:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    4.1 Surround output to Front, Rear and Subwoofer speakers

    surround50:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    5.0 Surround output to Front, Center and Rear speakers

    surround51:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    5.1 Surround output to Front, Center, Rear and Subwoofer speakers

    surround71:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers

    iec958:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    IEC958 (S/PDIF) Digital Audio Output

    dmix:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    Direct sample mixing device

    dsnoop:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    Direct sample snooping device

    hw:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    Direct hardware device without any conversions

    plughw:CARD=Device,DEV=0

    USB Audio Device, USB Audio

    Hardware device with all software conversions

    usbstream:CARD=Device

    USB Audio Device

    USB Stream Output

  • ok, manchmal reicht es schon etwas zusammen zu fassen um dann auf die lösung zu kommen


    ich habe mit

    sudo nano /usr/share/alsa/alsa.conf


    die default PCM karte auf die 1, meine USB karte gesetzt:

    defaults.pcm.card 1
    defaults.pcm.device 0