在远程主机(通过ssh)上启动firefox会在本地打开一个新窗口:发生了什么?


22

我以前从未注意到过这种行为,并且对正在发生的事情感到有些困惑。我正在运行firefox的本地副本,然后将ssh(ssh -X <url>)放入远程服务器,并在那里启动一个副本以使用本地显示。原来本地的Firefox刚刚打开了一个新窗口。我确认ps x|grep firefox确实在远程服务器上没有启动Firefox进程。

同样的奇怪现象也相反发生:如果我正在运行一个远程firefox,并尝试启动一个本地firefox,则该远程firefox将打开一个新窗口。

我使用的是ubuntu 10.4,几乎是全新安装(我今天下午才刚买到这台计算机)。我试图同时运行两个Firefox,以便可以轻松地列出要安装的插件列表。

这是怎么回事,我该如何避免呢?

Answers:


9

如果我不得不对这里发生的事情进行有根据的猜测,我想说的是Firefox在启动前会先寻找一个打开的Firefox窗口,如果存在的话,它会使用X发送一条消息,只是启动一个新的浏览器窗口。由于远程系统正在使用您的本地显示,因此用于检测的任何内容都会获取本地窗口。(这也可以解释为什么在启动本地firefox进程时会找到远程窗口。)

您可以通过关闭所有本地firefox窗口,然后尝试在远程服务器上启动firefox进行测试-如果检测到的发生与我认为的一样,则不会有任何正在运行的窗口来锁定它,因此将按照您的期望在远程系统上启动一个实例。

就实际解决问题而言,tante建议设置MOZ_NO_REMOTE是正确的解决方案。


测试肯定是积极的。我从来不知道有X中的这样一个消息传递系统
kasterma

21

Firefox已经存在了一段时间了,尝试将Firefox运行为firefox -no-remote(设置MOZ_NO_REMOTE=1为环境变量也可以)。

是更多信息


1
谢谢,这解决了问题。我还在mozillazine中找到了一些信息:kb.mozillazine.org/…不能解决的一件事是我的困惑:我在计算机A上,将其切换到计算机B。在计算机BI上,启动一个新的Firefox以使用显示在计算机A上,计算机B如何知道不启动新进程?这必须是我不熟悉的X协议的一部分。
kasterma

在sshd_conf中,您可以选择以下选项:X11Forwarding yes 每当您使用GUI启动应用程序时,它告诉ssh要求X通过ssh隧道将其输出转发到X服务器。
Patkos Csaba
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.