Jag har byggt Firefox på CentOS och har problem med att ställa in standardinställningar. Enligt officiella dokument :

  1. Skapa en JavaScript-fil i standard / pref (på Linux) kallas autoconfig.js

Här är 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. Skapa en .cfg-fil (enligt konvention, mozilla.cfg – det kan vara vilken fil som helst namn verkligen; det måste bara matcha det som anges i general.config.filename preferens, ovan) i programkatalogen.

Här är min /tmp/ff-build/bin/mozconfig.cfg där den enda Firefox-binären är:

// 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 fungerar bra utan autoconfig.js närvarande, men med konfigurationen ovan misslyckas Firefox med att starta en popupdisplay ying:

Det gick inte att läsa konfigurationsfilen. Kontakta din systemadministratör.

Felmeddelande

Jag har försökt kopiera mozconfig.cfg till flera kataloger men utan ändring. Hur man får Firefox att acceptera mozconfig.cfg -fil? Missförstår jag dokumenten?

(Profiler raderas och återskapas så att lösningen inte innebär att lägga till något i en ~ / baserad mapp. Ovanstående är att få standardinställningar fungerar. Tack.)

Kommentarer

  • Du kan försöka ange ett absolut filnamn som general.config.filename, bara för att se om den läser filen. Och omge koden med try{ ... }catch(e){ displayError("myerror", e); }
  • Jag försökte som du föreslog att ställa in en absolut väg till /tmp/ff-build/bin/mozconfig.cfg, och jag lindade den i ett försök / fångstblock som föreslagits. Den absoluta sökvägen fungerade inte heller ', och försök / fångade inte ' t fångade upp felet. Samma generiska varning kommer upp.
  • Kanske finns det någon falsk karaktär som inte skrivs ut i .cfg-filen. Prova en tom fil och lägg sedan till varje rad en efter en tills den går sönder. strace -e open det binära programmet för att se vilka filer det öppnas.
  • @meuh Hittade en konstig ¨ som antas att vara en ". Försök / fånga vann ' t fånga syntaxfel och det finns ingen utvecklarkonsol. Var svår att upptäcka. Tack för hjälpen.

Svar

”Det gick inte att läsa konfigurationsfilen. Kontakta din systemadministratör . ” är ett generiskt felmeddelande. Problemet kan vara i autoconfig.js eller i mozconfig.js.

Kör strace -e ./firefox som föreslagits av @meuh visade att Firefox laddar konfigurationsfilen:

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

Att sätta ett försök / fånga i mozconfig.cfg så här får dock inga problem, dock:

// 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 fungerar dock, så en rad för rad-borttagning och test utfördes och det upptäcktes en konstigt dubbelcitatkaraktär: ¨. Detta är ett syntaxfel och med rätta anropades försöket / fångsten inte.

Normalt skulle denna typ av fel vara fångad i utvecklarpanelen, men det är inte tillgängligt ännu.

Kör manuset ovan genom jslint rapporter

Osluten sträng.

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

Det här är steg jag tog för att felsöka och lösa det generiska felmeddelandet. Jag hoppas att de här stegen hel p någon annan också.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *