我在 StackExchange 上问了这个问题,有人建议我的问题更适合超级用户。
这里是:
我可以在 Ubuntu VPS 上运行 X11 应用程序,但它们需要很长时间才能加载!我想知道是我做错了什么还是问题出在 VPS 上。
VPS 运行 Ubuntu 16.04 64 位。它有 1 GB RAM 和 1 个 CPU 核心 @ 3.5 GHz。
对于我的设置,我安装xauth
并编辑了/etc/ssh_config
文件以将其设置ForwardX11
为yes
。我编辑了/etc/sshd_config
文件以将其设置X11Forwarding
为yes
,而X11DisplayOffset
是10
。
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 几乎无法响应。
备择方案!!!! :
我会:
- 习惯使用命令行。它非常灵敏 :-) 我 98% 的工作都是在 xterm 中完成的。
- tmux !!
- 安装 vnc 服务器
- apt-get 安装 tightvncserver
- vncserver-geometry 1200x700-接口 127.0.0.1
- 在当地,
- ssh -L 5901:127.0.0.1:5901 安装 vnc 查看器
- vncviewer 本地主机:1
这将更加快速,响应更加灵敏,并且更加安全。