最近,我的/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/");
我能做什么
- 暂时缓解问题:让 Firefox 再次读取我的配置?
- 永久解决问题:当我的系统范围配置中遇到语法错误时,防止 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 方式的应用。