[XPCOM] XPCOM ert éxécution de scripts sh
Je dois faire des boutons dans une page HTML et lancer via ces boutons des script sh. Sur des machines linux
La technologie xpcom permet-elle donc bien de faire cela?
Avez-vous des expériences ou exemples à me citer pour que je puisse démarrer.
Enfin pu m'occuper de cette histoire
Donc, revenons à nos moutons.
Après avoir fureté à droite à gauche. j'en suis arrivé à ça.
tout d'abord pour éviter quelques soucis :
Pour activer les privilèges XPCOM (attention! à l'arrache donc seulement pour tester)
Ajouter au fichier ~/.mozilla/firefox/ziguigui.default/pref.js la ligne suivante
user_pref("signed.applets.codebase_principal_support", true);
un petit echo 'user_pref("signed.applets.codebase_principal_support", true);' >> ~/.mozilla/firefox/ziguigui.default/pref.js fera amplement l'affaire.
pour le code javascript :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| function executerFichierScript(chemin_fichier, arguments) {
try {
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
var fichier = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsILocalFile)
fichier.initWithPath(chemin_fichier)
if (fichier.exists()) {
var processus = Components.classes['@mozilla.org/process/util;1'].createInstance(Components.interfaces.nsIProcess)
processus.init(fichier)
processus.run(false, arguments, arguments.length)
}
} catch(e) {
alert('Une erreur:' + e);
}
} |
et pour le code XHTML
Code:
<a href="" onclick="executerFicherScript('/chemin/du/script/a/lancer', ['argument 1', 'argument 2', 'argument n'])">lancer script</a>
Et voilà, normalement cela fonctionne
testé sous Linux (debian et ubuntu) avec firefox 2.etdesbriquettes