当远程服务器与 ssh 客户端位于同一 LAN 上时,我成功地在本地 Windows 中运行远程应用程序。然而,当我尝试在 LAN 之外的远程服务器上完成此操作时,X11 转发性能非常慢。
例如,我从远程服务器玩纸牌(在本地窗口中),如下所示:
ssh -X [email protected] sol
我期望它的性能与远程开发计划协议(例如),但显然 RDP 比 X11 转发更有效(除非我做错了)。
当我将一张卡片从屏幕的一侧移动到另一侧并将其放下时。代替X11转发跳过不必要的帧,它会慢慢滞后,以便所有卡牌移动都按像素显示(延迟我的游戏)。
在 RDP 中,我可以通过一些设置告诉它只显示最新的帧,并跳过任何短暂的效果。
是否有一些我可以更改的参数或设置,以便 X11 转发能够执行相同类型的优化?我并没有落后于图形上发生的情况,而是只对应用程序在任何给定时间“现在”的外观感兴趣,并且我完全同意它跳帧以向我展示事物看起来如何实时尽可能。
请指教。
答案1
你应该看看 dxpc (https://linux.die.net/man/1/dxpc)这是一个动态 X11 协议压缩器。
它可以更好地减少网络链接上的流量,因为它使用协议的固有知识来缓存每一侧的操作码。这与 VJ 压缩非常相似(https://en.wikipedia.org/wiki/Van_Jacobson_TCP/IP_Header_Compression)。
它只需将引用发送到表中即可重复使用重复的数据,并且比对流量使用通用压缩算法更有效。