Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 30/03/2007, à 12:02

Mam

Limiter le lancement de plusierus applications

Bonjour

J'ai mis en place un PC sous ubuntu publique et gratuit pour les enfants de mon village.
Tout fonctionne trés bien mais j'ai un léger probleme. Je m'explique:

Ce sont des jeunes entre 5 et 12 ans, beaucoup n'y connaissent pas grand chose en informatique, et aucun n'avais touché à linux auparavant. Lorsqu'ils souhaitent lancer une application (un jeu la plupart du temps), ils doublent clique sur l'icone et ca lance le jeu. Le probleme c'est qu'ils vont pas forcément penser a quitter le jeu apres. Donc au bout d'un certain temps, le pc rame énormément car il y a 15 applis lancées (hier par exemple, il y avais 5 fois le jeu wormux lancé). A partir de ce moment la, le pc rame tellement qu'il est difficile de quitter les applications proprement (débrancher le pc est une solution mais je suis pas sur que l'os tienne longtemps a ce rithme tongue). Je chercherais donc un moyen de limiter le lancement d'applis simultanées, avec si possible un message d'erreur sympa ("tututut! tu as deja lancé 3 programmes! quittes les avant d'en lancer de nouveaux" plutot que "youre kernell32 has causing a défaillance in ze 428907 module).

Merci de votre attention

Mam

Hors ligne

#2 Le 31/03/2007, à 12:16

ch0c0bn

Re : Limiter le lancement de plusierus applications

Salut,

Tout d'abord bravo pour ton initiative.

Je pense qu'un petit bout de script pourrait répondre en grande partie a ton problème.

L'idée de ce script est de vérifier si le programme est déjà lancé (avec la commande ps) avant d'aller plus loin.

On va procéder pas à pas pour mettre en place cette solution simple :

Pré requis :  disposer de zenity qui gère l'affichage de boites de dialogue. Dans une console ou graphiquement via synaptic. :

sudo apt-get install zenity

1 - Ouvre un éditeur de texte et colle dedans le code ci-dessous

#!/bin/bash
#On fixe le nombre maximum d'occurrence du même programme
limit=2
#On compte le nombre d'occurrence du programme
count_process=$(ps -e|grep -c $1)
# On compare à la limite autorisée
if [ "$count_process" -ge "$limit" ]
then
	#Le programme a atteint la limite, on s'arrête
        zenity --info --text "Attention, on dirait que le programme $1 est déjà lancé $count_process fois

Je ne peux pas lancer le programme"
else
	#Le programme n'a pas atteint la limite, on continue
	$1&
fi
exit 0

2 - Tu enregistres ce programme. Appelons le "launch.sh"
L'extension .sh est utilisée généralement pour les scripts.

3 - Donnons à ce script le pouvoir de s'exécuter (pour le moment ce n'est encore qu'un simple fichier texte). Dans un console, déplaces toi vers le répertoire (avec la commande cd ex : cd /home/chez_moi/) où est enregistré ton fichier launch.sh et tapes la commande :

chmod +x launch.sh

Si tu n'es pas à l'aise avec la ligne de commande, tu peux le faire en mode graphique avec ton explorateur de fichier. Trouves ton fichier et fait un clic droit / propriété dessus. Coche la case "autoriser ce fichier à être exécuté"

4 - Déplaçons ce fichier à l'abri des modifications dans  le répertoire /opt/launch. Dans une console :

sudo mkdir /opt/launch/
sudo cp /home/chez_moi/launch.sh /opt/launch/

5 - Faisons un lien symbolique vers launch pour pouvoir l'utiliser simplement.

sudo ln -s  /opt/launch/launch.sh /usr/bin/launch

A partir de maintenant, nous pouvont utiliser très simplement notre programme à partir d'un console en tapant :

launch mon_programme

6 - Maintenant, il faut remplacer les raccourcis de tes programmes par d'autres qui vont utiliser "launch". Un exemple avec le logiciel vlc :
Clic droit sur le bureau / Créer un lanceur.
Nom : vlc
Commentaire : Lancer vlc via launch
Commande : launch vlc
Choisir une jolie icone et voilà.

NB : J'imagine que ce script n'est pas parfait. Entre autre il ne marche pas avec firefox, car firefox ne lance pas de nouveau "process", il utilise celui qui existe déjà, même si on ouvre 50 fenêtres. J'encourage tout le monde à y mettre son grain de sel ou à faire des remarques, sauf "ton script est tout pourri"

Edit : Tu peux forcer les utilisateurs à utiliser tes lanceurs (raccourcis) en personnalisant ton menu de démarrage gnome ou en le supprimant totalement (clic droit / propriété sur la barre des tâches)

Dernière modification par ch0c0bn (Le 31/03/2007, à 12:27)

Hors ligne

#3 Le 18/04/2007, à 18:49

Mam

Re : Limiter le lancement de plusierus applications

Enorme!

Désolé du temps de réponse, j'ai du m'absenter quelques temps. Je met ca en place dés demain, merci beaucoup smile

Ps: yeah t'assures au niveau de l'explication, j'ai tout compris smile

Hors ligne