![通过 SSH 在 Ubuntu 虚拟机中运行 Firefox 将打开主机的 Firefox](https://linux22.com/image/104436/%E9%80%9A%E8%BF%87%20SSH%20%E5%9C%A8%20Ubuntu%20%E8%99%9A%E6%8B%9F%E6%9C%BA%E4%B8%AD%E8%BF%90%E8%A1%8C%20Firefox%20%E5%B0%86%E6%89%93%E5%BC%80%E4%B8%BB%E6%9C%BA%E7%9A%84%20Firefox.png)
我正在使用 Slackware。火狐浏览器正在运行。我还有一个使用 VirtualBox 运行 Ubuntu 16.04 的虚拟机。
我在虚拟机上安装了Firefox,在主机上安装了Firefox。
我在虚拟机中打开 SSH 会话并运行 Firefox。它打开了我的主机 Firefox 的一个新窗口。
它为什么这么做?我期望有两个正在运行的 Firefox 实例:一个在我的主机上,一个在虚拟机上。
答案1
当 Firefox 启动时,它会查找在同一显示器上运行的 Firefox 窗口,如果找到,它就会聚焦该窗口(如果您在命令行上传递 URL,它会打开一个新选项卡以加载现有选项卡中的 URL)。窗户)。
您必须已运行带有 X11 显示转发的 SSH。由于 X11 转发处于活动状态,因此您在 SSH 会话中启动的所有 GUI 程序都将显示在本地计算机上。
如果您的 X11 转发在 SSH 连接中未处于活动状态,则从 SSH 会话运行的 GUI 应用程序将无处可显示。他们只是抱怨“错误:未指定显示”或一些类似的错误消息。
X11本质上是网络透明的,因此它没有“本地显示”的概念。显示就是您告诉应用程序的显示。例如,在多座位配置的情况下,可以有多个本地显示器。没有一种像 Windows 那样的“真实”显示。如果您正在远程运行程序并且希望它显示在远程计算机的显示器上,则需要在远程计算机上运行 X 服务器,并且需要明确告诉程序连接到该显示器。默认情况下,如果您不执行任何操作,程序将显示在您面前的计算机上。
答案2
你想要firefox --no-remote
(或firefox --new-instance
)。否则,它将“重用”您现有的 Firefox 进程。