Am construit Firefox pe CentOS și am probleme la setarea preferințelor implicite. Conform documente oficiale :
- Creați un fișier JavaScript în mod implicit / pref (pe Linux) numit autoconfig.js
Iată /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);
- Creați un fișier .cfg (prin convenție, mozilla.cfg – poate fi orice fișier nume într-adevăr; trebuie doar să se potrivească cu ceea ce este specificat în preferința general.config.filename, de mai sus) în directorul programului.
Aici este /tmp/ff-build/bin/mozconfig.cfg
al meu în care este singurul binar firefox:
// 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 va rula bine fără autoconfig.js
prezent, dar cu configurația de mai sus Firefox nu reușește să înceapă cu o fereastră popup ying:
Nu s-a citit fișierul de configurare. Vă rugăm să contactați administratorul de sistem.
Am „încercat să copiez mozconfig.cfg
în mai multe directoare, dar fără nicio modificare. Cum se face ca Firefox să accepte mozconfig.cfg
fișier? Înțeleg greșit documentele?
(Profilurile sunt șterse și recreate, astfel încât soluția nu va fi adăugată nimic la un folder bazat pe ~ /. Cele de mai sus sunt pentru a obține preferințe implicite funcționează. Mulțumesc.)
Comentarii
Răspuns
„Nu s-a citit fișierul de configurare. Contactați administratorul de sistem . ” este un mesaj generic de eșec. Problema ar putea fi în autoconfig.js sau în mozconfig.js.
Rularea strace -e ./firefox
așa cum a sugerat @meuh a arătat că Firefox încarcă fișierul de configurare:
open("/tmp/ff-build/bin/mozconfig.cfg", O_RDONLY) = 5
Punând o încercare / captură în mozconfig.cfg
astfel nu întâmpină probleme, totuși:
// 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
gol funcționează, totuși, deci s-a efectuat o eliminare linie cu linie și s-a descoperit un caracter ciudat cu ghilimele duble: ¨
. Aceasta este o eroare de sintaxă și, pe bună dreptate, nu a fost invocat try / catch.
În mod normal, aceste tipuri de erori ar fi prins în panoul dezvoltatorului, dar acest lucru nu este încă disponibil.
Rularea scriptului de mai sus prin rapoartele jslint
Șir neînchis.
lockPref("app.update.enabled¨, false);
Acestea sunt pașii pe care i-am luat pentru a depana și a rezolva acel mesaj de eroare generic p și altcineva.
general.config.filename
, doar pentru a vedea dacă citește fișierul. Și înconjurați codul cutry{ ... }catch(e){ displayError("myerror", e); }
/tmp/ff-build/bin/mozconfig.cfg
, iar eu l-a înfășurat într-un bloc try / catch așa cum a fost sugerat. Calea absolută nu a funcționat ' și nu a reușit să încerce / captura ' eroarea. Apare aceeași alertă generică.strace -e open
programul binar pentru a vedea ce fișiere deschide.¨
ciudat care se presupune a fi un"
. Încercați / capturați nu a câștigat ' erori de sintaxă de capturare și nu există o consolă pentru dezvoltatori. A fost unul greu de observat. Vă mulțumim pentru ajutor.