当我连接到远程主机时:
desktop$ ssh -X user@remote
然后启动 Firefox:
remote$ firefox &
我期望 Firefox 能够运行remote
,并且所有流量都应使用 的remote
IP 发送到互联网。但这并没有发生。是否有任何 ssh 选项可以让它这样运行?
答案1
您需要告诉远程计算机上的 Firefox 不要担心您当前正在运行的实例。使用 -no-remote 的 cli 参数来执行此操作:
远程$ firefox -no-remote &
答案2
鉴于您所遇到的行为,我发现 Firefox 很可能正在检测 X 服务器上已运行的会话(desktop
)并告诉该会话打开一个新窗口。
这会产生您所经历的行为。
否则,它的行为应该与您描述的完全一致。Firefox(X 客户端)不关心它正在与之通信的 X 服务器位于何处;来自 Firefox 的所有流量都来自它正在运行的主机。
答案3
另一个选择(可能提供更好的性能)是使用 ssh 设置 SOCKS 代理。例如
ssh -D 8675 远程
然后将本地浏览器设置为使用 localhost:8675 作为代理。