Page 1 sur 2

[RESOLU]Lancer un script en TKinter avec un service

Posté : jeu. 2 août 2018 11:59
par CDBI30
Lanceur.py me permet de choisir des scripts au boot
tout fonctionne sauf pour les scripts construits avec TKinter et curses

Terminal sudo chemin du script.py OK
Raccourci bureau avec un Desktop-Entry OK
Double-click sur le .py Exécuter ou dans Terminal OK
Lancé avec le service (sudo systemctl start Lanceur.service), m'indique une erreur de tkinter dans le status ???
Y a t'il une instruction spéciale à mettre dans le service ?
Faut'il lui dire qu'on est en mode graphique ?

PI3B+ Debian9 python 3.4

D'avance Merci, car je cherche depuis une semaine

Re: Lancer un script en TKinter avec un service

Posté : jeu. 2 août 2018 13:23
par Manfraid
Salut,

attention quand tu lance en service ce n'est pas le même utilisateur et du coup le système connais pas l'interface graphique, ou voir même celle-ci n'est pas encore lancer

Re: Lancer un script en TKinter avec un service

Posté : ven. 3 août 2018 09:59
par CDBI30
Oui, Manfraid, j'ai lu pas mal de trucs comme quoi l'environnement était différent.
Mais alors comment fait-on ?
Pas réussi non plus avec supervisor
Ne pas pouvoir lancer un programme python graphique en service est impensable

Re: Lancer un script en TKinter avec un service

Posté : ven. 3 août 2018 10:08
par Manfraid
c'est surtout impossible, il faut le lancer au démarrage de l'interface graphique, et la je ne peu pas t'aider j'en ai pas sur mes Rpi

Re: Lancer un script en TKinter avec un service

Posté : dim. 5 août 2018 12:09
par CDBI30
OK Manfraid
il y a peut-être une solution avec un script /bin/sh dans /etc/init.d

Re: Lancer un script en TKinter avec un service

Posté : dim. 5 août 2018 13:47
par dyox
Bonjour,

Avez-vous essayé dans ~/.config/autostart/

Re: Lancer un script en TKinter avec un service

Posté : dim. 5 août 2018 18:02
par CDBI30
Merci Dyox
Je ne connaissais pas, mais bon, Linux c'est pas mon fort
J'ai rajouté un [Desktop Entry] dans /home/pi/.config/autostart/LXinput-setup.desktop
Le logiciel se lance, mais mal
J'ai bien sa fenêtre graphique au Boot et une partie fonctionne, mais
toutes les instructions en os.xxxxx ne fonctionnent plus
il ne prend pas le WorkingDirectory

Re: Lancer un script en TKinter avec un service

Posté : dim. 5 août 2018 18:33
par dyox
Linux n'est pas mon fort non plus mais j'apprends.

LXinput-setup.desktop lance un script .py ou un sh ?

Peut-être mettre les chemin absolus et voir si c'est un script python s'il doit être appelé par "python" ou "python3" pour le lancer.

Re: Lancer un script en TKinter avec un service

Posté : dim. 5 août 2018 19:32
par CDBI30
Voici l'entrée que j'ai ajouté
[Desktop Entry]
Type=Application
Name=Lecteur
Comment=Lancement Lecteur
Exec=/usr/bin/python3 /home/pi/Scripts/LecteurMP3-16.pyw &
Path=/home/pi/Scripts

Re: Lancer un script en TKinter avec un service

Posté : dim. 5 août 2018 20:11
par dyox
Pour ma part, j'ai essayé cette semaine de lancer le script siricontrol.py en autostart. Il ne fonctionne qu'en xx.desktop -> sh -> py.
Je ne réussis pas à lancer du python avec desktop mais seulement du bash.
Donc pour moi :
siricontrol.deskop

Code : Tout sélectionner

[Desktop Entry]
Type=Application
Exec=lxterminal -e  /home/pi/siricontrol.sh
siricontrol.sh

Code : Tout sélectionner

#!/bin/bash
/usr/bin/python3 /home/pi/SiriControl-System/siricontrol.py
Si cela peut vous aider.