在 Windows 上,如果我以用户 jack 的身份运行 Firefox,然后尝试启动另一个 Firefox 实例,但我将无法执行此操作,因为其中一个实例已在运行。
如果我选择以管理员身份运行 Firefox,那么我可以拥有两个彼此分开的 Firefox 实例,因为它们位于不同的用户帐户下。
在 Linux 上这似乎并不正确。
如果我以用户 jack 的身份启动 Firefox,就像在 Windows 上一样,我无法启动新实例。如果我打开终端并更改为 root,将 XAUTHORITY 设置为 jacks .Xauthority 并尝试以 root 身份启动 Firefox....我收到错误,提示 Firefox 已在运行。
这是为什么?请在回答中不要忽略任何技术细节...谢谢。
答案1
在启动时将参数传递--no-remote
给 Firefox,它不会重新使用现有的进程。
这是大多数 unix 平台上 Firefox 的一个已知问题。似乎发生的情况是 Firefox 查询 X 服务器,发现另一个 Firefox 正在运行(甚至不必是同一版本),并向其发送打开新页面的信号,而不是实际启动。
即使第二台机器上通过 SSH 启动第二个 Firefox 并且启用了 X 转发,也会发生这种情况。这是我最讨厌的事情,至今仍未解决。