Jeg har bygget Firefox på CentOS og har problemer med at indstille standardindstillinger. Ifølge officielle dokumenter :
- Opret en JavaScript-fil i standard / pref (på Linux) kaldes autoconfig.js
Her er min /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);
- Opret en .cfg-fil (efter konvention mozilla.cfg – det kan være enhver fil navngiver virkelig; det skal bare matche det, der er angivet generelt.config.filename-præference, ovenfor) i programmappen.
Her er min /tmp/ff-build/bin/mozconfig.cfg
hvor den eneste firefox-binære er:
// 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 kører fint uden autoconfig.js
til stede, men med konfigurationen ovenfor starter Firefox ikke med en popup-fortrængning ying:
Kunne ikke læse konfigurationsfilen. Kontakt din systemadministrator.
Jeg har prøvet at kopiere mozconfig.cfg
til flere biblioteker, men uden ændringer. Sådan får du Firefox til at acceptere mozconfig.cfg
fil? Forstår jeg misforståelserne?
(Profiler slettes og genskabes, så løsningen ikke involverer at tilføje noget til en ~ / baseret mappe. Ovenstående er at få standardindstillinger fungerer. Tak.)
Kommentarer
Svar
“Kunne ikke læse konfigurationsfilen. Kontakt din systemadministrator . ” er en generisk fejlmeddelelse. Problemet kan være i autoconfig.js eller i mozconfig.js.
Kører strace -e ./firefox
som foreslået af @meuh viste, at Firefox indlæser konfigurationsfilen:
open("/tmp/ff-build/bin/mozconfig.cfg", O_RDONLY) = 5
At prøve / fange i mozconfig.cfg
som dette fanger dog ikke nogen problemer, dog:
// 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); }
En tom mozconfig.cfg
fungerer dog, så en linje-for-linje fjernelse og test blev udført, og det blev opdaget en mærkeligt dobbelt-citat tegn: ¨
. Dette er en syntaksfejl, og ret / fangst blev med rette ikke påberåbt.
Normalt ville denne slags fejl være fanget i udviklerpanelet, men det er ikke tilgængeligt endnu.
Kører scriptet ovenfor gennem jslint rapporter
Ikke lukket streng.
lockPref("app.update.enabled¨, false);
Dette er de trin, jeg tog for at debugge og løse den generiske fejlmeddelelse. Jeg håber disse trin hel p en anden også.
general.config.filename
, bare for at se om det læser filen. Og omslut koden medtry{ ... }catch(e){ displayError("myerror", e); }
/tmp/ff-build/bin/mozconfig.cfg
, og jeg indpakket den i en prøve / fangst-blok som foreslået. Den absolutte sti fungerede heller ikke ', og prøv / fangst fandt ikke ' t fejlen. Den samme generiske advarsel kommer op.strace -e open
det binære program for at se, hvilke filer det åbner.¨
, der antages at være en"
. Try / catch won ' t fanger syntaksfejl, og der er ingen udviklerkonsol. Var en svær at få øje på. Tak for hjælpen.