Skip to content
System to run an X server in a web browser
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
auth_server
backend
bridge
frontend
.ensime
.gitignore
LICENSE
README.md
pom.xml

README.md

About the project

The project is under development and still very experimental.

What is it?

The project aims to provide a system to display any X application running on a remote server into a web browser, using modern web technologies (websockets and Canvas).

How is it supposed to work?

The project is divided into three major parts.

The backend part communicates directly with the X clients, serialize/deserialize clients requests, handle these locally when possible or transfer them to the frontend when not.

The web application backend handles the authentication process, and is responsible for launching the backend application is a new process. It is also used as a bridge to communicate from the backend application to the browser.

The frontend (web browser) application, handles the requests received via web sockets, and is responsible for the rendering. It is also responsible for listening events and transfering them to the server (not yet implemented).

Does it work?

Not yet. The main framework to communicate between the browser and the X clients is more or less done, but only a very few X request are implemented (quite partially). There are still some important things to fix in the backend, some parts which are not threadsafe yet.

Running the application

The application at least needs a JDK and maven installed. To run the application in production mode (which is not really worth right now though), nix-password-checker will be required. After setting the paths in frontend/conf/application.conf

mvn clean compile install

should be enough to setup everything. The application can then be ran using

mvn play2:run

you can then login with your usual Linux/UNIX username/password combination. The password is only checked when ran in production mode, but this requires (for now) to run the application as a root user.

Contributing

The project is still only starting, but any help or suggestions would be greatly appreciated.

You can’t perform that action at this time.