![为什么 Linux 上没有像 Windows 上那样的多个 Firefox 实例?](https://linux22.com/image/1238116/%E4%B8%BA%E4%BB%80%E4%B9%88%20Linux%20%E4%B8%8A%E6%B2%A1%E6%9C%89%E5%83%8F%20Windows%20%E4%B8%8A%E9%82%A3%E6%A0%B7%E7%9A%84%E5%A4%9A%E4%B8%AA%20Firefox%20%E5%AE%9E%E4%BE%8B%EF%BC%9F.png)
在 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 转发,也会发生这种情况。这是我最讨厌的事情,至今仍未解决。