Jai construit Firefox sur CentOS et je ne parviens pas à définir les préférences par défaut. Selon documentation officielle :

  1. Créer un fichier JavaScript par défaut / pref (sous Linux) appelé autoconfig.js

Voici mon /tmp/ff-build/bin/defaults/pref/autoconfig.js:

// First line must be a comment pref("general.config.filename", "mozconfig.cfg"); pref("general.config.obscure_value", 0); 
  1. Créez un fichier .cfg (par convention, mozilla.cfg – il peut sagir de nimporte quel fichier nom vraiment; il doit juste correspondre à ce qui est spécifié dans la préférence general.config.filename, ci-dessus) dans le répertoire du programme.

Ici est mon /tmp/ff-build/bin/mozconfig.cfg où le seul binaire de Firefox est:

// Disable updater lockPref("app.update.enabled", false); // make absolutely sure it is really off lockPref("app.update.auto", false); lockPref("app.update.mode", 0); lockPref("app.update.service.enabled", false); // Disable updater lockPref("app.update.enabled¨, false); 

Firefox fonctionnera bien sans autoconfig.js présent, mais avec la configuration ci-dessus, Firefox ne parvient pas à démarrer avec une fenêtre contextuelle ying:

Impossible de lire le fichier de configuration. Veuillez contacter votre administrateur système.

Message derreur

Jai essayé de copier mozconfig.cfg dans plusieurs répertoires mais sans changement. Comment faire en sorte que Firefox accepte le mozconfig.cfg? Suis-je mal compris les documents?

(Les profils sont supprimés et recréés, la solution nimpliquera donc pas dajouter quoi que ce soit à un dossier basé sur ~ /. Ce qui précède est dobtenir les préférences par défaut travail. Merci.)

Commentaires

  • Vous pouvez essayer de spécifier un nom de fichier absolu comme general.config.filename, juste pour voir sil lit le fichier. Et entourez le code avec try{ ... }catch(e){ displayError("myerror", e); }
  • Jai essayé comme vous lavez suggéré de définir un chemin absolu sur /tmp/ff-build/bin/mozconfig.cfg, et je la enveloppé dans un bloc try / catch comme suggéré. Le chemin absolu na pas ' t fonctionner non plus, et try / catch na pas ' attraper lerreur. La même alerte générique apparaît.
  • Il y a peut-être un caractère parasite non imprimable dans le fichier .cfg. Essayez un fichier vide, puis ajoutez chaque ligne une par une jusquà ce quelle se brise. strace -e open le programme binaire pour voir quels fichiers il ouvre.
  • @meuh Trouvé un étrange ¨ supposé être un ". Essayez / attrapez les erreurs de syntaxe ' et il ny a pas de console de développement. Cétait difficile à repérer. Merci pour laide.

Réponse

Le message « Impossible de lire le fichier de configuration. Veuillez contacter votre administrateur système .  » est un message déchec générique. Le problème peut être dans autoconfig.js ou mozconfig.js.

Lexécution de strace -e ./firefox comme suggéré par @meuh a montré que Firefox charge le fichier de configuration:

open("/tmp/ff-build/bin/mozconfig.cfg", O_RDONLY) = 5 

Mettre un try / catch dans mozconfig.cfg comme ceci ne résout aucun problème, cependant:

// Disable default browser check try { lockPref("browser.defaultbrowser.notificationbar", false); lockPref("browser.shell.checkDefaultBrowser", false); lockPref("browser.shell.skipDefaultBrowserCheck¨, true); // Disable updater lockPref("app.update.enabled¨, false); } catch(e) { displayError("Error", e); } 

Un mozconfig.cfg vide fonctionne, cependant, une suppression et un test ligne par ligne ont été effectués et il a été découvert quun étrange caractère entre guillemets doubles: ¨. Il sagit dune erreur de syntaxe, et à juste titre, try / catch na pas été invoqué.

Normalement, ces types derreurs seraient détecté dans le panneau des développeurs, mais ce nest pas encore disponible.

Exécution du script ci-dessus via les rapports jslint

Chaîne non fermée.

lockPref("app.update.enabled¨, false); 

Voici les étapes que jai prises pour déboguer et résoudre ce message derreur générique. Jespère que ces étapes p quelquun dautre aussi.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *