Bonjour,
Je viens ici vous demander de l'aide concernant un détail de configuration de mon système linux.
Il s'agit d'un système embarqué, tournant sur une carte de développement (Udoo) sur un processeur Cortex-A9 (armv7 hf).
Le système, lancé par U-boot, utilise un noyau 3.0.35 et est constitué d'un Ubuntu (12.10) modifié par le constructeur de la carte.
Le gestionnaire de fenêtre est OpenBox, le gestionnaire de session lightdm et l'environnement de bureau Lubuntu ou LXDE (il y a les deux mais j'utilise toujours Lubuntu).
Ma problématique est de faire que mon application, qui est une GUI pour piloter la machine, soit lancée automatiquement au démarrage.
Pour cela, j'ai essayé plusieurs choses :
- Ajouter la commande dans le fichier /etc/xdg/lxsession/Lubuntu/autostart
ou
- Ajouter la commande dans le fichier ~/.config/lxsession/Lubuntu/autostart
ou
- Ajouter un fichier .desktop dans le répertoire /etc/xdg/autostart
Et dans tous les cas, mon application est effectivement lancée au démarrage du système.
Le problème que j'ai, c'est qu'elle ne fonctionne pas correctement (elle reste coincée à un moment, j'y reviendrais), alors qu'elle tourne sans problèmes lorsque je la lance manuellement.
Ce que j'ai remarqué, et qui ne me semble pas normal du tout, c'est que dans le gestionnaire de tâches, certains processus apparaissent deux fois, et notamment openbox, lxsession et... mon application lancée au démarrage (mais il n'y a qu'une seule fois la fenêtre de l'application, bizarre).
Il faut noter que mon application communique avec certains périphériques via communication série et qu'elle effectue une phase d'initialisation. Et elle a besoin de recevoir certains messages de la part de ces périphériques pour terminer sa phase d'initialisation et poursuivre son exécution. Ce que je soupçonne, c'est que l'autre instance, qui n'affiche pas sa fenêtre et ne semble rien faire, intercepte ces messages et empêche la "vraie" application de se poursuivre. C'est une supposition que je trouve moi-même bancale, car je ne vois pas comment c'est possible (vu que l'application affiche un message d'erreur si elle ne parvient pas à ouvrir la communication série, et qu'il n'y en a aucun), mais je n'en ai pas d'autre.
Bref, je suis persuadé que mon problème provient de ce dédoublement de processus, et je ne parvient pas à y remédier.
En regardant le résultat de la commande pstree, je constate que lxsession, ainsi que les processus qui en dépendent (lxpanel, openbox,pcmanfm, polkit-gnome, xscreensaver), apparaît deux fois : une sous lightdm, et une sous xstartup.
J'ai cru comprendre que xstartup était un processus de vncserver, et j'ai peur de l'enlever, au risque de mettre en carafe tout mon système.
Du coup, je ne sais plus où chercher, pouvez-vous m'aider ?
Partager