Pages : 1
#1 Le 04/04/2006, à 10:43
- nomademorris
Tache cron
Salut
j'ai une borne internet sous ubuntu et je desire que mozilla-firefox ne se ferme jamais,
c'est à dire, lorsque qu'un utilisateur ferme mozilla-firefox, et bien, il se relance tout seul.
alors pour ca j'ai fait un petit script "respawn.sh" que voici :
#!/bin/sh
## je verifie que firefox est lance
## sinon il se lance
test_firefox=`pstree -p | grep firefox | wc -l `
#on va teste la variable test_firefox
if [ $test_firefox -eq 0 ]
then
/usr/bin/firefox http://www.free.fr &
fi
je voudrais que ce script "ecoute" et s'active lorsque mozilla-firefox se ferme
ma question est la suivante, dois je utiliser cron ? et si oui comment.
merci par avance
Hors ligne
#2 Le 05/04/2006, à 16:49
- Sorlingues
Re : Tache cron
je voudrais que ce script "ecoute" et s'active lorsque mozilla-firefox se ferme
ma question est la suivante, dois je utiliser cron ? et si oui comment.merci par avance
Je joue peut-être sur les mots mais ce script ne sera pas capable de détecter que firefox se ferme mais qu'il est fermé. Je dis cela parce que je ne comprends pas ce que tu veux dire par "s'active". Je suppose que ton script sera relancé toutes les x secondes.
Utiliser cron me paraît être une solution mais je pense que le délai minimal entre deux exécutions avec cron est de 1 minute. Peut-être est-ce trop pour ton script ?
Une autre solution serait de faire boucler ton script indéfiniment (en y plaçant aussi une commande sleep pour définir un intervalle de x secondes entre deux vérifications) et de le lancer au démarrage du système. Tu te serais en quelque sorte créé un daemon personnel. Le problème est que ce script ne peut être lancé qu'après le serveur X (ça s'est facile) mais surtout après qu'un utilisateur soit logué (ajouter une condition vérifiant le nombre d'utilisateur logués ?)
Plutôt que de lancer le script au démarrage du système (init.d), tu peux le placer dans le menu autostart de gnome (je suppose que cela existe) ou de kde (je suis sûr que cela existe) de l'utilisateur qui lance la session pour ta borne (je suppose que cela correspond à un utilisateur bien précis). Il n'y aura alors aucun problème d'accès au serveur X (mais peut-être le risque qu'un utilisateur particulièrement vicieux découvre ton script et ne parvienne à le tuer).
Il me semble que c'est cette dernière solution que j'adopterais (mais je ne connais pas les conditions exactes d'accès et de "surveillance" de cette borne ni ses besoins en sécurité).
Concrètement :
1/ modification du script : boucle while toujours vraie + commande sleep 10 (par ex.)
2/ placement du script dans le répertoire /home/utilisateur_borne/.kde/Autostart/ (ou équivalent dans gnome)
Maintenant il y a peut-être un moyen plus subtil de réaliser cela.
Y aurait-il moyen d'empêcher de fermer la fenêtre de firefox ?
Hors ligne
#3 Le 05/04/2006, à 21:11
- nomademorris
Re : Tache cron
Cher Sorlingues,
Ta réponse est intérressante et riche. Je crois effectivement que je ne me pose pas les bonnes questions pour mettre en place ce système.
L'idée de créer le script qui boucle indéfiniment est pas mal, je vais me pencher dessus et revenir vers vous si je progresse.
Pour info, la borne est vérrouillée graphiquement (aucun icone sur le bureau + clic droit désactivé + raccourcis clavier désactivés également), le navigateur ne sait résoudre que deux url.
La question, je cite "Y aurait-il moyen d'empêcher de fermer la fenêtre de firefox ?", qui ferme ta réponse reste toujours ouverte.
En tout cas merci d'avoir apporté de l'eau à mon moulin.
Hors ligne
#4 Le 03/05/2006, à 14:03
- bris
Re : Tache cron
les solutions de boucles infinie ou de cron toutes les secondes peuvent marcher, ceci étant dit, cela me semble assez lourd au niveau utilisation des ressources...
La meilleurs solution serait je pense de configurer firefox comme un service non-killable, ou qui se relance à peine est-il fermé, un peu comme les tty2,3,4,...
Je crois que tu devrais ajouter un script bash dans /etc/rc2.d/ qui définisse une telle attitude à suivre.
Voilà pour la théorie, je crois ne pas avoir dit trop de connerie, pour la pratique par contre attendons l'avis d'un vrai pro!!!
un vaut mieu que deux ! CQFD
Hors ligne
#5 Le 03/05/2006, à 14:36
- MBt
Re : Tache cron
Salut,
C'est peut-être brutal mais en récupérant les sources de FF, tu peux peut-être modifier le format de la fenêtre et désactiver le bouton "fermer" ou réagir sur l'évènement "click sur Fermer" puis recompiler... Vu que tu as déjà modifié le fonctionnement d'Ubutu, tu dois certainement savoir faire ce genre de manips.
Une autre possibilité c'est de regarder s'il n'y a pas une extension FF qui fait ce que tu cherches. Il existe des extensions de scripting qui permettent de réagir à des évènement.
MBt.
Hors ligne
Pages : 1