Выпуск Cage 0.2, композитного сервера на базе Wayland для создания киосков

Доступен выпуск композитного сервера Cage 0.2, использующего Wayland и ориентированного на обособленный запуск отдельных приложений в режиме киоска. Из областей применения Cage отмечается создание систем домашней автоматизации, демонстрационных стендов, электронных вывесок и терминалов самообслуживания. Код проекта написан на языке Си и поставляется под лицензией MIT.

Интерфейс в Cage ограничен одним приложением, а пользователь не может выйти за пределы данного приложения и получить доступ к операционной системе. Экран привязывается к одному устройству вывода, а все вспомогательные диалоги выводятся по центру экрана без возможности перемещения и изменения размера. Поддерживается помещение и извлечение данных через буфер обмена. Приложения непосредственно связываются с запускаемым графическим окружением, например, для создания киоска с браузером Epiphany достаточно выполнить “cage /usr/bin/epiphany”, а после выхода из программы композитный сервер тоже завершает свою работу.

Среди наиболее заметных изменений в новом выпуске:

  • Добавлена опциональная возможность запуска X-приложений через Xwayland.
  • Добавлена поддержка первичного буфера обмена (primary selection), в который текст помещается сразу после выделения и доступен для вставки средней кнопкой мыши.
  • Добавлена поддержка Wayland-протокола relative-pointer-unstable-v1, позволяющего использовать события с информацией об относительном перемещении указателя.
  • Задействованы все улучшения, предложенные в выпусках библиотеки wlroots 0.17 и 0.18.
Release. Ссылка here.