从bash获取默认的Firefox配置文件目录


11

我正在尝试从Bash获取默认firefox配置文件(自动打开的配置文件)的配置文件目录。我该如何进行?我找不到任何有用的期权发行firefox --help


您可以通过du a firefox; sudo lsof | grep [username] | grep firefox | grep profile来运行Firefox实例。lsof将显示打开的文件;grep会将您过滤掉的有趣部分lsof。这将快速启动信息,并且需要进行一些微调。无论如何,您需要什么信息?您想自动将一些东西放到Firefox的配置文件文件夹中吗-为什么?
humanityANDpeace

我想获取firefox decmod.db文件,因为Java Web应用程序需要它。由于某些原因,它在Windows上是开箱即用的,但是在Linux上,应该将带有decmod.db文件路径的配置文件放在家里。我想自动生成此文件。
豪尔赫·苏亚雷斯·德·里斯2013年

抱歉,无法编辑我之前的评论。您的建议“有效”,但是我想将其放置在会话开始脚本中(出于多种原因,这是唯一有意义的地方),并且我不想在每次会话开始时都运行Firefox。
豪尔赫·苏亚雷斯·德里斯,2013年

Answers:


13

尝试grep 'Path=' ~/.mozilla/firefox/profiles.ini | sed s/^Path=//。默认配置文件文件夹名称存储在中profiles.ini。当您只有一个个人资料时,这将很好地工作。
如果您有多个Firefox配置文件,则文件格式会更改,因此提取文件夹名称变得更加棘手。这是执行此操作的脚本:

#!/bin/bash

cd ~/.mozilla/firefox/
if [[ $(grep '\[Profile[^0]\]' profiles.ini) ]]
then PROFPATH=$(grep -E '^\[Profile|^Path|^Default' profiles.ini | grep -1 '^Default=1' | grep '^Path' | cut -c6-)
else PROFPATH=$(grep 'Path=' profiles.ini | sed 's/^Path=//')
fi

echo $PROFPATH

该脚本在两种情况下都可以使用,它根据概要文件的数量选择适当的方法。也可以在OSX中使用。


显然,现在默认的配置文件是profiles.ini中具有该行的配置文件,Default=1它可以在文件的任何位置(第一,中间,最后)。
Xen2050 '16

@ Xen2050确定吗?我从Ubuntu和Windows计算机上检查了2个不同的配置文件。两者都没Default=1有线。两者都在其中带有[Profile0]部分Name=default。您可以提供您profiles.ini使用的paste.ubuntu.com吗?
Whtyger

实际上只是在第二个配置文件下增加了一行。我已经使用配置文件管理器更改了默认配置文件,也尝试使用它(带有-p选项),并查看它是否对您的配置有所更改。mozilla.org上必须有相关的信息页面,但是我现在无法搜索。
Xen2050 '16

确实找到了链接,并与“不询问/显示配置文件管理器”一起提到了它,并使用了上次选择的配置文件来更改默认的 kb.mozillazine.org/Profiles.ini_file
Xen2050

@ Xen2050添加了脚本来处理多配置文件profiles.ini
Whtyger

7

您的默认配置文件目录存储在主目录下。

cd ~/.mozilla/firefox 

在这里,您会发现类似xxxxxxxx.default的内容。这是您所有个人数据的存储位置。

您可以运行命令firefox -P以显示可用的配置文件,然后从列表中选择一个。


正确的目录应该是.mozilla
Arch用户

1
那就是我现在正在做的find $HOMEDIR/.mozilla/firefox/ -maxdepth 1 -type d -name *.default | head -1。但这可能会失败。这不是一个好方法。
豪尔赫·苏亚雷斯·德里斯,2013年

@JorgeSuárezdeLis您能解释一下在什么情况下会失败吗?没有不同意,但我想知道。
Michael Mior

如果用户具有多个配置文件,并且未使用名为whatever.default
-JorgeSuárezde Lis的

1

我知道这有点老,但是如果其他人也需要此信息,这是我如何在firefox的包装脚本中设置默认配置文件变量的方法:

def_Pfile=`cat "$HOME/.mozilla/firefox/profiles.ini" | sed -n -e 's/^.*Path=//p' | head -n 1`

希望这会有所帮助,因为它对我有用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.