linux – HTML5/javascript X11 server?-ThrowExceptions

Exception or error:

We have an application which consumes a large amount of data. Currently a desktop app, but we would like to deliver it via the browser.

It doesn’t make sense to me to create a web app where we need to transfer a ll the data used for the visualizations.

We’re looking at RDP and some products out there that provide RDP access via a fully javascript client. They seem to work well with our app, but I’ve been thinking about what it would take to move off Windows.

Switching the front end so that it could run under Linux would not be trivial, but not impossible, so the main stumbling block would be delivery.

I was wondering if there are any X11 javascript servers out there, but have not found any leads.

How to solve:

AFAIK, recent GTK has been ported to HTML5+Javascript in Gtk Broadway

And you could make your application a web application, for instance by using Wt, or by making it an HTTP server thru specialized HTTP server libraries like libonion, libmicrohttpd etc.

By using AJAX techniques (e.g. thru jquery) your application won’t transmit all the display data to the browser at once (but only incrementally and only the actually shown data).

You might also consider fastcgi as a way to connect your application to some web server.

###

You can use an HTML5 VNC viewer like https://github.com/kanaka/noVNC coupled with a VNC server like RealVNC

###

Use xpra’s builtin html5 client, it supports any application you can run on an X11 desktop.

###

I know two, both at very infancy:

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

and

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

Both need simple tcp-to-websockets proxy in front, but all X11 logic happen inside web page and all x11 objects exist and interact within browser (so it’s not just remote framebuffer but real server)

###

For very simple applications you can use libgreattao toolkit and tao-network-client to connect to it. I’m the author of both project. The API isn’t yet frozen, but it rather behaves stable. You can read about it here:
https://nintyfan.wordpress.com/2015/04/30/server-buildin-into-libgreattao-and-tao-network-client/

It can provide some problems with applications with a lot of data, because all elements must be send to client, when it were created, but instead we don’t send full graphics(only icons is send) and user interface could be changed quickly. It also don’t support mouse enter/leave/move events.

I must tell: do not download tarbar, but download version from svn.

###

Sounds like the easiest approach for you is to get xrdp, which is an RDP-server for X. Then you would use your RDP client to connect to it. I think Nomachine NX supports html directly now, but I’m not sure. There was talk of an html X2go-client, but I don’t know anything about that either.

###

You can ever run full Linux distribution in Web Browser, but that’s require to run x86/ARM emulator and GNU/Linux inside it. It provides X server with possible web connection too.

Leave a Reply

Your email address will not be published. Required fields are marked *