• # Un délai dans le script exécuté au démarrage?

    Posté par . Évalué à 2.

    Et si tu insérais un délai d'une minute au début du script, exécuté automatiquement au démarrage du bureau, avant d'exécuter le reste?

    Ceci dit, afin d'être certain qu'il ne s'agit pas d'un cas X-Y, que souhaites-tu faire exactement?

    • [^] # Re: Un délai dans le script exécuté au démarrage?

      Posté par . Évalué à 1.

      j'ai un fichier python qui exécute un programme "socket" en tant que client. Et ce que je veux faire c'est de pouvoir exécuter ce même programme automatiquement après que mon Raspberry Pi se connecte à un point d'accès. je l'ai déjà insérer mon python dans "rc.local" et le problème c'est que malgré le fait que le programme python démarre, le "socket" ne se connecte pas.

      • [^] # Re: Un délai dans le script exécuté au démarrage?

        Posté par . Évalué à 2.

        Je pense que le fait d'avoir placé le script dans le répertoire rc.local provoque le démarrage du script, que le réseau soit disponible ou pas, d'où le problème. Ceci dit je ne connais pas suffisamment Debian pour en être certain. Il doit être possible, en principe, de rendre un service dépendant du réseau mais cela suppose des connaissances de systemd que je n'ai pas.

        Quelques pistes…

        Pour faire plus simple, il existe un répertoire de démarrage personnel pour l'environnement LXDE, nommé .config/lxsession/LXDE-pi/autostart, dans lequel les scripts sont exécutés au démarrage de l'environnement. Si ce répertoire n'existe pas il faut le créer:

        mkdir -p $HOME/.config/lxsession/LXDE-pi/autostart

        Ceci est expliqué (en anglais) sur la section Raspberry Pi du site Stack Overflow.

        Sans connaître le programme "socket" en question, il devrait renvoyer un code d'erreur lorsque la connexion est impossible. Dans certains cas, ce genre de programme attend que la connexion soit disponible et réessaie si ce n'est pas le cas. Donc s'il ne le fait pas, plutôt que d'attendre une minute, l'idée serait de relancer le programme lorsqu'il sort en erreur:

        while !programme_socket; do sleep 5s; done

        Cette ligne de commande est du bash script. Il est possible de traduire ça sous Python aussi si nécessaire.

      • [^] # Re: Un délai dans le script exécuté au démarrage?

        Posté par . Évalué à 4.

        programme automatiquement après que mon Raspberry Pi se connecte à un point d'accès.

        pour ca il y a les options "scripts" dans l'interface de gestion des connexions reseaux
        ou la ligne "post-up" dans /etc/network/interfaces sur debian par exemple

        ca permet de ne lancer le script que lorsque la carte reseau est configurée (UP)

  • # Petit veinard va !

    Posté par . Évalué à 2. Dernière modification le 03/06/19 à 20:50.

    Salut jonels99 :-)

    Tu as bien de la "chance", j'ai réinstallé le PC qui me sert de NaS en voulant faire quelque chose de plus automatisé tout en restant sécurisé.
    Pour la partie automatisée, je me suis trouvé confronté à un problème de montage de partages réseaux NFS. Entre les solutions autofs qui me paraissaient complexe, les scripts dans /etc/network/if-pre-up (peu compatible, de prime abord, avec netplan) ou systemd, je me suis tourné vers ce dernier !

    Le plus long à été de trouver le bon article pour comprendre pourquoi je n'arrivais pas à mes fins :-)

    Systemd permet de créer des services facilement qui vont te permettre de faire ce que tu veux.
    Systemd peut paraître impressionnant mais finalement ça reste logique, cohérent et à la portée de qui veut se renseigner et réfléchir (ça a été pour moi le truc le plus dur du week-end, j'ai failli y arriver).

    J'avais ce problème : connecter mes partages réseau NFS une fois que le réseau est opérationnel

    Il existe un service appelé /etc/systemd/system/network-online.service qui permet comme son nom l'indique d'attendre que le réseau soit disponible… ou pas (bien lire le paragraphe Creating a service that actually waits de ce fameux article)

    Étant un noob de systemd, je ne vais pas t'en dire plus que cela.

    Voilà un lien en Français et un autre en Anglais qui pourront t'aider à créer le service de tes rêves _

    Julien_c'est_bien (y'a pas que Seb)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.