WebX11 puts Linux apps in your browser, then sharpens the picture when motion stops
A small GPLv3 project sends changing screen tiles through a WebSocket. Remote access still needs authentication and encryption around it.

A Linux graphical utility can show up in a browser tab after webx11 xterm.
The project uses Xvfb for the display and sends changing tiles over a WebSocket, with keyboard and mouse input returning to X11. Its README describes the capture strategy as “Only the regions of the screen that actually change”. Small changes travel losslessly; bigger ones use JPEG. The default settings refresh idle JPEG regions as PNG after 400 milliseconds. Moving pictures get compression, stationary text gets another chance to look clean.
This is the maker’s description, with no independent performance test here. Audio is outside the project’s scope, and putting a window in a browser leaves a fairly consequential question: who can reach it?
The two-port arrangement deserves attention during setup. The README assigns HTTP and its API to port 8080 and the WebSocket stream to 8081. A reverse proxy has to account for both paths. Protecting the page while leaving its live display reachable would protect the doorway and leave the window open beside it.
The virtual display also explains what gets shared. Xvfb supplies an X11 screen for the launched application, and the browser receives captured changes from that screen. The example command starts a particular program. Someone expecting their entire existing desktop to appear should read that distinction before rearranging their remote-access setup.
The project’s strategy suits a window with lots of still text and occasional changes. Sending only changed tiles avoids redrawing the whole scene over the connection, while the later lossless refresh gives stationary lettering another pass. The design itself is understandable without accepting the README’s frame-rate claims as a benchmark for every network.
A useful trial would keep the same small application open and perform the tasks it needs remotely: scroll a long pane, resize it, paste text and watch the idle image settle. The README lists these input and resizing capabilities. Their usefulness depends on the application and connection, so observing those operations says more than watching an empty terminal sit still.
The absence of sound is a real boundary for the choice of application. A visual configuration panel may need none; a media utility may become confusing without audio feedback. Browser access removes a client-installation chore while leaving the original program’s requirements in place.
Remote administration also deserves a disposable first session. A small lab window is enough to establish whether the viewer and its authenticated proxy behave together before giving the session access to anything worth keeping.
The tile strategy could make tiny administrative windows convenient to share. The practical test is whether the proxy protects the WebSocket just as thoroughly as the page you log into.