HTML5 / JavaScript X11服务器?

我们有一个消耗大量数据的应用程序。 目前是桌面应用程序,但我们希望通过浏览器提供。

创build一个Web应用程序是不合理的,我们需要传输用于可视化的数据。

我们正在研究RDP和一些通过完全的JavaScript客户端提供RDP访问的产品。 他们似乎与我们的应用程序运行良好,但我一直在考虑如何移动Windows。

切换前端,以便它可以在Linux下运行并不是微不足道的,但并非不可能,所以主要的绊脚石将交付。

我想知道是否有任何X11的JavaScript服务器,但没有find任何线索。

AFAIK,最近的GTK已经被移植到Gtk Broadway的 HTML5 + Javascript中

您可以使您的应用程序成为一个Web应用程序,例如通过使用Wt ,或者通过专门的HTTP服务器库(如libonion , libmicrohttpd等)将其作为HTTP服务器。

通过使用AJAX技术(例如,通过jQuery )你的应用程序不会一次传输所有的显示数据到浏览器(但只增量,只有实际显示的数据)。

您也可以考虑将fastcgi作为将应用程序连接到某个Web服务器的一种方式。

您可以使用HTML5 VNC查看器,例如https://github.com/kanaka/noVNC与VNC服务器,如RealVNC

我知道两个,都在很小的时候:

https://github.com/GothAck/javascript-x-server

https://github.com/ttaubert/x-server-js

前面都需要简单的tcp-to-websockets代理,但所有的X11逻辑都发生在网页内部,所有的x11对象在浏览器中都存在和交互(所以不仅仅是远程的帧缓冲而是真正的服务器)

对于非常简单的应用程序,您可以使用libgreattao工具包和tao-network-client连接到它。 我是这两个项目的作者。 这个API还没有被冻结,但是它表现得很稳定。 你可以在这里阅读: https : //nintyfan.wordpress.com/2015/04/30/server-buildin-into-libgreattao-and-tao-network-client/

它可以提供一些有很多数据的应用程序的问题,因为所有的元素在创建时都必须发送给客户端,而不是发送完整的图形(只发送图标),用户界面可以快速更改。 它也不支持鼠标进入/离开/移动事件。

我必须告诉:不要下载tarbar,而是从svn下载版本。

听起来最简单的方法是获得xrdp,这是X的RDP服务器。然后,您将使用您的RDP客户端连接到它。 我认为Nomachine NX现在直接支持html,但我不确定。 有一个html的X2go客户端的谈话,但我也不知道什么。

使用xpra内置的html5客户端 ,它支持任何可以在X11桌面上运行的应用程序。