两个功能齐全的配置文件同时运行

两个功能齐全的配置文件同时运行

问题:

是否可以打开两个不同的 Firefox 实例,每个实例运行一个单独的配置文件,并且每次firefox -P <profile name>运行时它都会连接到运行相同配置文件的已在运行的实例(而不是创建另一个实例)?

我的最终目标是为 Firefox 设置两个不同的图标(一个用于第一个配置文件,一个用于第二个配置文件),并让每个配置文件都像一个完全独立的程序一样运行。换句话说,当我单击任一图标时,我希望它像平常一样运行(当然,使用该配置文件),甚至不承认其他实例/配置文件的存在。当我单击另一个图标时,我希望发生同样的事情:我希望它表现得好像另一个实例/配置文件不存在一样。

研究:

我尝试使用 shell 脚本做一些花哨的事情来让它工作。它会检查是否有具有指定配置文件的正在运行的进程。如果找到,它将运行/usr/bin/firefox-bin -P $profile。如果没有,它将通过运行创建一个新实例/usr/bin/firefox -new-instance -P $profile

$ cat /usr/local/bin/firefox

#!/bin/bash

firefox=/usr/bin/firefox-bin

profile_running() {
    ps -Af | grep -v grep | grep firefox | grep -q -- "-P $1"
}

profile=$1
shift

if profile_running $profile; then
    $firefox $*
else
    $firefox -new-instance -P $profile $*
fi

理论上,如果我运行这个程序,应该会有一个 Firefox 实例使用 运行-P first_profile,另一个 Firefox 实例使用 运行-P second_profile。前者应该打开三个窗口,后者应该打开两个窗口:

/usr/local/bin/firefox first_profile &
/usr/local/bin/firefox second_profile &
/usr/local/bin/firefox first_profile &
/usr/local/bin/firefox second_profile &
/usr/local/bin/firefox first_profile

然而,我发现实际发生的情况并不是我想要的。好消息是每个配置文件只有一个实例在运行。但是,“first_profile”实例将打开四个窗口,而“second_profile”实例将只打开一个窗口。

每次我尝试在打开第一个窗口后打开新的“second_profile”窗口时,我都会得到一个新的“first_profile”窗口。似乎 Firefox 不会检查参数-P是否附加到已运行的实例。

结论:

由于似乎没有办法仅使用命令行参数来强制 Firefox 按照我希望的方式运行,因此我需要找到其他的解决方法。

我在跑步Firefox 33.0(二进制包)Gentoo Linux(amd64)

答案1

这应该可以回答您关于运行多个配置文件的问题,我一直都是这么做的。甚至显示了有关将其中一个配置文件设为“默认”配置文件的信息,因此外部链接(例如双击或来自其他应用程序的链接)将仅在该默认配置文件中打开。

http://kb.mozillazine.org/Opening_a_new_instance_of_your_Mozilla_application_with_another_profile

它很短所以我只粘贴它:

当 Firefox 正在运行时,如果您尝试打开另一个 Firefox 进程,则会在已运行的进程中打开一个新窗口。您可以使用 -no-remote 命令行选项启动第一个进程不可见的新 Firefox 进程。[1]通过使用 -no-remote 和 -P 选项来选择不同的配置文件,您可以使用单独的配置文件同时打开多个 Firefox 实例。[2]必须选择与第一个过程中使用的配置文件不同的配置文件,因为配置文件在使用时被“锁定”。

重要的:切勿使用 -no-remote 启动“默认”配置文件(即启动 Firefox 时设置为不经询问就打开的配置文件)。这是因为当您启动 Firefox 时,例如,通过单击邮件程序中的链接,如果默认配置文件已在使用中,您将收到“Firefox 已在运行但无响应”的消息。解决方案是始终正常启动默认配置文件,并使用 -no-remote 启动所有其他配置文件。这样它就可以正常工作了。[3]

您可以使用 -no-remote 打开特定配置文件的快捷方式。例如,要使用 -no-remote 打开名为“我的配置文件”的配置文件,请在 Windows 桌面快捷方式的目标字段中输入以下内容(如果路径不同,请调整路径):

"C:\Program Files\Mozilla Firefox\firefox.exe" -P "My Profile" -no-remote

笔记:您还可以在 Firefox 已运行的情况下打开配置文件管理器,方法是使用 -P -no-remote 而不包含配置文件名称。

相关内容