Jeg har bygget Firefox på CentOS og har problemer med at indstille standardindstillinger. Ifølge officielle dokumenter :

  1. 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); 
  1. 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.

Fejlmeddelelse

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

  • Du kan prøve at angive et absolut filnavn som general.config.filename, bare for at se om det læser filen. Og omslut koden med try{ ... }catch(e){ displayError("myerror", e); }
  • Jeg forsøgte som du foreslog at indstille en absolut sti til /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.
  • Måske er der noget falsk karakter, der ikke udskrives, i .cfg-filen. Prøv en tom fil, og tilføj derefter hver linje en efter en, indtil den går i stykker. strace -e open det binære program for at se, hvilke filer det åbner.
  • @meuh Fundet en underlig ¨, 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.

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å.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *