Salut les rois du clavier IoI
Bon j’ai les mêmes problèmes que beaucoup d’entre vous : comment lancer un programme python /home/pi/Monfichier.py au démarrage du Rpi ?
Après BEAUCOUP de tentatives, d’efforts, et de lecture de forums en anglais et en français, j’ai réussi !
Voici mes résultats : j’ai testé 2 solutions très différentes.
Solution 1 : Créer un fichier dans /etc/systemd/system/ et lui donner un nom quelconque avec une extension « .service », exemple MonFichierDeDemarrage.service
Editer ce fichier par un sudo nano MonFichierDeDemarrage.service , et mettre dedans :
[unit]
description=cequevousvoulez!
[service]
Type=simple
ExecStart=ArboresenceComplèteDeVotreExécutable &
[install]
WantedBy=multi-user.target
Explications : ArboresenceComplèteDeVotreExécutable c’est le chemin complet de la commande que vous voulez lancer, du style /usr/bin/python3 /home/pi/Monfichier.py
Mettre le & à la fin de la ligne permet au programme ainsi lancé de s’exécuter en tâche de fond. Si vous ne mettez pas le &, le RPi risque d’attendre la fin de ce programme pour lancer l’interface graphique. Si votre programme est une boucle sans fin, ça risque de mal se passer IoI
Inconvénient de ce type de lancement : vous ne voyez pas à l’écran si votre programme tourne !
Solution 2 : programme qui se voit à l’écran !!
Dans le fichier /etc/xdg/lxsession/LXDF-pi/autostart, rajouter à la fin :
@/usr/bin/lxterminal --command /home/pi/FichierBatch.sh
Ensuite, créer ce FichierBatch.sh au bon endroit dans le chemin déclaré ci-dessus (dans notre exemple, /home/pi) et TRES IMPORTANT lui donner les droits d’accès (click droit/propriétés) en exécution pour tout le monde, ou seulement pour le propriétaire, c’est suivant l’utilisation que vous allez en faire !
Editer ce fichier et écrire les lignes suivantes :
#!/bin/bash
/usr/bin/python3 /home/pi/Monfichier.py
Au boot du RPi, l’interface graphique se lance, puis la fenêtre du terminal LX s’ouvre, et enfin le programme python s’exécute !
Je pense que dans la plupart des cas, comme j’ai pu voir dans beaucoup de forums, ça ne fonctionne pas parce que les droits en exécution n’ont pas été données au fichier batch tout simplement…
Je travaille sur un RPi B+ avec python3, mais je pense que ce tuto devrait marcher pour tout le monde IoI
Bon courage les gars (et les filles) !