为什么在 VPS 上使用 SSH -X 加载 X11 程序这么慢?

为什么在 VPS 上使用 SSH -X 加载 X11 程序这么慢?

我在 StackExchange 上问了这个问题,有人建议我的问题更适合超级用户。

这里是:

我可以在 Ubuntu VPS 上运行 X11 应用程序,但它们需要很长时间才能加载!我想知道是我做错了什么还是问题出在 VPS 上。

VPS 运行 Ubuntu 16.04 64 位。它有 1 GB RAM 和 1 个 CPU 核心 @ 3.5 GHz。

对于我的设置,我安装xauth并编辑了/etc/ssh_config文件以将其设置ForwardX11yes。我编辑了/etc/sshd_config文件以将其设置X11Forwardingyes,而X11DisplayOffset10

echo $DISPLAY在 VPS 上运行显示localhost:10.0

我想通过 SSH 连接到 VPS 并运行 Firefox。我使用ssh -X name@vpn_ip

Firefox 确实可以打开,但每次都要花大约四分钟!然后浏览器变灰,无法使用。我以为服务器可能无法应付,但使用“top”检查显示 Firefox 仅使用了 17% 的内存和大约 2% 的 CPU。

我使用 Firefox 获得了它apt-get install firefox,并且还从 Mozilla 下载了 64 位版本。这两种方法生成的程序分别需要四分钟才能加载。

我读到使用压缩ssh -X -C会有所帮助-C。但是,-C并没有带来任何改善。

我做错了什么吗?我遗漏了什么吗?任何帮助我都感激不尽。

答案1

您看到的情况听起来很正常。

Firefox 并不是一个适合用来测试的应用程序,因为它会进行大量的客户端渲染,并将合成的位图推送到服务器。这需要耗费大量的数据,即使开启了 SSH 压缩也是如此。

我建议坚持使用那些不占用太多带宽的程序——xset应该具有合理的响应能力。

答案2

toby-speight 的回答非常正确。

你错过了什么:

网络浏览器有数百/数千个小部件(按钮、区域、字体)。即使忽略 Tony 提到的数据量大的小部件,如果从应用程序到本地计算机的每次往返需要 40 毫秒,并且您将 500 个小部件推送到本地计算机,则需要 20 秒。调出一个弹出菜单(例如单击文件)可能会将 100 个小部件推送到您的客户端。

你做错什么了吗?

不是。不要用 Firefox,而是用 xterm 或 gnome-terminal 进行测试。仍然会有延迟,但它们会做出响应,而 Firefox 或 Chrome 几乎无法响应。

备择方案!!!! :

会:

  1. 习惯使用命令行。它非常灵敏 :-) 我 98% 的工作都是在 xterm 中完成的。
  2. tmux !!
  3. 安装 vnc 服务器
  4. apt-get 安装 tightvncserver
  5. vncserver-geometry 1200x700-接口 127.0.0.1
  6. 在当地,
  7. ssh -L 5901:127.0.0.1:5901 安装 vnc 查看器
  8. vncviewer 本地主机:1

这将更加快速,响应更加灵敏,并且更加安全。

相关内容