启动 Firefox 之前无法进行本地配置

启动 Firefox 之前无法进行本地配置

对于 Debian Linux,我有一个安装后脚本,我想在文件中为新创建的用户帐户进行一些本地设置~/.mozilla/firefox/<profile-directory>/user.js。然而,在用户启动 Firefox 之前,没有~/.mozilla目录。知道默认配置文件目录名称以结尾.default-esr我尝试使用以下命令创建一个新配置文件

firefox -CreateProfile default-esr

但是当 Firefox 启动时,它会创建另一个以.default-esr-1.有没有办法创建一个 Firefox 实际使用的新配置文件?如何在 Firefox 启动之前通过脚本创建本地设置?

我运行 Debian 12.1 和 Mozilla Firefox 102.13.0esr(来自标准存储库)。

编辑:

如果我运行命令,firefox -CreateProfile default-esr我会得到一个~/.mozilla/firefox/profiles.ini包含

[Profile0]
Name=default-esr
IsRelative=1
Path=1gbetm4q.default-esr

[General]
StartWithLastProfile=1
Version=2

另一方面,如果我在没有.mozilla目录的情况下启动 Firefox,我会得到以下信息profile.ini

[Profile1]
Name=default
IsRelative=1
Path=gfro0v2o.default
Default=1

[Profile0]
Name=default-esr
IsRelative=1
Path=0715l0wk.default-esr

[General]
StartWithLastProfile=1
Version=2

[Install3B6073811A6ABF12]
Default=0715l0wk.default-esr
Locked=1

显然,Firefox 在第一次启动时(即没有.mozilla目录时)创建了两个配置文件。令人困惑的是,该选项默认指两个配置文件。

答案1

您可以使用以下命令创建新的配置文件:

firefox -CreateProfile "PROFILENAME /PATH/PROFILEPATH"

配置文件名称和配置文件路径不必相同。

然后复制你的 user.js

cp -var user.js /PATH/PROFILEPATH/

然后启动你的 Firefox 并选择配置文件

firefox -p

或从选定的配置文件开始

firefox -P PROFILENAME &

另请参阅这篇文章,其中我描述了有关配置文件的一些内容。

Firefox 配置文件包含firefox -p

你可以用以下命令启动你的火狐浏览器firefox -p

现在您会看到一个新的弹出窗口,您可以在其中创建、删除或重命名 Firefox 的配置文件

只需取消标记Use the selected profile without asking at startup ,之后每次 Firefox 启动时,您都可以选择您想要使用的配置文件

您可以针对不同的用例创建不同的配置文件

或者标记Use the selected profile without asking at startup,之后 Firefox 将始终使用此配置文件启动

更新:

如果您仅使用创建的配置文件,并且您不会/无法firefox -p在脚本中执行,则可以使用profile.ini此块用脚本覆盖该文件。

这是您需要启动的唯一块,不再需要启动更多块:

[Profile0]
Name=MYPROFILE
IsRelative=0
Path=/PATH/MYPROFILEPATH
Default=1

答案2

我们可以通过创建两个标准配置文件来模仿 Firefox 的默认行为默认-esr默认使用以下命令:

firefox -CreateProfile default-esr
firefox -CreateProfile default

这将创建一个~/.mozilla/firefox/profiles.ini如下所示的:

[Profile1]
Name=default
IsRelative=1
Path=gfro0v2o.default

[Profile0]
Name=default-esr
IsRelative=1
Path=0715l0wk.default-esr

[General]
StartWithLastProfile=1
Version=2

接下来,让 Firefox 使用默认-esr(而不是在启动时创建新的配置文件)我们需要添加一个安装profile.ini带有选项的部分默认:

profileDir="$(awk -F= '/^Path=.*\.default-esr/ { print $2 }' ~/.mozilla/firefox/profiles.ini)"
cat <<EOT >> ~/.mozilla/firefox/profiles.ini

[Install3B6073811A6ABF12]
Default=$profileDir
Locked=1
EOT

十六进制后缀是根据安装路径计算出来的,不会改变。最后我们可以将文件复制user.js到配置文件目录中:

cp user.js "$HOME/.mozilla/firefox/$profileDir"

相关内容