Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
démarrer eibd automatiquement
#1
Bonjour,

je n'arrive pas à faire démarrer automatiquement EIBD sur mon raspberry pi.
J'ai lu beaucoup de choses, essayé plusieurs script mais rien à faire, il ne veut bien démarrer que manuellement ce qui me fait râler à chaque redémarrage de mon PI.

J'ai essayé entre autres ce script

Code :
#! /bin/sh
#
### BEGIN INIT INFO
# Provides: startknx
# Required-Start: $network  
# Required-Stop:  
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start EIBD et KNX
# Description: Démarre lors du lancement le script
#              eibd et knxweb automatiquement  
### END INIT INFO

sleep 5
setuid: pi
eibd -d -D -S -T -i ipt:192.168.0.21:3671

que j'ai rendu exécutable avec
Code :
sudo chmod 755 /etc/init.d/monScript

pour ensuite l'activer avec
Code :
update-rc.d monScript defaults

mais après de multiples redémarrages, pas moyen, EIBD est toujours inactif dans la partie admin de KNXWEB...

précisions:
- j'ai installé eibd avec knxweb et linknx grâce au script d'installation du trio :
http://www.knxweb.fr/install_trio/
- mon script démarre bien quand je le lance manuellement (sudo service monScript start)
- le user de ma session ouverte est "pi"
- setuid: pi n'a pas l'air de fonctionner... c'est pourtant ce que je cherche à faire pour lancer eibd depuis ma session pi et pas la session root.. mais je ne sais pas si c'est ce qu'il faut faire.
- je suis nul en linux

Qui pourrait m'aider svp ? Merci d'avance.
Répondre
#2
Essaye peut-être d'utiliser su pour lancer le script avec l'uid qui va bien :

su pi -c "eibd -d -D -S -T -i ipt:192.168.0.21:3671"
Frédéric

https://pknyx.gbiloba.org (de nouveau en ligne !)
Répondre
#3
merci pour ta réponse.

J'ai essayé, mais n'a pas mieux fonctionné tel quel..
Par contre quand je lance mon script manuellement, maintenant il me demande le mot de passe du user pi. Quand je tape mon mot de passe, eibd démarre en effet (toujours manuellement bien sûr). Dois-je renseigner le mot de passe de "pi" dans le script pour que ça fonctionne automatiquement au démarrage?
Répondre
#4
Si tu lances en tant qu'utilisateur autre que root, c'est normal qu'il demande le mot de passe (sinon, n'importe qui pourrait utiliser le compte de n'importe qui !). Mais depuis root, il ne doit pas le demander, ce qui est le cas lorsque c'est exécuté par sysinit, lors du boot.

Par contre, essaye de donner le chemin complet vers eibd, dans le script ; si c'est comme dans al crontab, les variables d'environnement, dont PATH, n'existent pas, donc il ne sait pas où aller chercher le binaire...
Frédéric

https://pknyx.gbiloba.org (de nouveau en ligne !)
Répondre
#5
Merci pour ton aide..
J'y suis arrivé.. enfin.

Je suis reparti du script de ce post : http://www.knx-fr.com/showthread.php?tid=3365

le voici recopié tel qu'utilisé :
Code :
#!/bin/sh
### BEGIN INIT INFO
# Provides:          knx
# Required-Start:    $syslog $remote_fs $network
# Required-Stop:     $syslog $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Description:       Provides knx services for raspberry pi
### END INIT INFO

startKnx() {
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
    sudo -u pi eibd -d -D -S -T -i ipt:192.168.0.21:3671
    echo "KNX services started" >> sudo -u pi /home/pi/knx.log
}

#
# main
#

case "$1" in
    start)
        startKnx
        ;;
        stop)
        ;;
        status)
        ;;
esac

#

Je l'ai écrit dans un nouveau fichier, à côté de l'autre
Je l'ai ensuite rendu exécutable avec
Code :
sudo chmod 755 /etc/init.d/monScript_2

puis ajouté au démarrage
Code :
sudo update-rc.d monScript_2 defaults

il m'a alors dis qu'il y avait déjà mon ancien script au démarrage (ou un truc dans le style). J'ai alors essayé d'enlever l'ancien script avec
Code :
sudo update-rc.d monScript_1 remove
mais il n'a pas eu l'air de vouloir.

Tant pis me suis-je dis, j'essaie de redémarrer.. et là EIBD s'est bien lancé au démarrage... je ne sais pas bien pour finir qui fait quoi et lequel fonctionne.. mais ça m'est égal du moment que ça fonctionne !

Linux et moi, ça fait 2.. et pour longtemps.


Répondre
#6
Je ne pourrai pas t'aider plus sur le doublon, mais si ça marche... Saches que ces saloperies de mécanismes de scripts de démarrage, c'est la plaie, et affaire de spécialiste ! C'est une usine à gaz, peu ou pas documentée, et en plus, ça change tous les 3 matins suivant la distro... Ce n'est pas vraiment représentatif d'un système linux (le reste c'est enfantin, à côté).
Frédéric

https://pknyx.gbiloba.org (de nouveau en ligne !)
Répondre
#7
Ok, merci pour les précisions Tongue
Répondre
#8
Après le crash de mon rPI, je me suis remis en quête du démarrage automatique de EIBD car, bien sûr, à la fin de l'installation du trio EIBD/LinKNX/KNXweb, EIBD était le seul qui ne voulait toujours pas démarrer.
Et bien sûr, tout ce que j'explique ci-dessus que j'ai essayé de réappliquer n'a pas fonctionné.

Ce qui a par contre fonctionné (après l'abandon de mes recherches avec cron et crontab que je n'arrive toujours pas à faire fonctionner au boot), c'est l'édition du fichier /etc/default/eibd qui ne semblait pas bien renseigné.
Il contenait seulement ça :
Code :
# Configuration demarrage /etc/init.d/eibd
USER=knx

et je l'ai modifié pour qu'il ai ceci
Code :
# Configuration demarrage /etc/init.d/eibd
USER=knx
DAEMON_ARGS="--daemon=/var/log/eibd.log --pid-file=/var/run/eibd.pid --listen-t$
EIBD_BACKEND="ipt"
EIBD_PORT_IPT="192.168.0.21"
comme le stipule cette page
où "192.168.0.21" est bien sûr l'adresse IP de ma passerelle KNX.

Ensuite le script de démarrage d'origine de EIBD (/etc/init.d/eibd) a l'air de fonctionner et, il me semble, que le mien devient inutile.
En tout cas maintenant EIBD démarre de nouveau automatiquement.

Répondre
#9
Pour info j'ai fait une petite correction du script de démarrage eibd, cf https://www.jeedom.fr/forum/viewtopic.ph...5&start=40 car j'avais le même pb sous raspberry pi 2 (raspbian)
Si quelqu'un peut m'aider concernant la différence en le paramètre ip et ipt pour que les deux fonctionnent, ce serait top!.
Ca évite d'avoir sa configuration dans le script!
Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 2 visiteur(s)