Выпуск Xpra 6.0, аналога утилиты screen для GUI. Развитие Wprs, реализации Xpra для Wayland

Опубликован выпуск проекта Xpra 6.0, развивающего подобие утилит screen и tmux для работы с графическими приложениями. Xpra позволяет запустить X11-приложения на локальной или удалённой системе, отсоединить сеанс, не завершая выполнение программ, и вернуться к работе с приложениями через какое-то время или продолжить работу с другого хоста (можно начать работу с программой на одной машине и продолжить на другой). Например, Xpra позволяет запустить графическое приложение на внешнем Linux-сервере и отобразить содержимое на экране текущей рабочей станции, функционирующей под управлением Linux, Windows или macOS. Код проекта написан на языке Python и распространяется под лицензией GPLv2+.

Возможно как подключение к имеющимся сеансам рабочего стола, так и создание новых сеансов для организации работы с графическими Linux-программами в окружениях Windows и macOS. Более того, в Xpra имеется встроенный HTML5-клиент, позволяющий подключаться к сеансам через браузер. Кроме доступа к окнам в Xpra реализована поддержка многих сопутствующих возможностей рабочих столов, таких как трансляция звука на удалённую систему, проброс принтеров и web-камер, организация доступа к буферу обмена, поддержка синхронизации состояния системного лотка и уведомлений. Имеются встроенные функции для передачи и синхронизации файлов между системами.




Среди новых возможностей, появившихся в версии Xpra 6.0, можно отметить поддержку архитектуры riscv64, переход на использование базового профиля OpenGL, добавление отдельного клиента для GNOME, реализацию команды “xpra configure” для упрощения настройки параметров Gstreamer, ускорение операций mmap, упрощение быстрого отключения расширенных возможностей для трансляции звука и видео, добавление поддержки виртуальных рабочих столов Windows 10.

Дополнительно можно отметить проект wprs, который развивает аналог Xpra для систем на базе Wayland. Wprs позволяет запускать на локальной или внешней системе приложения, использующие Wayland, и возобновлять работу с ними на других системах. Через привлечение XWayland также обеспечивается возможность запуска приложений, собранных для X11. Для работы на удалённой системе необходимо запустить фоновый процесс wprsd, после чего на той системе можно запускать приложения с других компьютеров, используя команды “wprs run”, “wprs detach” и “wprs attach”. Код wprs написан на языке Rust и распространяется под лицензией Apache 2.0.

Процесс wprsd включает реализацию композитного сервера Wayland, основанного на библиотеке Smithay и вместо отрисовки на экран выполняющего сериализацию сеанса Wayland для его передачи на другую систему и воссоздания при помощи утилиты wprsc c реализацией Wayland-клиента на базе Smithay Client Toolkit. Из ограничений wprs отмечается поддержка только базового протокола Wayland и расширений XDG shell, что, например, не позволяет задействовать аппаратное ускорение отрисовки и dmabuf. Также пока не поддерживается трансляция событий от сенсорных экранов/тачпадов и ограничены возможности интерфейса Drag&drop.

Release. Ссылка here.