LXDE : autostart

Charles -  
 Charles -
Bonjour
Sur Raspberry pi3 linux 10. Je souhaite déclencher un programme at startup.

En fin de fichier /etc/xdg/lxsession/LXDE-pi/autostart
J'ai écris la ligne suivante: @lxterminal --working-directory=/home/pi/serlem/timer_posix/bin/Debug --command="sudo nice -n -20 ./timer_posix".
Je n'ai pas de démarrage automatique alors que quand j'écris cette même ligne sans @ en CLI le programme fonctionne correctement.
Need help
Merci>

8 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Explications (en anglais) ;-)

    0
  2. Charles
     
    Salut zipe31
    Désolé, je n'ai pas trouvé la solution en suivant ton lien
    Peux-tu me préciser ce qui ne va pas ?
    Merci.
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Tu utilises et modifies le fichier général de configuration
      /etc/xdg/lxsession/LXDE-pi/autostart
      , qui est obsolète, alors qu'il te faut configurer celui présent dans ton répertoire personnel
      /home/pi/.config/lxsession/LXDE-pi/autostart
      .

      Extrait :
      The global LXDE autostart file is ignored if there is a local autostart.

      In Raspbian there is a local file: /home/pi/.config/lxsession/LXDE-pi/autostart.

      Adding the command to that file should start it when you log in to the GUI.


      Le fichier général d'auto-démarrage de LXDE est ignoré s'il existe un fichier local (dans le répertoire utilisateur).

      Dans Raspbian il y a un fichier local dans : /home/pi/.config/lxsession/LXDE-pi/autostart.

      Ajouter les commandes dans ce fichier les lancera quand vous démarrerez votre session graphique.
      0
  3. Charles
     
    Surtout que si je retire la fonction sudo nice -n -20 cela fonctionne. Mais j'ai besoin de cette fonction.
    0
  4. Charles
     
    Je me permets de te rappeler que je n'ai pas de souci pour déclencher mon programme sans la fonction nice. J'en conclu que je ne me trompe pas de fichier autostart. Je peux aussi faire cela : @sudo lxterminal --working-directory=/home/pi/serlem/timer_posix/bin/Debug --command="nice -n -20 ./timer_posix". Ca marche en CLI mais toujours pas en autostart.
    Cette ligne fonctionne :sudo lxterminal --working directory=/home/pi/serlem/timer_posix/bin/Debug --command="./timer_posix". Mais impossible d'y ajouter nice.
    Merci
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Je me permets de te rappeler que je n'ai pas de souci pour déclencher mon programme sans la fonction nice.
      Ah bon ? C'était notifié où ???
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Charles
     
    et je n'ai pas de fichier /home/pi/.config/lxsession/LXDE-pi/autostart
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Et alors ? Tu veux avancer ou pas ? Crée-le et teste !
      0
  7. Charles
     
    Non
    le programme se déclenche bien at boot mais sans la fonction nice
    même problème que précedemment dés que je mets cette fonction
    C'est cette fonction nice qui bloque le déclenchement du programme
    Alors qu' en CLI, la ligne de commande avec nice fonctionne bien
    Note : Il a fallu que je crée tous les répertoires suivant .config (lxsession/LXDE-pi), ils n'existaient pas
    Chose intéressante c'est qu'il semble que ce démarrage court-circuite tout le reste (plus de Desktop). Mais je n'ai pas gagné en priorité et cela reste équivalent au fonctionnement précédent.
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Il a fallu que je crée tous les répertoires suivant .config (lxsession/LXDE-pi), ils n'existaient pas
      Ça c'est bizarre, parce que le .config est commun à toutes les distribs, mais c'est un fichier caché (le point devant en témoigne) et il faut les afficher dans les options en GUI ou via le paramètre "-a" de la commande
      ls
      en CLI.

      Après, pour ton histoire de
      nice
      , on peut paramétrer la valeur par défaut accorder à un programme :
      https://www.tecmint.com/set-linux-process-priority-using-nice-and-renice-commands/
      descendre au paragraphe How To Set Default Nice Value Of a Specific User’s Processes
      0
  8. Charles
     
    Ah bon ? C'était notifié où ???
    Message précédent
    0
  9. Charles
     
    Bon, écoute
    J'ai contourné le problème de nice en intégrant la fonction setpriority () en c++ dans mon programme. Donc pas besoin de nice sauf besoin spécifique en CLI.
    Merci de ton attention

    Par contre, si tu as une solution pour patché PREEMPT_RT, cela m'intéresse. J'ai passé un sacré temps sur internet essayer d'intégrer ce patch et pas moyen
    Merci
    0