LXDE : autostart

Fermé
Charles - 3 juin 2020 à 16:17
 Charles - 4 juin 2020 à 13:47
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

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 416
3 juin 2020 à 16:25
Salut,

Explications (en anglais) ;-)

0
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 416
4 juin 2020 à 08:13
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
Surtout que si je retire la fonction sudo nice -n -20 cela fonctionne. Mais j'ai besoin de cette fonction.
0
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 416
4 juin 2020 à 08:40
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
et je n'ai pas de fichier /home/pi/.config/lxsession/LXDE-pi/autostart
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 416
4 juin 2020 à 08:53
Et alors ? Tu veux avancer ou pas ? Crée-le et teste !
0
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 416
4 juin 2020 à 10:49
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
Ah bon ? C'était notifié où ???
Message précédent
0
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