Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 04-06-2020 08:23:11

casimir8740
Membre
Inscription : 04-06-2020

Faire une commande au démarrage de raspian

Je ne sais pas si je suis dans la bonne section: désolé.

J'ai un projet de piloter par bluetooth un vrai juke-box avec un raspberry.

Pour ce faire j'ai installer un module BT dans mon juke-box qui lorsque il est au repos laisse passer le son du juke box et lorsqu'il est connecté à un périphérique envoie le son du périphérique sur les enceintes du juke box. Tout cela fonctionne.

J'ai installer Raspian sur un Raspberry et j'ai mis en sortie son le module BT: ça marche très bien

Ensuite j'utilise le programme Fruitbox pour avoir une interface sympa: je dois donc la lancer au démarrage:
Pour ce faire j'ai ajouter dans /etc/rc.local les 2 lignes de commandes

cd /home/pi/rpi-fruitbox-master/
./fruitbox --cfg skins/Wurly/fruitbox.cfg


C'est la que mon problème commence : le programme se lance bien au démarrage mais trop vite en fait, à quelques secondes prêt.
Le programme se lance avant que le bureau ai fait la connexion au module bluetooth.

Ce que je voudrais c'est être sur que le bluetooth soit connecté avant de lancer mon programme donc je pense qu'il ne faut pas passer par rc.local

j'ai vu qu'on pouver modifier un fichier autostrart , mais j'ai pas du fait comme il faut pour rentrer mes lignes de commande

Est-ce que quelqu'un aurait une solution?

Merci d'avance

Dernière modification par casimir8740 (04-06-2020 08:23:24)

Hors ligne

#2 04-06-2020 09:52:52

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Stretch
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console et un peu Openbox
Inscription : 20-03-2012
Site Web

Re : Faire une commande au démarrage de raspian

Salut smile

Le truc propre serait probablement de créer un unit système https://www.raspberrypi.org/documentati … systemd.md en utilisant After pour indiquer qu'il doit démarrer après ce qui gère le bluetooth.

Ceci-dit, je suis incapable de te dire comment on fait exactement tongue

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

En ligne

#3 04-06-2020 11:22:08

casimir8740
Membre
Inscription : 04-06-2020

Re : Faire une commande au démarrage de raspian

Merci bien , mais juste ça ça reste compliqué pour moi big_smile
Suis pas très calé

J'ai besoin de lancer ça:

cd /home/pi/rpi-fruitbox-master/
./fruitbox --cfg skins/Wurly/fruitbox.cfg

Dernière modification par casimir8740 (04-06-2020 11:23:16)

Hors ligne

#4 04-06-2020 12:18:55

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Stretch
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console et un peu Openbox
Inscription : 20-03-2012
Site Web

Re : Faire une commande au démarrage de raspian

casimir8740 a écrit :

Suis pas très calé

Et ça ne fait pas partie des trucs les plus simples à faire tongue

Mettre dans le fichier /etc/systemd/rpi-fruitbox.service le contenu suivant :

[Unit]
Description=rpi-fruitbox service
After=bluetooth.target

[Service]
ExecStart=/home/pi/rpi-fruitbox-master/fruitbox --cfg skins/Wurly/fruitbox.cfg
WorkingDirectory=/home/pi/rpi-fruitbox-master/
StandardOutput=inherit
StandardError=inherit
Restart=always
User=pi

[Install]
WantedBy=multi-user.target



Il doit falloir ensuite indiquer que le service est à lancer au démarrage

sudo systemctl enable rpi-fruitbox.service



Bon, c'est pas simple à essayer sans la machine, je ne suis pas certain que ça fonctionne hmm

Sinon, autre solution qui fonctionnerait peut-être, un simple sleep (une commande qui fait une pause comme son nom l'indique big_smile ) avant de lancer ton script (si le bluetooth se connecte en parallèle de rc.local, ça fonctionnerait peut-être)

sleep 10 && ./fruitbox --cfg skins/Wurly/fruitbox.cfg


Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

En ligne

#5 04-06-2020 15:41:11

casimir8740
Membre
Inscription : 04-06-2020

Re : Faire une commande au démarrage de raspian

Je viens d'essayer la deuxième méthode : ça ne marche pas

Pour la première,
j'ai créer le fichier par

sudo nano /etc/systemd/rpi-fruitbox.service



Puis rentrer les lignes que tu m'a demander de rentrer
CTRL O puis CRTL X

quand je fait:

sudo systemctl enable rpi-fruitbox.service



ça me dit:

Failed to enable unit: Unit file rpi-fruitbox.service does not exist.

Pourtant quand je fais un  "dir" je le vois dans le répertoire sytemd et je le vois même avec l'explorateur

Ou est-ce je n'ai pas fait comme il faut?

Dernière modification par casimir8740 (04-06-2020 16:20:30)

Hors ligne

#6 04-06-2020 17:33:19

bendia
Chadministrateur
Distrib. : openSUSE Tumbleweed, Stretch
Noyau : Linux 4.9.0-2-amd64
(G)UI : Gnome + Console et un peu Openbox
Inscription : 20-03-2012
Site Web

Re : Faire une commande au démarrage de raspian

My bad, c'est à mettre dans /etc/systemd/system hmm

Ben
___________________
La seule question bête, c'est celle qu'on ne pose pas.

En ligne

#7 04-06-2020 17:33:20

casimir8740
Membre
Inscription : 04-06-2020

Re : Faire une commande au démarrage de raspian

Bon j'ai trouvé peut-être beaucoup plus simple: j'ai créer un fichier fruitbox.sh

#!/bin/sh -e

cd /home/pi/rpi-fruitbox-master/

sleep 10

./fruitbox --cfg skins/Wurly/fruitbox.cfg &

exit 0


J'ai fait juste un copier de rc.local

Depuis le bureau si je l'execute ça marche avec la tempo sleep

Comment je fais pour executer ce fichier après le démarrage du bureau Raspbian ?

Dernière modification par casimir8740 (04-06-2020 17:33:54)

Hors ligne

#8 05-06-2020 06:26:28

nlancien
Membre
Inscription : 17-07-2019

Re : Faire une commande au démarrage de raspian

Bonjour,

Dans ma mémoire, le bureau raspbian (PiXEL) est basé sur Openbox. Sur ce dernier, je collerai ces lignes dans le fichier ~/.config/openbox/autostart.sh. A la fin du fichier s'il y a déjà quelque chose dedans, mais avant le exit de la dernière ligne le cas échéant.

Hors ligne

#9 05-06-2020 12:27:10

casimir8740
Membre
Inscription : 04-06-2020

Re : Faire une commande au démarrage de raspian

Bonjour,

Je n'ai pas trop compris où tu veux que je colle ces lignes désolé

Hors ligne

#10 05-06-2020 17:07:01

nlancien
Membre
Inscription : 17-07-2019

Re : Faire une commande au démarrage de raspian

PiXEL est un bureau de raspbian basé sur Openbox.

Pour lancer des commandes après le démarrage d'Openbox, je me sers du fichier ~/.config/openbox/autostart.sh

Donc créer le fichier, ou s'il existe déjà y mettre tes commandes

Hors ligne

#11 08-06-2020 18:29:00

casimir8740
Membre
Inscription : 04-06-2020

Re : Faire une commande au démarrage de raspian

Bon j'ai enfin trouvé:

Il faut créer un fichier de lancement en .sh (startfruitbos.sh)

puis

 sudo chmod +x /home/pi/startfruitbox.sh




Editer le système de démarrage de l’interface graphique avec       

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart



Ajouter les lignes

@lxterminal --command="./startfruitbox.sh"
point-rpi

Et voilà le tour est joué

Dernière modification par casimir8740 (08-06-2020 18:29:18)

Hors ligne

Pied de page des forums