对于 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"