Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Raspbian - LXDE] Lancer script bash au démarrage

    30 juillet 2014 à 15:48:39

    Bonjour,

    je dispose d'un Raspberry Pi tournant avec Raspbian - LXDE. Je souhaiterais que lorsque je démarre mon Raspberry en mode bureau (LXDE), celui-ci exécute automatiquement un certain script bash.

    Quand on chercher sur le net, on trouve des réponses, notamment ceci :

    http://forum.lxde.org/viewtopic.php?t=111

    http://askubuntu.com/questions/166777/how-can-you-make-a-sh-file-come-on-at-startup-in-lubuntu-12-04

    En gros, sur tous les forums ils suggèrent deux réponses, celle où on modifie le fichier autostart dans /etc/xdg/lxsession/LXDE/, et celle où on crée un fichier .desktop dans /usr/share/applications/ et dans  /etc/xdg/autostart/.

    J'ai essayé ces deux méthodes, mais chaque fois que j'allume mon Raspberry et que j'aboutis sur mon bureau, je ne vois pas de conséquence de mon script (celui-ci est censé créer un fichier vide dans un répertoire). S'est-il exécuté ? A-t-il bugué ? Je ne comprends pas pourquoi ça ne fonctionne pas, et j'aimerais avoir votre avis sur la question.

    mon script (/home/pi/Documents/toto.sh) :

    touch fichier_vide

    mon /etc/xdg/autostart/my_autostart.desktop (identique au /usr/share/applications/my_autostart.desktop)

    [Desktop Entry]
    Name=My_Autostart
    Exec=lxterminal --command "/home/pi/Documents/toto.sh"
    Type=Application
    Terminal=false
    

    Je précise que le script fonctionne quand je le teste en console.

    Quelqu'un a-t-il une idée ?

    Merci d'avance

    Ecu



    • Partager sur Facebook
    • Partager sur Twitter
    Découvrez mes jeux de société sur jeuxetmondes.com et likez ma page facebook/jeuxetmondes
      31 juillet 2014 à 9:27:34

      Salut,

      J'ai déjà fait ça, mais pour lancer une appli à l'ouverture de session, mais exécuter un script bash revient au même.

      Il suffit d'ajouter un fichier nommé .desktop au répertoire ~/.config.autostart ou d'ajouter les commandes nécessaires au fichier .config/lxsession/LXDE/autostart pour qu'un programme démarre pour un utilisateur précis.

      De façon moins commune, pour un démarrage automatique à l’ensemble des utilisateurs, on peut éditer le fichier /etc/xdg/lxsession/LXDE/autostart.

      Par contre, pour ce qui est de l’exécution de ton script, ce ne serait pas plus pratique de l’exécuter automatiquement au démarrage du système, et non à l'ouverture de session ?

      Pour tester rapidement, tu peux ajouter ta ligne de commande

      /home/pi/Documents/toto.sh

      au fichier /etc/rc.local

      Ch.

      • Partager sur Facebook
      • Partager sur Twitter
        31 juillet 2014 à 10:29:49

        @ stopher

        Merci pour ta réponse.

        J'avais déjà créé un répertoire ~/.config/autostart, dans lequel j'ai mis un my_autostart.desktop, contenant le code suivant :

        [Desktop Entry]
        Name=My_Autostart
        Exec=lxterminal --command "/home/pi/Documents/toto.sh"
        Type=Application
        Terminal=false

        Mais pour le moment ça ne fonctionne pas. Je vais encore essayer en modifiant quelque peu ce fichier.

        La deuxième méthode, consistant à modifier le /etc/xdg/lxsession/LXDE/autostart, je l'ai aussi essayée. J'avais réussi à lancer le navigateur au démarrage via la ligne

        @midori -e Fullscreen -a http://google.com

        Mais quand j'ai essayé de lancer un script de la même façon, je n'y suis pas arrivé. Sans doute un problème de syntaxe. Si tu connais la syntaxe exacte pour un script, ça m'intéresse.


        Par contre, pour ce qui est de l’exécution de ton script, ce ne serait pas plus pratique de l’exécuter automatiquement au démarrage du système, et non à l'ouverture de session ?

        Peut-être. En fait mon but c'est de lancer un programme au démarrage, mais qui requiert que la console X soit activée. Voilà pourquoi je démarre en mode graphique, car c'est la seule façon que j'ai trouvée pour démarrer cette console. Quand j'essaie de lancer un programme graphique en ayant démarré depuis le terminal, j'ai un message d'erreur disant que X n'est pas démarrée.

        EDIT :

        J'ai à nouveau essayé en modifiant quelques trucs mais rien à faire, ça ne fonctionne pas. Je me demande s'il n'y aurait pas quelque part un paramètre qui bloque le lancement au démarrage. Je ne sais vraiment plus quoi faire.

        -
        Edité par Ecu 31 juillet 2014 à 10:59:04

        • Partager sur Facebook
        • Partager sur Twitter
        Découvrez mes jeux de société sur jeuxetmondes.com et likez ma page facebook/jeuxetmondes
          31 juillet 2014 à 11:38:56

          Tu peux nous montrer ton script bash ?
          • Partager sur Facebook
          • Partager sur Twitter
            31 juillet 2014 à 12:14:47

            @ stopher

            Je te le remets :

            touch fichier_vide

            Je l'ai testé et ça fonctionne.

            Ecu

            • Partager sur Facebook
            • Partager sur Twitter
            Découvrez mes jeux de société sur jeuxetmondes.com et likez ma page facebook/jeuxetmondes
              4 août 2014 à 15:24:00

              Bonjour,

              j'ai trouvé une solution pour lancer mon script au démarrage :

              • éditer le fichier .bashrc situé dans le répertoire /home/pi
              • y ajouter à la fin la ligne de commande d'exécution du script

              J'ai réussi ainsi à faire exécuter au démarrage mon script de création de fichier. Je ne comprends toujours pas pourquoi les autres solutions que j'avais essayées ne fonctionnent pas, mais au moins celle-ci fonctionne.

              Par contre, je cherche maintenant à aller plus loin, à savoir lancer un jar (programme java) au démarrage. Et là, quand je démarre et que j'arrive sur le bureau, le programme ne s'est pas lancé (ce programme est un UI). Il faut que je lance le terminal pour qu'automatiquement mon jar se lance. N'est-il pas possible d'arriver à le lancer dès qu'on arrive sur le bureau ?

              • Partager sur Facebook
              • Partager sur Twitter
              Découvrez mes jeux de société sur jeuxetmondes.com et likez ma page facebook/jeuxetmondes
                4 août 2015 à 17:30:13

                bonjour,

                je remonte ce sujets parce que j'ai un souci avec cette manip.

                voila donc je suis en train de finaliser yana le System domotique, la reconnaissance vocale sera embarqué sur le rpi. 

                en plus du System domotique j'aimerais un démarrage automatique d'une page web ( mais c'est pour plus tard ca ).

                pour commencer quand le rpi est démarré sur le bureau je souhaite qu'il ouvre une console et dans cette console doit s’exécuter le script pour la reconnaissance vocale.

                j'ai donc tenté de modifier .bashrc et le script s'est exécuté quand j'ai fait une connexion ssh sur le pi... et pas sur le bureau du rpi.

                commence puis je faire?

                • Partager sur Facebook
                • Partager sur Twitter
                  7 août 2015 à 15:52:27

                  up siouplai je ne m'en sors pas et je trouve rien intéressant a lire la dessus
                  • Partager sur Facebook
                  • Partager sur Twitter
                    6 octobre 2015 à 14:37:41

                    judeoleborgne a écrit:

                    up siouplai je ne m'en sors pas et je trouve rien intéressant a lire la dessus

                    Tu as trouve ?



                    • Partager sur Facebook
                    • Partager sur Twitter
                      16 mai 2019 à 16:15:29

                      Bonjour à tous, j'ai eu un problème similaire et je l'ai réglé.

                      un truc tout simple:

                      en imaginant que le script soit sur le bureau.

                      en cmd ouvrir avec nano ou gedit en su /home/pi/.config/lxsessionLXDE-pi/autostart

                      rajouter la ligne comme suit avant la dernière ligne qui doit se terminer par point-rpi logiquement

                      @lxterminal --command /home/pi/Desktop/tonScript.sh

                      !! attention !! si ton script ouvre un .jar par exemple met le chemin complet.

                      tu redemarre et hop ton script se lance

                      • Partager sur Facebook
                      • Partager sur Twitter

                      [Raspbian - LXDE] Lancer script bash au démarrage

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      • Editeur
                      • Markdown