Vytvořil jsem Firefox na CentOS a mám potíže s nastavením výchozích předvoleb. Podle oficiální dokumenty :
- Vytvoření souboru JavaScriptu ve výchozím nastavení / pref (v systému Linux) nazvaný autoconfig.js
Zde je můj /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);
- Vytvořte soubor .cfg (podle konvence, mozilla.cfg – může to být jakýkoli soubor název opravdu; musí se shodovat s tím, co je uvedeno v předvolbě general.config.filename výše) v adresáři programu.
Zde je můj /tmp/ff-build/bin/mozconfig.cfg
kde je jediná binární stránka firefoxu:
// 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 bude fungovat bez autoconfig.js
je přítomen, ale s výše uvedenou konfigurací se Firefox nepodařilo spustit s vyskakovacím oknem ying:
Nepodařilo se přečíst konfigurační soubor. Kontaktujte svého správce systému.
Zkoušel jsem zkopírovat mozconfig.cfg
do několika adresářů, ale beze změny. Jak zajistit, aby Firefox přijal mozconfig.cfg
soubor? Nerozumím dokumentům?
(Profily jsou odstraněny a znovu vytvořeny, takže řešení nebude zahrnovat přidání čehokoli do složky založené na ~ /. Výše uvedené je získat výchozí předvolby funkční. Děkujeme.)
Komentáře
Odpovědět
„Nepodařilo se přečíst konfigurační soubor. Obraťte se na správce systému . “ je obecná zpráva o selhání. Problém může být v autoconfig.js nebo v mozconfig.js.
Spuštění strace -e ./firefox
podle doporučení @meuh ukázalo, že Firefox načítá konfigurační soubor:
open("/tmp/ff-build/bin/mozconfig.cfg", O_RDONLY) = 5
Vložení try / catch do mozconfig.cfg
takto však nezachytí žádné problémy:
// 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); }
Prázdný mozconfig.cfg
však funguje, takže bylo provedeno odstranění a test po řádku a bylo zjištěno podivný znak uvozovek: ¨
. Toto je syntaktická chyba a oprávněně nebyl vyvolán try / catch.
Obvykle by tyto druhy chyb byly zachyceno na panelu pro vývojáře, ale to ještě není k dispozici.
Spuštění výše uvedeného skriptu prostřednictvím jslint zpráv
Neuzavřený řetězec.
lockPref("app.update.enabled¨, false);
Toto jsou kroky, které jsem podnikl k ladění a vyřešení této obecné chybové zprávy. Doufám, že tyto kroky hel p někdo jiný.
general.config.filename
, jen aby zjistil, zda čte soubor. A obklopte kódtry{ ... }catch(e){ displayError("myerror", e); }
/tmp/ff-build/bin/mozconfig.cfg
a já zabalil to do bloku try / catch, jak bylo navrženo. Absolutní cesta nefungovala ' t a try / catch chybu ' nezachytila. Objeví se stejná obecná výstraha.strace -e open
binární program, aby zjistil, které soubory otevírá.¨
, o kterém se předpokládá být"
. Vyzkoušejte / chyťte ' t chyby syntaxe a neexistuje žádná vývojářská konzole. Bylo těžké to zjistit. Děkujeme za pomoc.