Jeg har bygget Firefox på CentOS og har problemer med å angi standardinnstillinger. I henhold til offisielle dokumenter :

  1. Opprett en JavaScript-fil i standard / pref (på Linux) heter 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. Opprett en .cfg-fil (etter konvensjon, mozilla.cfg – det kan være hvilken som helst fil navnet egentlig; det må bare samsvare med det som er spesifisert generelt. preferanse for filnavn ovenfor) i programkatalogen.

Her er min /tmp/ff-build/bin/mozconfig.cfg der den eneste Firefox-binæren 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 vil gå bra uten autoconfig.js til stede, men med konfigurasjonen ovenfor, klarer Firefox ikke å starte med en popup-forskyvning ying:

Kunne ikke lese konfigurasjonsfilen. Ta kontakt med systemadministratoren.

Feilmelding

Jeg har prøvd å kopiere mozconfig.cfg til flere kataloger, men uten endring. Hvordan få Firefox til å godta mozconfig.cfg -fil? Misforstår jeg dokumentene?

(Profiler blir slettet og gjenskapt slik at løsningen ikke innebærer å legge til noe i en ~ / basert mappe. Ovenstående er å få standardinnstillinger fungerer. Takk.)

Kommentarer

  • Du kan prøve å spesifisere et absolutt filnavn som general.config.filename, bare for å se om den leser filen. Og omgir koden med try{ ... }catch(e){ displayError("myerror", e); }
  • Jeg prøvde som du foreslo å sette en absolutt vei til /tmp/ff-build/bin/mozconfig.cfg, og jeg pakket den inn i en prøve / fangst-blokk som foreslått. Den absolutte banen fungerte heller ikke ', og prøv / fangst fikk ikke ' t feilen. Det samme generiske varselet kommer opp.
  • Kanskje det er noe falskt tegn som ikke er utskrift i .cfg-filen. Prøv en tom fil, og legg deretter til hver linje en etter en til den går i stykker. strace -e open det binære programmet for å se hvilke filer det åpnes.
  • @meuh Fant en merkelig ¨ som antas å være en ". Prøv / fang ikke ' t fang syntaksfeil, og det er ingen utviklerkonsoll. Var en tøff å få øye på. Takk for hjelpen.

Svar

«Kunne ikke lese konfigurasjonsfilen. Ta kontakt med systemadministratoren din . » er en generisk feilmelding. Problemet kan være i autoconfig.js eller i mozconfig.js.

Kjører strace -e ./firefox som foreslått av @meuh viste at Firefox laster inn konfigurasjonsfilen:

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

Å sette et forsøk / fange i mozconfig.cfg som dette, får ikke noen problemer, men:

// 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); } 

Et tomt mozconfig.cfg fungerer imidlertid, så en linje-for-linje fjerning og test ble utført, og det ble oppdaget merkelig dobbelt-sitat tegn: ¨. Dette er en syntaksfeil, og med rette ble ikke prøve / fangst påkalt.

Normalt vil denne typen feil være fanget i utviklerpanelet, men det er ikke tilgjengelig ennå.

Kjører skriptet over gjennom jslint rapporter

Ikke lukket streng.

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

Dette er trinnene jeg tok for å feilsøke og løse den generiske feilmeldingen. Jeg håper disse trinnene hel p noen andre også.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *