我正在使用具有双启动操作系统的笔记本电脑,使用 Windows 10 和 MX Linux(基于 Debian)。
我创建了一个在两个系统(Firefox 71.0)上使用和共享的 Firefox 配置文件夹:
- 配置文件夹存储在单独的(非操作系统)NTFS 分区上
- 两个系统登录后都可以立即访问该分区
- 两个 Firefox 安装均设置为使用此配置文件夹
总体来说,这个设置运行良好。
然而,每次我切换操作系统时都会出现一个小问题(烦人的问题):
首次启动浏览器时,所有已安装的应用程序(扩展)都丢失了。只需重新启动 Firefox 即可解决此问题,第二次启动后,所有应用程序都会恢复正常运行。
但是在我切换操作系统之后,第一次启动 Firefox 时,它们又消失了。
无论我从 Linux 切换到 Windows 还是相反,第一次启动浏览器后所有已安装的应用程序都会丢失。
其他设置似乎正确,看起来只是与已安装的应用程序有关。
由于这个问题可以通过每次切换操作系统时重新启动 Firefox 来解决,所以它“只是”很烦人 - 但我很想解决这个问题。
我发现的是:
切换操作系统并启动 Firefox 后,我查看了配置文件目录,看看那里做了哪些更改。浏览器的第一次启动只涉及一些内容。
在配置文件目录中,以下文件已被更改:
- 扩展.json
- 搜索.json.mozlz4
- 兼容性文件
- 父锁
- 存储.sqlite
...还有这个文件夹:
- 缓存 2
- 启动缓存
出于显而易见的原因,我检查extensions.json
并发现其中有指向我的配置文件目录的硬编码绝对路径。
Windows 上首次启动后的路径示例:
D:\\SharedSystem\\Mozilla\\Firefox\\extensions\\[...etc...] file:///D:/SharedSystem/Mozilla/Firefox/extensions/[..etc...]
Linux 首次启动后的路径示例:
/media/vc1/SharedSystem/Mozilla/Firefox/extensions/[...etc...] file:///media/vc1/SharedSystem/Mozilla/Firefox/extensions/[...etc...]
第二次浏览器启动不会再次改变此文件。
我不知道其他文件或目录是否相关或者我可以在那里检查什么。
我不确定,但我可以猜测一个可能的解决方案:
该文件extensions.json
可能是导致我出现问题的原因。似乎扩展路径存储在那里,切换操作系统时,Firefox 会自动使用当前操作系统的相应路径重新创建此文件。
...但是我现在该怎么做才能让这个文件在 Linux 和 Windows 上都能正常工作?
我现在一头雾水。有什么办法可以避免这种首次启动行为吗?最好的解决方案是更新安全的解决方案 - 或者至少易于维护的解决方案。
更新:
不是extensions.json
- 我备份了这个文件,包括 Linux 和 Windows,并在第一次启动浏览器之前用当前操作系统的备份替换了原始文件。它不起作用,应用程序仍然缺失。
它必须是配置文件目录中的任何其他内容,但猜测和探究目前似乎没有帮助......
谢谢您对此的任何帮助或想法!
答案1
完毕。
我不想使用 Firefox Sync,我将把它留在这里以防有人尝试类似的事情:
我仔细查看了配置文件目录和包含附加组件路径或操作系统相关详细信息的文件。
以下三点是相关的:
- addonStartup.json.lz4(一开始我没注意到这一点)
- 兼容性文件
- 扩展.json
1)我在 Windows 中启动了两次 Firefox 以使其正常工作,并将这三个文件保存在单独的目录中。
2)然后我在Linux中做了同样的事情。
3) 之后,我为两个操作系统创建了自动启动条目,将这三个文件复制到 Firefox 配置文件目录中的当前操作系统,并覆盖现有的文件。
因此,登录操作系统后,匹配的配置文件将被复制到其所属的位置,并且 Firefox 在首次启动时即可正常运行。
如果有更新(当然,我必须在两个操作系统上安装),我可以更新这三个文件的备份 - 我可以这样做。
这样,我可以对两个系统使用相同的配置文件目录,并避免使用 Mozilla Sync 服务。