如何在 Firefox 中重新排序/排序配置文件

如何在 Firefox 中重新排序/排序配置文件

最近我越来越多地使用 Firefox 中的配置文件。

我为家庭的每个成员都准备了一个,然后为代理火狐浏览器(tor、i2p、freenet)准备了一些,然后是一个“访客”默认配置文件,以及几个用于开发目的的配置文件。

因此,配置文件管理开始变得重要。我遇到的第一个问题是重新排序,例如按以下顺序:

Personal
Girlfriend
Children
Dev1
Dev2
Dev3
Testing
Freenet
Tor
etc ...

那么,是否有插件或技巧来实现这种排序?我猜另一种方法是使用 gnome / mate 等菜单选项来启动这些配置文件并从那里管理它们。但我现在正在寻找仅适用于 Firefox 的解决方案。

答案1

好的,在测试了许多插件后,我找到了一种重新排序配置文件的方法。它不在插件中(应该是 Firefox 的主要功能,但无论如何……)。

诀窍是编辑你的profiles.ini文件。在 Linux 中,它位于~/.mozilla/firefox/profiles.ini

一、备份:

cp ~/.mozilla/firefox/profiles.ini ~/.mozilla/firefox/profiles.ini.bak

二、编辑:

vim ~/.mozilla/firefox/profiles.ini

然后,您可以复制并粘贴这些行,以获得您想要的顺序:

[General]
StartWithLastProfile=1

[Profile0]
Name=Default
IsRelative=1
Path=fhsdjsufh.Default
Default=1

[Profile1]
Name=Myself
IsRelative=1
Path=dfhfkvldk.default

[Profile2]
Name=Children
IsRelative=1
Path=kfmfpoernv.Children

[Profile3]
Name=Friends
IsRelative=1
Path=fjvovbswk.Friends

我不知道这是否是最好的方法,但它确实有效。请注意保留格式和标题,只需复制标题之间的行即可[Profilex]

来源 :莫西拉嗪

答案2

我也使用了很多配置文件。我使用 MozBackup 备份一个包含我喜欢的插件的基本配置文件。我将该基本配置文件恢复到我稍后使用运行时的弹出窗口创建的配置文件中firefox.exe -P -no-remote

我还没有找到在 Firefox 或 MozBackup 中对弹出窗口中的配置文件列表进行排序的方法,因此我编写了一个 Python 脚本,按名称对条目进行排序profiles.ini

我使用的是 Windows,但我使用 Debian 风格的 Linux 子系统来运行此脚本。要安装 python 3.6:

apt-get install curl git build-essential zlib1g-dev libbz2-dev libreadline-dev libssl-dev libsqlite3-dev
curl https://pyenv.run | bash
pyenv install 3.6.8
pyenv local 3.6.8

脚本如下:

#!/usr/bin/env python3.6

import configparser
import re

config = configparser.ConfigParser()
config.optionxform = str
# this option is mandatory as list in popup will be blank
# if we let configparser default to lowercase option key.
config.read('profiles.ini')

nconfig = configparser.ConfigParser()
nconfig.optionxform = str
nconfig['General'] = config['General']

profiles = [section for section in config.sections() if re.match('^Profile', section)]
sorted_profiles = sorted(profiles, key=lambda profile: config[profile]['Name'])

for idx, profile in enumerate(sorted_profiles):
    # 2020-08-25 - fixed this line which was generating syntax error
    nconfig["Profile" + str(idx)] = config[profile]
    # dict are sorted in python 3.6
    # it seems profiles don't need to be renamed,
    # but let's fake we created them in order anyway.

with open('profiles.ini.new', 'w') as f:
    nconfig.write(f, space_around_delimiters=False)

相关内容