Jag har byggt Firefox på CentOS och har problem med att ställa in standardinställningar. Enligt officiella dokument :
- 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);
- 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.
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
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å.
general.config.filename
, bara för att se om den läser filen. Och omge koden medtry{ ... }catch(e){ displayError("myerror", e); }
/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.strace -e open
det binära programmet för att se vilka filer det öppnas.¨
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.