我的办公室里有一个linux盒子。我在那里打开了一个 Firefox 窗口,然后就回到了家。我想从家里通过 ssh 访问 Firefox 窗口。是否可以?
答案1
您需要启动x11vnc
或vino-server
在该 X 会话中,将连接端口转发到该 VNC 服务器并附加到该服务器。
$pid
以firefox的pid为例:
ssh -Y host vino-preferences
启用共享而不提示并设置 VNC 密码。
ssh host
在远程 shell 上,运行:
xargs -0a "/proc/$pid/environ" sh -c '
exec env "$@" /usr/lib/vino/vino-server --tube' sh
开始vino
。
请注意 vnc 服务器所在的端口。
键入~C
以显示 ssh 提示符,然后运行(此处如果 VNC 在端口 2 上)
-L 5900:localhost:5902
设置端口转发。
然后使用 ssh 客户端连接到该 VNC 服务器:
vinagre :0
(如果 VNC 端口已在本地计算机上使用,请使用与上述 5900/:0 不同的端口)。
这有点简单x11vnc
:
在远程主机上运行vncpasswd
以设置 VNC 密码并:
xargs -0a "/proc/$pid/environ" sh -c '
exec env "$@" x11vnc' sh
并按照上述步骤进行端口转发并连接到 VNC 服务器。
答案2
默认情况下,否。您正在运行的 Firefox 实例正在与桌面上的 X 服务器通信。
根据您的桌面,它可能内置了“桌面共享”,这通常是内置的 VNC 服务器。您可以连接到该设备并远程访问整个桌面。
或者还有一些解决方案,例如 XPRA (http://xpra.org/) 是“X11 的屏幕”;您运行 XPRA 服务器,它会创建一个 X 服务器。在里面你可以运行你的 firefox、xterm 等等。然后远程连接到该服务器。但这需要预先规划。