我正在运行 SysInternal 的桌面版 1.02和 FireFox 3.6.2。我注意到,虽然我可以在多个虚拟桌面中打开 Internet Explorer 8,但您无法对 Firefox 执行相同操作。如果您尝试,您会收到错误消息:
Firefox 已在运行,但无响应。要打开新窗口,您必须关闭现有的 Firefox 进程,或重新启动系统。
我做了一些研究来解决这个问题,并想出了通过 Firefox 配置文件管理器创建第二个配置文件(通过使用“-p”开关启动 Firefox 来访问)。不幸的是,这带来了一个新问题,即我的附加组件(我使用了很多)无法在配置文件之间保持同步。
这里有更好的方法吗?
答案1
使用 Sysinternals 实用程序,另一个桌面上的 Firefox 将作为不同的进程运行,就像您以以下方式运行它一样:
firefox.exe -no-remote
(如果你尝试两次使用相同的配置文件,即使你没有运行台式机)。
Firefox 似乎正在使用 Windows 消息来确定是否已有一个 Firefox 实例正在运行,但未找到任何内容在同一桌面上,因此启动一个新实例。
这就是您不能使用相同配置文件的原因。
我猜 IE8 的工作方式不同(可能是因为它使用多个进程)并使用一些跨多个桌面工作的通信机制。IE8
可能通过单个进程协调对用户(配置文件)数据的所有访问;Firefox 则不然,因此它将阻止多个进程使用相同的配置文件,以避免文件损坏的可能性。
选择
虚拟主机,可从 Sourceforge 免费获取,本质上完成同样的工作,并且按照您期望的 Firefox 方式工作 - 跨多个桌面运行多个 Firefox 窗口,全部来自具有相同配置文件的同一个 Firefox 实例。
答案2
运行
firefox -ProfileManager
以创建一个新的配置文件,例如test
(请注意,在运行此命令之前必须关闭所有 Firefox 窗口)运行
firefox -P test -no-remote
以使用新创建的配置文件运行另一个 Firefox 实例
答案3
我还没有尝试过,但也许你可以复制并重命名你的主要配置文件(多次即可),然后使用这些新的但相同的配置文件运行 Firefox 的额外实例。(只需记住在原始配置文件中保存任何新书签,否则事情可能会变得混乱。)
答案4
简单的解决方案是打开任务管理器并终止 Firefox 进程。下次启动 Firefox 时,您将看到恢复选项卡,然后可以从那里开始。