如何通过 SSH 启动远程 Firefox 窗口?

如何通过 SSH 启动远程 Firefox 窗口?

当我通过 SSH 连接到远程机器时

$ ssh -X remotebox

然后在远程框上启动 Firefox

remotebox$ firefox

并且我在本地机器上运行着 Firefox,因此会打开一个本地 Firefox 窗口。但远程机器上没有运行 Firefox 进程。

如果我的本地机器上没有运行 Firefox,那么将会打开一个远程 Firefox 窗口。

为什么会打开本地 Firefox 窗口?我该如何防止这种情况发生?


这里有一些有关我的本地系统的更多信息。

Linux lesmana-laptop 2.6.32-24-generic #42-Ubuntu SMP Fri Aug 20 14:24:04 UTC 2010 i686 GNU/Linux

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 10.04.1 LTS
Release:    10.04
Codename:   lucid

DISPLAY=:0.0

Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org

remotebox 的信息。

Linux dxray 2.6.22.19-0.4-default #1 SMP 2009-08-14 02:09:16 +0200 x86_64 x86_64 x86_64 GNU/Linux

LSB Version:    core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64:desktop-3.1-amd64:desktop-3.1-noarch:graphics-2.0-amd64:graphics-2.0-noarch:graphics-3.1-amd64:graphics-3.1-noarch
Distributor ID: SUSE LINUX
Description:    openSUSE 10.3 (X86-64)
Release:    10.3
Codename:   n/a

DISPLAY=localhost:15.0

Mozilla Firefox 3.0.14, Copyright (c) 1998 - 2009 mozilla.org

以下命令通过远程 Firefox 窗口启动远程 Firefox 会话。

remotebox$ firefox -no-remote

以下命令会产生短暂的延迟,然后返回提示符并弹出本地 Firefox 窗口。remotebox 上没有运行 Firefox 进程。

remotebox$ firefox

remotebox2 的信息。

Linux marvin 2.6.31-22-generic #60-Ubuntu SMP Thu May 27 00:22:23 UTC 2010 i686 GNU/Linux

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 9.10
Release:    9.10
Codename:   karmic

DISPLAY=localhost:11.0

Mozilla Firefox 3.6.8, Copyright (c) 1998 - 2010 mozilla.org

remotebox2 上的以下命令按预期启动远程 Firefox 会话。

remotebox2$ firefox

我不知道为什么 remotebox2 上的 Firefox 启动远程会话而不是本地会话。

答案1

此外,firefox -no-remote 另一个参数firefox -no-xshm揭示了使其工作所使用的技术。

X11 共享内存是一种进程间通信技术,可供连接到给定 x 服务器会话的所有应用程序使用。它可用于执行拖放和其他类型的桌面交互。

它也可以(并且正在)用于实现“打开一次”应用程序,以减少占用空间(或窗口数量)。

由于 X11 协议对网络是透明的,因此“共享内存”也扩展到远程 X11 客户端。

答案2

尝试firefox -no-remote

答案3

请注意,我确实挖掘了圆顶,因为这让我很烦恼,你也可以添加:

MOZ_NO_REMOTE=1
export MOZ_NO_REMOTE

到您的个人资料。

答案4

你可以尝试一下,当你连接到机器时(ssh user@host注意:没有 -X 选项),首先输入以下命令

export DISPLAY=:0 

这会将默认显示更改为当前桌面屏幕。然后只需输入

firefox

在桌面窗口上启动 Firefox。请确保您已登录桌面,否则(没有登录)您将收到以下错误;

firefox: cannot connect to X server :0

此方法也适用于锁定的桌面。请确保您已使用以下用户名和密码登录桌面和 ssh shell:相同的用户名。

当有多个桌面会话时,每个会话由不同的编号标识,如、:0、等。 :1:2

相关内容