我在一台机器上双启动 Windows 10 和 Lubuntu 16.04.3。我在两个操作系统上都使用 Firefox。很长一段时间以来,我都使用相同的 Firefox 配置文件。在 Windows 中,我将配置文件保留在默认位置。在 Linux 中,我使用 -profile 开关运行 Firefox,并将其指向配置文件。这种方法在很长一段时间内都运行良好。所有配置和扩展以及所有配置文件数据,在两个系统中都运行正常。
但是,自从最近的一次主要版本更新以来,这个功能就不再起作用了。这个功能从 FF 54 或 55 开始就不起作用了,不记得是哪个了。它只能部分起作用,如下所示。
在 Linux 上,一切都很好。但是当我返回 Windows 时,配置文件就出现了问题,但只是有点问题。所有自定义配置仍然保留。但我丢失了所有扩展。about:addons 页面显示没有安装任何扩展。
反过来就不会发生这种情况。在 Windows 中加载配置文件后,然后启动到 Linux,配置文件就没问题了。一切都正常。
因此,总结一下:在 Linux 中加载配置文件后,它在 Windows 中就变得混乱了。
有人知道我该怎么做才能让它再次无缝运行吗?或者有确切的信息表明它在当前版本中不再起作用?
希望讲得清楚。
谢谢
答案1
根据 skierpage 的回答,我可以想出一个看似永久的解决方案来解决这个烦人的问题。这是一个非常丑陋的黑客,但对我来说很有效!整个解决方案之所以有效,只是因为 Windows 无法正确处理大写路径名和 Linux 符号链接。(更改{ }
括号的内容以匹配您的设置。)
在 Windows 中启动 Firefox,并让其创建配置文件。
重新启动 Linux 并设置配置文件路径,~/.mozilla/firefox/profiles.ini
文件中应包含以下文本:
[General]
StartWithLastProfile=1
[Profile0]
Name=shared
IsRelative=0
Path={Path to Windows partition}/Users/{Windows User}/AppData/Roaming/Mozilla/Firefox/Profiles/{Windows Firefox Profile Name}
Default=1
现在重命名pkcs11.txt
为以大写字母 P 开头:
$ cd {Path to Windows partition}/Users/{Windows User}/AppData/Roaming/Mozilla/Firefox/Profiles/{Windows Firefox Profile Name}/
$ mv pkcs11.txt Pkcs11.txt
现在启动 Firefox 并让它重新创建文件pkcs11.txt
:
$ firefox
现在关闭 Firefox 并将新创建的文件移动到您的 Linux 分区,并为其建立软链接:
$ mv pkcs11.txt ~/.mozilla/firefox/pkcs11.txt
$ ln -s ~/.mozilla/firefox/pkcs11.txt {Path to Windows partition}/Users/{Windows User}/AppData/Roaming/Mozilla/Firefox/Profiles/{Windows Firefox Profile Name}/pkcs11.txt
尽情享受吧:-) 我希望它也适合你!
答案2
Mozilla 不保证跨架构共享配置文件的功能;相反,工程师建议您使用单独的配置文件并使用 Firefox Sync 来共享书签等。
我在通常的地方(%USERPROFILE%\AppData\Roaming\Mozilla\Firefox\profiles.ini
在 Windows 和$HOME/.mozilla/firefox/profiles.ini
Linux 中)为 Windows 和 Linux 使用单独的配置文件。每个配置文件Path=
都以该操作系统的本机格式指定,而 Linux 配置文件是我安装的 NTFS 卷的路径,我在其中保存共享配置文件。
我的 uBlock Origin 和 Ghostery 扩展似乎运行良好。但我刚刚查看了extensions.json
我的共享配置文件,发现 Firefox Monitor、Web Compat 和 WebCompat Reporter 具有硬编码的依赖于操作系统的绝对path
键,因此它们可能无法跨平台工作。我还没有尝试删除这些键或指定相对路径。
几个月来我遇到的最大问题是,我在 Linux 上保存的登录信息为空,而且同步失败。在 NSS 团队的帮助下 ❤ 我弄清楚了问题所在(错误 1541284) 在于pkcs11.txt
:它有一个与操作系统相关的configdir
参数,在我的情况下是parameters=configdir='sql:C:\Users\myname\FIREFO1\BLAHBL1.MYN'
...,这显然在 Linux 上不起作用。但如果您没有任何特殊的公钥加密设置,似乎您可以在pkcs11.txt
第一次启动其他操作系统时从您的配置文件中删除它,Firefox 将重新创建此文件。
我还在 Windows 和 Linux 之间共享包含我所有邮件的 Thunderbird 配置文件目录。我没有发现这方面存在问题,尽管它也有一个与操作系统相关的configdir
参数pkcs11.txt
。