Page 2 sur 2

Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?

Posté : ven. 17 mars 2017 17:35
par AlpaGont
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?

Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?

Posté : ven. 17 mars 2017 23:32
par destroyedlolo
Houla, ca fait un moment que je n'ai pas joué avec ça.
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" '
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.

Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?

Posté : lun. 20 mars 2017 20:30
par AlpaGont
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.
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é.

Ca avance, ca avance ;)

Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?

Posté : mar. 21 mars 2017 10:35
par destroyedlolo
Voila le script dont je te parlais :

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
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+

Re: Petit projet de débutant, pourquoi ca ne fonctionne pas?

Posté : mer. 5 avr. 2017 16:22
par AlpaGont
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é ;)