Ich habe Firefox unter CentOS erstellt und habe Probleme beim Festlegen der Standardeinstellungen. Gemäß offizielle Dokumente :

  1. Erstellen Sie eine JavaScript-Datei in den Standardeinstellungen / Pref (unter Linux) genannt autoconfig.js

Hier ist meine /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. Erstellen Sie eine .cfg-Datei (gemäß Konvention mozilla.cfg – es kann sich um eine beliebige Datei handeln Name wirklich, es muss nur mit dem übereinstimmen, was in der Einstellung general.config.filename oben im Programmverzeichnis angegeben ist.

Hier ist meine /tmp/ff-build/bin/mozconfig.cfg, wobei die einzige Firefox-Binärdatei lautet:

// 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 läuft ohne autoconfig.js vorhanden, aber mit der obigen Konfiguration kann Firefox nicht mit einer Popup-Anzeige beginnen ying:

Fehler beim Lesen der Konfigurationsdatei. Bitte wenden Sie sich an Ihren Systemadministrator.

Fehlermeldung

Ich habe versucht, die mozconfig.cfg in mehrere Verzeichnisse zu kopieren, jedoch ohne Änderung. So lässt Firefox die -Datei? Verstehe ich die Dokumente falsch?

(Profile werden gelöscht und neu erstellt, sodass bei der Lösung nichts zu einem ~ / -basierten Ordner hinzugefügt werden muss Arbeiten. Danke.)

Kommentare

  • Sie können versuchen, einen absoluten Dateinamen als general.config.filename anzugeben. nur um zu sehen, ob es die Datei liest. Und umgeben Sie den Code mit try{ ... }catch(e){ displayError("myerror", e); }
  • Ich habe versucht, wie Sie vorgeschlagen haben, einen absoluten Pfad zu /tmp/ff-build/bin/mozconfig.cfg und mir festzulegen wickelte es wie vorgeschlagen in einen Try / Catch-Block ein. Der absolute Pfad ' hat auch nicht funktioniert, und try / catch hat den Fehler ' nicht erkannt. Dieselbe generische Warnung wird angezeigt.
  • Möglicherweise enthält die .cfg-Datei ein nicht druckbares falsches Zeichen. Versuchen Sie es mit einer leeren Datei und fügen Sie dann jede Zeile einzeln hinzu, bis sie unterbrochen wird. strace -e open das Binärprogramm, um zu sehen, welche Dateien es öffnet.
  • @meuh Es wurde eine seltsame ¨ gefunden, die angenommen wird ein " sein. Try / catch wird ' keine Syntaxfehler abfangen, und es gibt keine Entwicklerkonsole. War schwer zu erkennen. Vielen Dank für die Hilfe.

Antwort

Die „Konfigurationsdatei konnte nicht gelesen werden. Wenden Sie sich an Ihren Systemadministrator . “ ist eine generische Fehlermeldung. Das Problem könnte in autoconfig.js oder in mozconfig.js liegen.

Das Ausführen von strace -e ./firefox, wie von @meuh vorgeschlagen, zeigte, dass Firefox die Konfigurationsdatei lädt:

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

Wenn Sie einen Versuch / Fang in mozconfig.cfg einfügen, werden jedoch keine Probleme festgestellt:

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

Ein leeres mozconfig.cfg funktioniert jedoch, sodass eine zeilenweise Entfernung und ein Test durchgeführt wurden und festgestellt wurde, dass a seltsames doppeltes Anführungszeichen: ¨. Dies ist ein Syntaxfehler, und zu Recht wurde der Versuch / Fang nicht aufgerufen.

Normalerweise sind diese Arten von Fehlern im Entwicklerfenster gefangen, aber das ist noch nicht verfügbar.

Ausführen des obigen Skripts über jslint Berichte

Nicht geschlossene Zeichenfolge.

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

Dies sind die Schritte, die ich unternommen habe, um diese generische Fehlermeldung zu debuggen und zu lösen. Ich hoffe, diese Schritte helfen p jemand anderes auch.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.