irexec -d autostart

  • Hallo, ich habe eine Raspi zero w mit aktuellen raspbian lite.


    Jetzt habe ich mir LIRC, wie im Ubuntu-Wiki steht, installiert und getestet mit irexec und es funktioniert auch.

    Allerdings nur wenn die .lircrc im root Verzeichnis liegt, also /root/.lircrc

    Wenn ich sie im /home/pi/.lircrc habe, dann bekomme ich die Meldung nicht gefunden...


    Naja das ist das kleinere Übel, aber was ich nicht hinbekomme ist, dass irexec -d automatisch nach dem booten startet.

    Ich habe alles genau nach Anleitung gemacht, wie es im Ubuntu-Wiki steht.

    Also so den Eintrag

    Code
    1. /usr/bin/irexec -d

    in /etc/profile speichern.

    Hat jemand eine Lösung?

    Vielleicht ist es ja bei Raspbian etwas anders.

  • Ich habe es jetzt in rc.local so eingetragen:

    Code
    1. /usr/bin/irexec -d /root/.lircrc

    damit funzt es jetzt.Denn in

    Code
    1. sudo crontab -e

    hat es nicht funktioniert.


    Aber jetzt stöße ich schon wieder auf ein Problem, das ich jetzt nicht hin bekomme.

    Ich möchte u.a. ein Python Script per Fernbedienung starten, was wiederum ein Python-lirc Modul aufruft und ich mit der Fernbedienung auch dieses Script mit Anweisungen steuere. Das klappt nicht. Ich kann "normale" Python-Scrips aufrufen mit der Fernbedienung, das funzt. Ich kann auch das besagte Python-Script im Terminal aufrufen und mit der Fernbedienung mit Hilfe vom LIRC-Modul steuern, das geht auch.

    Aber ich kann wie gesagt es nicht von vorn herein aufrufen und dann steuern.


    Hier meine .lircrc:


    Code
    1. begin
    2. prog = irexec
    3. button = KEY_2
    4. config = python /home/pi/remote.py
    5. end
  • Ok werde ich morgen versuchen.

    Aber wenn ich in "remote.py" nur

    Code
    1. print("hallo")

    schreibe, dann geht es mit dem oben genannten Befehl.Sobald aber im Script das Modul "lirc" benutzt wird, geht es nicht.

  • Mit lirc, also wenn ich das Script in der .lircrc hinterlege wie oben beschrieben, dann wird es nicht ausgeführt. Ich habe auch in der 1. Zeile zur Kontrolle "print" als Ausgabe.

    Und wie gesagt, andere Scripte ohne "lirc" Modul werden auf die weise ausgeführt.

  • Nicht ganz, aber halbwegs hab ich das nun verstanden... ;)


    Zeige uns doch mal bitte /home/pi/remote.py im Codeblock, evtl. sieht man den Fehler.


    Btw: Ich vermute Linus meinte den absoluten Pfad zu Python in #2?!

    "Alles, was wir sind, ist Sand im Wind, Hoschi."

  • Hier ist mein kleines Script:


    Und hier meine .lircrc:

    Wenn ich das Script im Terminal starte, dann gibt er mir beim Tastendruck auch die "print" aus bei den jeweiligen betätigen der Tasten.

    Wenn ich das Script aber mit der Fernbedienung starten möchte, dann gibt es mir nichts aus.Also startet erst gar nicht.

    Aber wenn ich das Modul "lirc" weg lasse, und irgend etwas in eine Datei schreiben tue, dann macht er das.

    Da muss bestimmt noch etwas in der ".lircrc" zusätzlich eingetragen werden.

  • Ich habe jetzt noch einmal ein "&" am Ende der Zeile gehängt wie es im Ubuntu Wiki steht. Aber auch kein Erfolg.

    Zitat


    Damit Programme mit integrierter LIRC-Unterstützung, die mit einem irexec-Befehl gestartet werden, die Verwendung der Fernbedienung für andere Anwendungen nicht blockieren, sollte ans Ende der programmaufrufenden config-Zeile ein &-Zeichen gestellt werden (z.B. config = rhythmbox &). Wenn es fehlt, werden die Befehle für weitere Anwendungen solange nicht ausgeführt, wie das aktuell gesteuerte Programm läuft; diese Anweisungen werden zunächst gespeichert und dann erst nach Abschluss des laufenden Programms ausgeführt - was zu unbeabsichtigten Folgen führen kann.