Python-Programm startet nicht ohen Monitor und Tastatur

  • Wie bereits vermutet: Du verwendest ein eigentlich für ne GUI vorgesehenes Module: pygame. Wenn du aber kein Display angeschlossen hast verweigert das Module den Start bzw Init, da es einen "graphical mode" voraussetzt.


    Um das zu umgehen hast du 2 Möglichkeiten:


    1) Wie von Jürgen Böhm in Beitrag#8 vorgeschlagen, quasi so tun als wäre ein Monitor angeschlossen. Würde ich persönlich nicht machen, spricht aber prinzipiell nichts gegen. Wenn du später nachträglich einen Monitor anschließen willst um den Output deiner seriellen Schnittstelle zu sehen, wäre dies hier deine zu bevorzugende Lösung. Wenn du auf deine showtext Funktion aber auch verzichten kannst dann ließ weiter...


    2) SDL auf den dummy NULL video driver stellen. Dafür bedarf es nur die folgenden Zeilen vor pygame.init():

    Python
    import pygame
    
    import os
    os.environ["SDL_VIDEODRIVER"] = "dummy"
    
    pygame.init()



    Allgemein stecken in deinem Script noch ein paar Fehler drin... Zum Beispiel ist global loop in der soundLoop Funktion überflüssig da du in dieser keine Veränderung an der Variablen vornimmst.


    Wenn es dir ausschließlich ums abspielen von wav Dateien geht, gesteuert durch Tastatur-Betätigung, würde ich eher auf PyAudio (#2) und termios oder stdin oder evdev setzen (letzteres ist das beste für Tastaturabfragen).

  • Vielen Dank für die Hilfe.

    Ich habe den Vorschlag aus Beitrag 8 verfolgt und festgestellt, dass diese Einstellung bei mir bereits richtig war.


    Ich habe jetzt auf alle Funktionen und Teile verzichtet, die eine Eingabe von der Tastatur benötigen oder eine Ausgabe auf einem Display erfordern.


    Nun funktioniert es nach mehreren Anläufen. Dumm ist nur, dass das Programm nicht mehr so leicht zu testen ist.