为什么 Firefox 59 忽略了我的 syspref.js?

为什么 Firefox 59 忽略了我的 syspref.js?

最近,我的/etc/firefox/syspref.js应用停止了。与 Windows 不同,在 Windows 上,配置错误会导致

Failed to read the configuration file. Please contact your system administrator.

在我的 Ubuntu 机器上,Firefox 只是默默地忽略了我的设置。使用-jsconsole开关启动时会显示

** Preference parsing error (line 1) = non-matching string **

我没有对我的/etc/firefox/syspref.js文件做任何更改。它在 Firefox 58 中确实有效,但在第一个 Firefox 59 版本.我的文件包含

// first line is ignored
lockPref("browser.startup.homepage", "https://example.org/");

我能做什么

  1. 暂时缓解问题:让 Firefox 再次读取我的配置?
  2. 永久解决问题:当我的系统范围配置中遇到语法错误时,防止 Firefox 以无效配置启动?

答案1

我发现你现在必须使用pref("...","...",locked);而不是lockPref("...","...");

示例syspref.js(在 Linux Mint 上的 Firefox 61 中运行):

pref("browser.startup.homepage", "http://...", locked);
pref("network.proxy.autoconfig_url", "http://...", locked);
pref("network.proxy.type", 2, locked);

答案2

在最近的版本中,Mozilla 似乎再次更改了托管首选项。我的 syspref.js 在版本 98 中被忽略。现在,您必须使用JSON 策略

创建一个文件/etc/firefox/policies/policies.json,其中包含链接的 GitHub 存储库中描述的一些命名设置,或 a 键下的原始设置名称Preferences

{
  "policies": {
    "Homepage": {
      "URL": "https://example.org/",
      "Locked": true,
      "StartPage": "homepage-locked"
    },
    "Preferences": {
      "browser.policies.loglevel": {
        "Value": "debug",
        "Status": "locked"
      },
      "browser.tabs.warnOnClose": {
        "Value": false,
        "Status": "default"
      }
    }
  }
}

您可以在 about:policies 页面中查看此配置 Firefox 方式的应用。

相关内容