Hallo in die Runde,
ich habe schon wieder ein kleines Python-Problem: Ich möchte per GPIO-Taster ein Programm (pqiv) starten. Wenn ich folgendes Skript starte und den Taster betätige startet das pqiv:
Python
#!/usr/bin/python
# benoetigte Module importieren
import RPi.GPIO as GPIO
import subprocess
import signal
# RPi.GPIO Layout verwenden (wie Pin-Nummern)
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
# Pin definieren
GPIO.setup(21, GPIO.IN)
# Interrupt definieren
def Interrupt(channel):
subprocess.call("pqiv -i -f /home/pi/test.jpg", shell=True)
# Interrupt aktivieren
try:
GPIO.add_event_detect(21, GPIO.RISING, callback = Interrupt, bouncetime = 200)
signal.pause()
except KeyBoardInterrupt:
GPIO.cleanup()
Alles anzeigen
Wenn ich das Skript jedoch via rc.local beim Start lade, öffnet sich pqiv nicht beim Tastendruck. Ich vermute, dass es irgendwie damit zusammenhängt, dass das Skript dann nicht auf den X-Server zugreifen kann. Ähnlich, wie wenn ich das Skript per SSH starte. Ich konnte allerdings via Google keine Lösung für mein Problem finden.
Was kann ich machen, damit das Skript nach dem Systemstart automatisch in der Lage ist, pqiv (oder auch ein beliebiges anderes Programm) zu starten?
Danke und Gruß
Tim