我正在尝试让 Firefox 使用多个配置文件(在 Fedora 33 下)。这不是新配置。过去我已经成功地完成了这一切,但突然 Firefox 似乎不高兴了。如果我尝试使用显式配置文件启动 Firefox,如下所示:
firefox --profile default
它抱怨:
Your Firefox profile cannot be loaded. It may be missing or inaccessible.
虽然:
一个名为的配置文件
default
存在并且在配置文件管理器中可见。配置文件的条目
default
存在于~/.mozilla/firefox/profiles.ini
:[Profile1] Name=default IsRelative=1 Path=8hiuv29u.default
命名目录存在:
$ ls -ld ~/.mozilla/firefox/8hiuv29u.default drwx------ 11 lars lars 4096 Jan 12 16:13 /home/lars/.mozilla/firefox/8hiuv29u.default
如果我在
firefox
没有任何额外参数的情况下运行,它会启动配置文件管理器。如果我选择default
然后Start Firefox
,它将按预期打开浏览器。
这发生在多个配置文件中;不仅仅是default
个人资料。这些都是刚刚创建的配置文件;最初,我认为陈旧的配置文件可能存在一些问题,因此我删除了所有旧配置文件并重新创建了它们。
我在网上找到的大多数解决方案都归结为“删除您的个人资料并重新创建它们”,但我没有成功。如果没有解决方案,关于从 Firefox 获取更多(任何!)详细调试信息以帮助诊断问题的建议也值得赞赏。
更新:为了确保之前的安装没有什么奇怪的东西,我尝试了这个:
$ rm -rf $HOME/.mozilla $HOME/.cache/mozilla
然后启动配置文件管理器:
$ firefox --profilemanager
创建两个新的配置文件(default
和work
),然后尝试:
$ firefox --profile default
这仍然会产生相同的错误。
问题是它
--profile
没有使用配置文件的名称;相反,它需要一个路径。我意识到这包含在帮助输出中,但并不明显,我只注意到运行时的行为strace
。比较此strace
输出,从运行firefox -profile default
(我的 cwd 所在的位置~/.mozilla
):有了这个,运行
firefox -profilemanager
和选择默认配置文件的结果:如果我提供明确的路径,一切都会正常工作,如下所示:
有一个单独的选项,
-P
接受配置文件名称,所以这也有效:为什么这样做?我不知道。您已证明个人资料文件夹归您所有;您是否确保所有包含的文件也是如此?这是一个长镜头,但也许
sudo chown -R lars:lars ~/.mozilla/firefox/8hiuv29u.default
会有所作为。它可以修复吗?尝试这个:
~/.mozilla/firefox/8hiuv29u.default/Lars
.touch ~/.config/Firefox/Lars/prefs.js
. 无需在其中放入任何内容。~/.mozilla/firefox/Lars
。prefs.js
(您的设置)和places.sqlite
(您的书签)。.xpi
文件~/.mozilla/firefox/8hiuv29u.default/extensions
,双击文件(它应该在 Firefox 中打开)或将其拖到浏览器窗口中以重新安装旧插件。(专业提示:我会利用这个机会来识别什么是什么,重命名源.xpi
文件,并保留它们的备份副本“以备下次”使用。)~/.mozilla/firefox/8hiuv29u.default/extension-preferences.json
和/或~/.mozilla/firefox/8hiuv29u.default/extensions.json
/和/或~/.mozilla/firefox/8hiuv29u.default/extension-settings.json
(我不记得这些是什么)。将来,在全新安装 Firefox 后,请按照步骤 1、2 和 3,然后将整个配置文件文件夹替换为最新备份中的文件夹。