Seite 1 von 1

Gui startet über Cronjob nicht

Verfasst: Samstag 9. Januar 2016, 21:50
von michpro
Hallo Forum,

habe ein kleines Problem mit meiner Gui Oberfläche, welche ich QT gestaltet habe. Über einen Cronjob starte ich nach dem booten folgendes Shell-Script.

Code: Alles auswählen

#! /bin/sh

#aktuelle Versionen kopieren
cp /ablage/nfs/pi/WrKuehl.py /home/pi
cp /ablage/nfs/pi/MainView.ui /home/pi
cp /ablage/nfs/pi/AnzeigeGui.py /home/pi

#starten von Steuerung und Visulaisierung
python3 /home/pi/WrKuehl.py
python3 /home/pi/AnzeigeGui.py

Die Kopieranweisungen benöige ich damit immer die aktuelle Version von dem gemappten Netzlaufwerk in das home Verzeichnis kopiert wird.
Das WrKuehl.py Script wird ornungsgemäß gestartet und läuft auch fehlerfrei.
Das AnzeigeGui.py startet jedoch nicht und das ist genau das was ich nicht verstehe. Gebe ich die Zeile "python3 /home/pi/AnzeigeGui.py" in der Kommandozeiele ein, wird die Gui Oberfläche gestartet und läuft auch.

Ich hoffe Ihr könnt mir da einen Rat geben.


Gruß michpro

Re: Gui startet über Cronjob nicht

Verfasst: Samstag 9. Januar 2016, 22:07
von Dav1d
Kann es sein, dass `python3 /home/pi/WrKuehl.py` nicht beendet? Somit wird auch niemals die GUI ausgeführt.

Re: Gui startet über Cronjob nicht

Verfasst: Samstag 9. Januar 2016, 22:11
von Sirius3
@michpro: die GUI braucht einen X-Server. Der muß also schon gestartet und per

Code: Alles auswählen

export DISPLAY=:0
auch registriert sein.

Re: Gui startet über Cronjob nicht

Verfasst: Sonntag 10. Januar 2016, 11:46
von michpro
Dav1d hat geschrieben:Kann es sein, dass `python3 /home/pi/WrKuehl.py` nicht beendet? Somit wird auch niemals die GUI ausgeführt.
Das soll auch so sein, WrKuehl.py muss immer laufen. Sollte doch auch funktionieren. Wenn ich im Shell die Gui starte läuft das WrKuehl.py weiter.

Gruß michpro

Re: Gui startet über Cronjob nicht

Verfasst: Sonntag 10. Januar 2016, 11:50
von michpro
Sirius3 hat geschrieben:@michpro: die GUI braucht einen X-Server. Der muß also schon gestartet und per

Code: Alles auswählen

export DISPLAY=:0
auch registriert sein.
hmmm... also der sollte doch laufen, da ich das Gui bei manueller Eingabe über das Eingabeshell starten kann und dort alles sauber angezeigt wird.

Gruß michpro

Re: Gui startet über Cronjob nicht

Verfasst: Sonntag 10. Januar 2016, 12:02
von Sirius3
@michpro: cronjobs haben von sich aus kein DISPLAY. Weil die Dinger sollen ja im Hintergrund laufen. Und wenn der Cronjob beim Booten anspringt, dann ist noch kein X-Server gestartet.

Re: Gui startet über Cronjob nicht

Verfasst: Sonntag 10. Januar 2016, 12:47
von michpro
@Sirius3,

wenn ich das jetzt richtig verstanden habe muß dem crontab nach dem booten mitgeteilt werden dass er für seinen Aufruf ein Anzeige benötigt.
Ich habe jetzt in meiner Anweisungszeile direkt im Crontab folgendes geschrieben.

@reboot export DISPLAY=:0 python3 /home/pi/AnzeigeGui.py

leider ohne Erfolg.

Re: Gui startet über Cronjob nicht

Verfasst: Sonntag 10. Januar 2016, 12:52
von Sirius3
@michpro: wie schon geschrieben, bei @reboot dürfte der X-Server noch nicht gestartet sein. Und es muß auch

Code: Alles auswählen

@reboot DISPLAY=:0 python3 /home/pi/AnzeigeGui.py
heißen.

Re: Gui startet über Cronjob nicht

Verfasst: Sonntag 10. Januar 2016, 13:36
von __deets__
Statt cron solltest du lieber die xsessionrc bemuehen - darin kannst du festlegen, was nach dem hochfahren & einloggen (aller Wahrscheinlichkeit nach automatisch bei dir) an GUI-Programmen gestartet wird. Zu einem frueheren Zeitpunkt macht das keinen Sinn - und AFAIK reicht auch nicht das reine hochgefahren-sein des X, wenn noch keine User-Session da ist (wohin soll sonst die Ausgabe gehen?!?)

Re: Gui startet über Cronjob nicht

Verfasst: Sonntag 10. Januar 2016, 18:18
von michpro
@ __deets__
danke für den Tip, das sieht im ersten Anlauf nicht schlecht aus. Mein "Dauerlauf script" WrKuehl.py läuft und das AnzeigeGui.py wird auch aufgeblendet, wenn jedoch über alles andere darüber. Aktuell habe ich so noch keine Möglichkeit auf die "Taskleiste" zu kommen. Gibt es da irgendwelche Parameter, welche ich in dem Aufruf mitgeben kann, ob die Gui den kompletten Desktop benutzen soll, oder nur als zusätzliches Fenster, welches ich mit dem "Kreuz" rechts oben wieder schliessen kann.... Wie auch immer ich forsche malweiter und bedanke mich.

Gruß michpro

Re: Gui startet über Cronjob nicht

Verfasst: Sonntag 10. Januar 2016, 19:04
von __deets__
So ganz verstehe ich deine Problembeschreibung nicht, auch nicht, was du dir eigentlich wuenschst. Eine weiter Antwort haengt dann auch wahrscheinlich vom konkret verwendeten WindowManager ab, der da vielleicht bestimmte Dinge erwartet.