CentOSでFirefoxをビルドしましたが、デフォルトの設定を設定できません。公式ドキュメント

  1. defaults / prefでJavaScriptファイルを作成します(Linuxの場合) autoconfig.jsと呼ばれます

これが私の/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. .cfgファイルを作成します(慣例により、mozilla.cfg —任意のファイルにすることができます)本当に名前が付けられています。プログラムディレクトリのgeneral.config.filename設定で指定されているものと一致する必要があります。

ここに私の/tmp/ff-build/bin/mozconfig.cfgです。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はautoconfig.jsが存在しますが、上記の構成ではFirefoxがポップアップ表示で起動しませんying:

構成ファイルの読み取りに失敗しました。システム管理者に連絡してください。

エラーメッセージ

mozconfig.cfgをいくつかのディレクトリにコピーしようとしましたが、変更はありません。Firefoxにファイル?ドキュメントを誤解していますか?

(プロファイルが削除されて再作成されるため、ソリューションでは〜/ベースのフォルダに何も追加しません。上記はデフォルトの設定を取得するためのものです。動作しています。ありがとうございます。)

コメント

  • 絶対ファイル名をgeneral.config.filenameとして指定してみてください。ファイルを読み取っているかどうかを確認するだけです。そして、コードをtry{ ... }catch(e){ displayError("myerror", e); }
  • で囲みます。

  • 絶対パスを/tmp/ff-build/bin/mozconfig.cfgに設定するように提案したので、私は提案されているように、try / catchブロックでラップしました。絶対パスも'機能せず、try / catchは'エラーをキャッチしませんでした。同じ一般的なアラートが表示されます。
  • .cfgファイルに印刷されない偽の文字が含まれている可能性があります。空のファイルを試してから、各行が壊れるまで1行ずつ追加します。 strace -e open開いているファイルを確認するバイナリプログラム。
  • @meuh奇妙な¨が見つかりました。 "になります。 Try / catchは、構文エラーをキャッチしません'。開発者コンソールはありません。見つけるのが難しいものでした。助けてくれてありがとう。

回答

「設定ファイルの読み取りに失敗しました。システム管理者に連絡してください。 。」一般的な失敗メッセージです。問題はautoconfig.jsまたはmozconfig.jsにある可能性があります。

@meuhが提案するようにstrace -e ./firefoxを実行すると、Firefoxが構成ファイルをロードしていることがわかりました。

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

このようにmozconfig.cfgにtry / catchを入れても、問題は発生しません。

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

空のmozconfig.cfgは機能しますが、行ごとの削除とテストが実行され、奇妙な二重引用符:¨。これは構文エラーであり、当然、try / catchは呼び出されませんでした。

通常、この種のエラーは次のようになります。開発者パネルで検出されましたが、まだ利用できません。

jslint レポートを介して上記のスクリプトを実行する

閉じられていない文字列。

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

これらはその一般的なエラーメッセージをデバッグして解決するために私が取った手順これらの手順がうまくいくことを願っています他の誰かにもp。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です