Introducing Xpra 6.0: A GUI-friendly alternative to the screen utility, with new Wayland implementation in Wprs.

Published project release Xpra 6.0, which develops something similar to screen and tmux utilities for working with graphical applications. Xpra allows you to run X11 applications on a local or remote system, disconnect a session without terminating programs, and return to working with applications after some time or continue working from another host (you can start working with a program on one machine and continue on another ). For example, Xpra allows you to run a graphical application on an external Linux server and display the content on the screen of the current workstation running Linux, Windows or macOS. The project code is written in Python and distributed by licensed under GPLv2+.

It is possible to both connect to existing desktop sessions and create new sessions to organize work with graphical Linux programs in Windows and macOS environments. Moreover, Xpra has a built-in HTML5 client, allowing you to connect to sessions through a browser. In addition to window access, Xpra supports many related desktop features, such as sound broadcast to a remote system, forwarding printers And web cameras, access organization to clipboard, support state synchronization system tray And notifications. Built-in functions to transfer and synchronize files between systems.

Advertisement

Among the new features that appeared in version Xpra 6.0, we can note support for the riscv64 architecture, the transition to using the basic OpenGL profile, addition a separate client for GNOME, implementation of the “xpra configure” command to simplify configuring Gstreamer parameters, speeding up mmap operations, making it easier to quickly disable advanced audio and video streaming capabilities, adding support for Windows 10 virtual desktops.

Additionally, you can note the project wprs, which develops an analogue of Xpra for Wayland-based systems. Wprs allows you to run Wayland-based applications on a local or external system and resume running them on other systems. Through the involvement of XWayland, the ability to run applications built for X11 is also provided. To work on a remote system, you need to run the background wprsd process, after which you can run applications from other computers on that system using the “wprs run”, “wprs detach” and “wprs attach” commands. The wprs code is written in Rust and distributed by licensed under Apache 2.0.

Advertisement

The wprsd process includes an implementation of the Wayland composite server based on the library Smithay and instead of rendering the serializing Wayland session to the screen to transfer it to another system. The session is recreated using the wprsc utility with an implementation of the Wayland client based on Smithay Client Toolkit. SSH is used to authorize access and organize a communication channel. Limitations of wprs include support only for the basic Wayland protocol and XDG shell extensions, which, for example, does not allow using hardware rendering acceleration and dmabuf. Also, broadcasting events from touch screens/touchpads is not yet supported and the capabilities of the Drag&drop interface are limited.

Thanks for reading:

Advertisement