RPi mit Präsentation per Taster herunterfahren

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo an Alle,

    Habe zum Ausschalten des Rpi folgendes Skript benutzt:The Python Way

    Code
    # Simple script for shutting down the raspberry Pi at the press of a button.# by Inderpreet Singh import RPi.GPIO as GPIOimport timeimport os # Use the Broadcom SOC Pin numbers# Setup the Pin with Internal pullups enabled and PIN in reading mode.GPIO.setmode(GPIO.BCM)GPIO.setup(31, GPIO.IN, pull_up_down = GPIO.PUD_UP) # Our function on what to do when the button is presseddef Shutdown(channel): os.system("sudo shutdown -h now") # Add our function to execute when the button pressed event happensGPIO.add_event_detect(31, GPIO.FALLING, callback = Shutdown, bouncetime = 2000) # Now wait!while 1: time.sleep(1)


    Copy the script code and create a file using nano and save it in a known location as shutdown.py. I created a folder in my home folder called scripts and saved them there. In order to test the script run the following command
    1 sudo python /home/pi/scripts/shutdown.py


    Das klappt an sich super, nur habe ich folgendes Problem:
    Beim Start wird auch direkt Libreoffice mit einer PPS geöffnet, die in Schleife läuft.
    Drücke ich jetzt den Taster, fährt der Rechner zwar herunter, es wird aber jedes Mal die PPS zerstört und beim nächsten Start muß immer eine Reparatur der Datei gestartet werden, bevor die Präsentation anläuft.


    Was kann ich machen, damit beim Tastendruck erst die Präsentation beendet wird, und dann erst der Rechner herunterfährt?


    Vielen Dank vorab für die Mühe!

    Einmal editiert, zuletzt von dbv (8. April 2014 um 17:14)

  • Hi...
    also ro setzt du so:
    chmod 0444 /path/to/FILE

    Was da wahrscheinlich passiert, ist das das Office einfach gekillt und nicht sauber beendet wird.
    Ich würde jetzt erstmal schauen ob die Datei auch kaputt ist, wenn du das Office vor dem herunterfahren beendest,
    falls nicht und alles OK ist, musst du mal schauen wie du das Office sauber über die Konsole beenden kannst und den Befehl dann in dein Shutdown-Skript einbauen..

    • Offizieller Beitrag

    hab mal deinen Code in [c o d e] tags gesetzt. Liest sich besser ;)

    Code
    chmod 0444 /pfad/zur/datei

    man könnte auch den LibreOffice prozess vorher killen, allerdings befürchte ich das das die Datei auch beschädigt. Einen Versuch ist es wert ;)

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.

    Einmal editiert, zuletzt von dbv (8. April 2014 um 17:18)

  • Hm, da waren die Jungs schneller. :)

    Vielleicht wäre noch der folgende Parameter beim Aufruf interessant.
    --Ansicht {Dateiname} Stellt eine temporäre Kopie von {Dateiname} her und öffnet sie schreibgeschützt.

    https://help.libreoffice.org/Common/Startin…h_Parameters/de

    Edit: oder vielleicht bringt dieser Parameter was:
    --norestore Verhindert den Neustart und die Dateiwiederherstellung nach einem Systemabsturz in LibreOffice.

    Einmal editiert, zuletzt von Oerks (8. April 2014 um 17:26)

  • Danke euch für die superschnellen Antworten.

    Leider funktionieren die Vorschläge nicht.

    Obwohl ich jetzt nochmal kontrolliere, ob ich Alles genauso gemacht habe.


  • Beim Start wird auch direkt Libreoffice mit einer PPS geöffnet, die in Schleife läuft.

    Ich nehme mal an, Du startest Libreoffice mit:

    Code
    $ /usr/bin/libreoffice Dateiname.pps

    Und beim nächsten Start kommt wahrscheinlich folgendes:

    Wenn das so ist,starte Libreoffice mal so:

    Code
    $ /usr/bin/libreoffice --norestore Dateiname.pps

    Ich habe das mal auf meinem Ubuntu-Rechner getestet, sollte auf dem Raspi aber genauso funktionieren.

  • Hallo Oerks,

    Ich starte die PPS mit:
    soffice -show /home/pi/Desktop/powerpoint/raspberry.ppt

    werde das aber dann mal auf Deine Weise testen.

    Danke schonmal. Werde nachher berichten, obs funktioniert hat.

  • Außerdem solltest du mal probieren ob das auch vorkommt, wenn du Libre vorher manuell beendest und dann erst den PI herutnerfahren,
    hast du das gemacht? Wie ist das Ergebnis?
    Du kannst auch mal probieren die PPS an eine andere Stelle zu kopieren, wer weiß, vllt liegt sie auf einem defekten Sektor, oder was....


  • Außerdem solltest du mal probieren ob das auch vorkommt, wenn du Libre vorher manuell beendest und dann erst den PI herutnerfahren,


    Wenn Du weißt, wie man "von außen" per Script Libreoffice sauber runterfahren kann, immer her mit der Info.
    Ich habe hier zwar was zu einer API gefunden, aber ob das dem TE (Threatersteller) hilft? :s

    Er soll mal den Startparameter "--norestore" probieren, ich wette, dann funktionuckelts. :bravo2:

  • Hallo,

    Entschuldigt die späte Rückinfo. Bin die letzte Tage leider völlig ausgefallen...

    Habe gerade ""--norestore" einfach eingefügt und es funktioniert wunderbar.

    Man kann einfach das Netzteil abziehen und wieder anstecken, es wird nichts zerstört.

    Danke nochmals an Alle für die Tipps und insbesondere an Oerks !!!!

    Viele Grüße


  • Habe gerade ""--norestore" einfach eingefügt und es funktioniert wunderbar.


    Meine Rede. :D


    Man kann einfach das Netzteil abziehen und wieder anstecken, es wird nichts zerstört.


    Örks. Nein. Das macht man nicht! Das ist böööööse. :no_sad:
    Du hast doch Dein Shutdown-Script. Das ist guuuuut. :thumbs1:


    Danke nochmals an Alle für die Tipps und insbesondere an Oerks !!!!


    Biddeschöööön, gern geschehn.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!