用于X11转发的SSH压缩

Zea*_*rin 10 x11 ssh configuration

我在美国东海岸,在西海岸的服务器上进行连接.

我已经设法让X11转发工作,所以我可以为某些有用的任务启动GUI应用程序.然而,对于所有X11转发的应用程序(特别是 emacs!),输入(击键,鼠标点击等)和响应有很多延迟,有时候从令人难以置信的沮丧到潜在的有害 - 当我打算做A时但是B的发生是因为滞后是如此之大.

SSH压缩是否是潜在的罪魁祸首?我应该使用什么样的压缩?

小智 15

X11图形占用了大量带宽.如果您的远程主机距离很远(即不在LAN上),那么您导出的X11应用程序可能会出现迟缓.

我不确定SSH压缩.性能可能取决于其他因素,例如CPU性能.从ssh手册页:

     -C      Requests compression of all data (including stdin, stdout,
             stderr, and data for forwarded X11 and TCP connections).  The
             compression algorithm is the same used by gzip(1), and the
             “level” can be controlled by the CompressionLevel option for pro?
             tocol version 1.  Compression is desirable on modem lines and
             other slow connections, but will only slow down things on fast
             networks.  The default value can be set on a host-by-host basis
             in the configuration files; see the Compression option.

以下是一些其他可用于加快速度的变通办法:

  • 不使用X11转发与GUI交互,而是考虑具有更好优化/压缩功能的其他内容,例如VNC或NX/FreeNX.
  • 使用emacs的终端版本而不是GUI版本.

  • 实际上写得很好的X11程序不会占用大量带宽.X11的主要问题是糟糕的写错Xlib,它几乎为每个操作执行完全同步往返,而许多操作可以异步执行.如果使用另一个X11协议后端,比如Xcb,而不是像在客户端光栅化整个GUI那样愚蠢的东西,然后只是在网络上砸掉该死的东西,通过低带宽,高延迟连接的TCP上的普通X11实际上是非常有用的.然而,许多程序写得很糟糕.我推荐NX或ssh附加Xpra (3认同)
  • 尽管 SSH 文档说明了使用 -C 选项进行压缩的缺点,但我发现它始终可以提高 X11 转发性能。这并不意味着它很棒,但总比几乎无法使用要好。我不确定为什么它会在快速网络上减慢速度。也许这份文档是在他们发明快速计算机之前的 1990 年代编写的。 (3认同)
  • 我可以确认 Noah Spurrier 的评论 - -C 导致 Firefox 在我的 LAN 上使用 20 - 30 Mbps 而不是 120 Mbps,而且响应速度更快。 (2认同)