Contexte : Je travaille sur une plateforme Linux embarqué. Un portail, basé sur Qt et faisant appel à vlc, a été développé. Actuellement, nous tentons d'automatiser le lancement de ce portail. Au démarrage, celui-ci doit lancer vlc et cela doit être transparent pour l'utilisateur.
Pour réaliser ce démarrage automatique, nous avons réaliser le portaild suivant :
#!/bin/sh
export QWS_MOUSE_PROTO=tslib:/dev/ttyS2
case "$1" in
start)
# affiche un message sur ce qui est fait
echo "Starting Portail"
# Lance le processus comme un démon et enregistre le pid
start-stop-daemon --start --quiet --background --pidfile /var/run/portail.pid --make-pidfile --retry forever --exec /opt/portail/portail -- -qws
# Affiche le succès ou l'échec
;;
stop)
# affiche un message pour l'utilisateur
echo "Stopping Portail"
# arrete le démon en se servant du pid enregistré par la fonction start()
start-stop-daemon --stop --quiet --pidfile /var/run/portail.pid --name portail -- -qws
# Affiche le succès ou l'échec
;;
esac
exit 0
Nous avons :
- modifiez les droits de ce fichier :
chmod 755 /etc/init.d/portaild
- indiquer au système de démarrer le portail au boot (runlvl de niv 3) en effectuant le lien symbolique vers le démon portaild :
ln -s /etc/init.d/portaild /etc/rc3.d/S99portaild
- modifiez les droits sur ce lien :
chmod 777 /etc/rc3.d/S99portaild
Problème : au démarrage de la carte, le deamon se lance. Le portail s'éxecute, il lance vlc (jusqu'ici NICKEL!!!) et je ne sais pas pourquoi le portail s'arrete (n'existe plus dans les taches en cours : ps -aux) en laissant vlc tourné.
Avez vous une idée???
Est que mon fichier portaild est correct???
PS : j'ai essayé sans l'option --background :
start-stop-daemon --start --quiet --pidfile /var/run/portail.pid --make-pidfile --retry forever --exec /opt/portail/portail -- -qws
Tout s'exécute correctement, sauf que lors d'une lecture de video avec vlc, l'image ne s'affiche pas!!!
Hypothèse : comme le portail n'est plus en background, vlc ne peut avoir accès au display.
(vous pouvez me corriger! si vous n'êtes pas d'accord!).
Merci d'avance
A+++++
matt
# PB d'execution d'un deamon
Posté par mattboul . Évalué à 1.
Il semblerait que mon problème soit du à des varaibles d'environnement qui ne seraient pas encore initialisées au moment ou mon aplication portaild se lance.
J'ai bidouillé mon fichier /etc/inittab et remplacer mon fichier portaild par
1:3:wait:/opt/portail/./portail -qws &
à la fin du fichier inittab
mais cela ne solutionne pas mon problème.
Avez vous une idée???
# mattboul
Posté par mattboul . Évalué à 1.
Je dois etre mauvais dans mes explications :P
Bon au derniere nouvelle, j'ai modifié mon fichier portaild de mon premier post en :
#!/bin/sh
# commande pour démarrer le portail en background :
/opt/portail/./portaild -qws &
Comme mon démarrage automatique ne marche pas, j'ai donc tester cette expérience :
A) démarrage 1 :
Je laisse la platefrome se démarrer et des que tout fonctionne, j'excute mon fichier portaild. Mon portaild se lance, vlc s'éxécute, et mon portaild bug en laissant vlc tourné tout seul.
B) démarrage 2 : Je laisse la platefrome se démarrer et des que tout fonctionne, je lance ma commande :
/opt/portail/./portaild -qws & sans utiliser mon fichier portaild.
Et la tout marche!!!!
Est un problème de shell?
Ou si vous avez une autre idée???
S'il voulait n'hésitez pas à répondre merci!!!
Bonne journée
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.