Ho creato Firefox su CentOS e ho problemi a impostare le preferenze predefinite. Secondo documenti ufficiali :

  1. 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); 
  1. 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.

Messaggio di errore

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

  • Potresti provare a specificare un nome file assoluto come general.config.filename, solo per vedere se sta leggendo il file. E racchiudi il codice con try{ ... }catch(e){ displayError("myerror", e); }
  • Ho provato come suggerito a impostare un percorso assoluto a /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.
  • Forse cè qualche carattere spurio non stampabile nel file .cfg. Prova un file vuoto, quindi aggiungi ogni riga una alla volta finché non si interrompe. strace -e open il programma binario per vedere quali file sta aprendo.
  • @meuh Trovato uno strano ¨ 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.

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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *