Ho creato Firefox su CentOS e ho problemi a impostare le preferenze predefinite. Secondo documenti ufficiali :
- Crea un file JavaScript in defaults / pref (su Linux) chiamato autoconfig.js
Ecco il mio /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);
- Crea un file .cfg (per convenzione, mozilla.cfg – può essere qualsiasi file nome realmente; deve solo corrispondere a quanto specificato nella preferenza general.config.filename, sopra) nella directory del programma.
Qui è il mio /tmp/ff-build/bin/mozconfig.cfg
dove lunico binario di Firefox è:
// 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 funzionerà correttamente senza autoconfig.js
presente, ma con la configurazione precedente Firefox non si avvia con una visualizzazione popup ying:
Lettura del file di configurazione non riuscita. Contatta lamministratore di sistema.
Ho provato a copiare mozconfig.cfg
in diverse directory ma senza modifiche. Come fare in modo che Firefox accetti il mozconfig.cfg
? Sto fraintendendo i documenti?
(I profili vengono cancellati e ricreati in modo che la soluzione non comporti laggiunta di nulla a una cartella basata su ~ /. Quanto sopra serve per ottenere le preferenze predefinite funzionante. Grazie.)
Commenti
Risposta
“Impossibile leggere il file di configurazione. Contatta lamministratore di sistema . ” è un messaggio di errore generico. Il problema potrebbe essere in autoconfig.js o in mozconfig.js.
Lesecuzione di strace -e ./firefox
come suggerito da @meuh ha mostrato che Firefox sta caricando il file di configurazione:
open("/tmp/ff-build/bin/mozconfig.cfg", O_RDONLY) = 5
Mettendo una prova / cattura in mozconfig.cfg
in questo modo non “t rileva alcun problema, tuttavia:
// 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); }
Un mozconfig.cfg
vuoto funziona, tuttavia, è stato eseguito un test e una rimozione riga per riga ed è stato scoperto un strano carattere di virgolette doppie: ¨
. Questo è un errore di sintassi e giustamente il try / catch non è stato “t invocato.
Normalmente questo tipo di errori sarebbe catturato nel pannello degli sviluppatori, ma non è ancora disponibile.
Esecuzione dello script precedente tramite i rapporti jslint
Stringa non chiusa.
lockPref("app.update.enabled¨, false);
Questi sono i passaggi che ho seguito per eseguire il debug e risolvere quel messaggio di errore generico. Spero che questi passaggi hel p anche qualcun altro.
general.config.filename
, solo per vedere se sta leggendo il file. E racchiudi il codice contry{ ... }catch(e){ displayError("myerror", e); }
/tmp/ff-build/bin/mozconfig.cfg
e ho avvolto in un blocco try / catch come suggerito. Neanche il percorso assoluto ' ha funzionato, e try / catch ' non ha rilevato lerrore. Viene visualizzato lo stesso avviso generico.strace -e open
il programma binario per vedere quali file sta aprendo.¨
che si suppone essere un"
. Try / catch non ha ' catturato errori di sintassi e non esiste una console per sviluppatori. È stato difficile da individuare. Grazie per laiuto.