merci pour les conseils.
Avec l'autostart j'ai su lancer mon programme.
Par contre, en suivant le petit tuto simple pour lancer une page chromium, je tombe sur un soucis
Voilà mon autostart:
@lxpanel --profile LXDE-pi
@pcmanfm --desktop --profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
@/home/pi/Desktop/crg-scoreboard_3.9.0-20160408192330/scoreboard-Linux.sh
@xset s off
@xset -dpms
@xset s noblank
@/usr/lib/chromium-browser/chromium-browser --start-fullscreen "http://google.com"
Chromium s'ouvre, mais avec l'adresse : %22http//google.com"
le problème est apparemment dans les guillemets. mais quand je les enlèves, ca ne lance pas d'adresse.
Du coup, j'ai configuré la page d'acceuil de chromium manuellement avec mon url "localhost:8000/views/scoreboard.html?ani=min" là, ca s'ouvre correctement
PAR CONTRE, mon programme (qui est en fait un genre de serveur de page web sous java) termine de se lancer après que la page s'affiche. du coup la page "localhost:8000/views/scoreboard.html?ani=min" n'existe pas encore.
Comment faire alors pour ouvrir crhomium après un petit temps, ou bien lui demander de faire un refresh de la page après 15 secondes par exemple?
Petit projet de débutant, pourquoi ca ne fonctionne pas?
Modérateur : Francois
-
- Raspinaute
- Messages : 1587
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?
Houla, ca fait un moment que je n'ai pas joué avec ça.
J'essaierai un truc du genre
sans garantie, hein, je n'ai pas de LXDE sous la main.
Mais ca reste un peu crade : si ton appli est bien foutue, elle devrait ouvrir le port applicatif une fois que tout est bien initialisé. Dans ce cas, le plus propre est d'attendre que ce soit le cas avant de lancer le navigateur. Voir par exemple la commande lsof.
ps: si tu bloque, relance moi lundi, j'ai fait un script de ce genre pour le taf, mais pas le temps de regarder ce W.E.
J'essaierai un truc du genre
Code : Tout sélectionner
@sh -c 'sleep 5 && /usr/lib/chromium-browser/chromium-browser --start-fullscreen "http://google.com" '
Mais ca reste un peu crade : si ton appli est bien foutue, elle devrait ouvrir le port applicatif une fois que tout est bien initialisé. Dans ce cas, le plus propre est d'attendre que ce soit le cas avant de lancer le navigateur. Voir par exemple la commande lsof.
ps: si tu bloque, relance moi lundi, j'ai fait un script de ce genre pour le taf, mais pas le temps de regarder ce W.E.
- BananaPI : Gentoo, disque SATA de 2 To
- Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
- Multimedia par DNLA
- Et pleins d'idées ... et bien sûr, pas assez de temps.
Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?
Testé. alors: quand je lance la commande dans le terminal, cela fonctionne, meme si il donne une erreur. Par contre, quand je la met en autostart, rien ne se passé.destroyedlolo a écrit :ps: si tu bloque, relance moi lundi, j'ai fait un script de ce genre pour le taf, mais pas le temps de regarder ce W.E.
Ca avance, ca avance
-
- Raspinaute
- Messages : 1587
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?
Voila le script dont je te parlais :
Bon, j'ai viré ce qui n'est pas important dans ton cas, c'est un peu verbeux pour rentrez dans les calvat de mon taf, mais du coup, c'est relativement simple a comprendre.
Le script attend jusqu'a TIMEOUT seconde pour l'arriver du port : s'il apparait, retour ok (0), si timeout retour ko (1).
Il ne te reste plus qu'a mettre sans dans un script qui lance ton navigateur si le port apparait dans les temps, et mettre ton script dans l'autostart d'LXDE.
A+
Code : Tout sélectionner
#!/bin/bash
trap 'STATUS=$?; echo; echo Erreur $STATUS ligne $LINENO : `sed -n "${LINENO}p" $0`; echo; exit $STATUS' ERR
# Configuration ---
if [ ${#} -ne 3 ]
then
echo "Syntaxe : $0 PORT TIMEOUT"
echo "Attent au moins <TIMEOUT> seconds l'apparition du port <PORT>"
exit 10
fi
PORT=$1
TIMEOUT=$2
SLEEP=15
#
# C'est parti
#
WAITING=0
while [ ${WAITING} -lt ${TIMEOUT} ]
do
if /usr/local/bin/lsof -i tcp:$PORT | grep LISTEN
then
echo "\nINFO : `date '+%Y/%m/%d %H:%M:%S'` Demarrage effectif"
exit 0
fi
echo "${WAITING} : Demarrage en cours ..."
WAITING=$(expr ${WAITING} + ${SLEEP})
sleep ${SLEEP}
done
echo
echo "ERREUR : L'application n'a pas demarree dans le temps imparti"
exit 1
Le script attend jusqu'a TIMEOUT seconde pour l'arriver du port : s'il apparait, retour ok (0), si timeout retour ko (1).
Il ne te reste plus qu'a mettre sans dans un script qui lance ton navigateur si le port apparait dans les temps, et mettre ton script dans l'autostart d'LXDE.
A+
- BananaPI : Gentoo, disque SATA de 2 To
- Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
- Multimedia par DNLA
- Et pleins d'idées ... et bien sûr, pas assez de temps.
Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?
Merci pour tout ces conseils.
Pas vraiment résolus, mais le projet ne tiens pas la route. un rpi3 rame avec ce programme utilisé a pleine capacité. je vais essayer autrement
Topic peut être fermé
Pas vraiment résolus, mais le projet ne tiens pas la route. un rpi3 rame avec ce programme utilisé a pleine capacité. je vais essayer autrement
Topic peut être fermé