Phosh

Phosh — это графическая оболочка (shell) для Linux, предназначенная прежде всего для смартфонов, планшетов и других устройств с небольшими сенсорными экранами. Проект использует технологии экосистемы GNOME и работает поверх Wayland. В официальной документации Phosh определяется именно как графическая оболочка для Wayland, ориентированная на мобильные устройства с небольшими дисплеями.
Название Phosh образовано от слов phone и shell, то есть буквально означает «оболочка для телефона». Изначально проект развивался компанией Purism в рамках создания Linux-смартфона Librem 5, однако со временем Phosh превратился в самостоятельный проект с участием сообщества.
В отличие от традиционных Linux-окружений вроде GNOME или KDE Plasma, Phosh изначально проектировался с учетом особенностей мобильного устройства. Здесь важны управление пальцами, небольшая площадь экрана, энергопотребление, экранная блокировка, уведомления, мобильная связь и возможность быстро подключить внешние устройства.
Для чего нужен Phosh
Phosh отвечает за пользовательский интерфейс мобильной Linux-системы. Он позволяет запускать приложения, переключаться между ними, просматривать уведомления, управлять настройками и взаимодействовать с системой при помощи сенсорного экрана.
Основные задачи Phosh включают:
- отображение рабочего стола и списка приложений;
- управление окнами и переключение между программами;
- отображение времени, заряда аккумулятора и состояния подключения;
- работу экрана блокировки;
- вывод системных уведомлений;
- быстрый доступ к системным функциям;
- поддержку сенсорного управления;
- адаптацию интерфейса к небольшим экранам.
При этом Phosh не является полноценной операционной системой. Это именно графическая оболочка, которая является частью более крупного программного стека Linux. Она взаимодействует с другими компонентами системы через Wayland, D-Bus и стандартные технологии GNOME.
Как устроен Phosh
Для понимания архитектуры Phosh важно разделить несколько компонентов. Сам Phosh отвечает за графическую оболочку и пользовательский интерфейс, а непосредственно выводом изображения и управлением окнами занимается Wayland-композитор.
Обычно связка выглядит примерно так:
- Linux — базовая операционная система и ядро;
- Wayland — протокол взаимодействия графических приложений с композитором;
- Phoc — Wayland-композитор, оптимизированный для использования с Phosh;
- Phosh — мобильная графическая оболочка;
- GNOME-компоненты — различные системные службы и библиотеки;
- приложения — пользовательские программы, работающие в этой среде.
В официальной документации последовательность запуска описывается примерно как phoc → gnome-session → phosh. При этом Phosh выступает клиентом Wayland и использует необходимые протоколы для создания верхней панели, нижней панели, экранов блокировки, системных диалогов и переключателя приложений.
Phosh и Wayland
Одной из ключевых особенностей Phosh является использование Wayland вместо старой архитектуры X11. Wayland предоставляет протокол, с помощью которого графические приложения взаимодействуют с композитором.
Для мобильной среды это особенно важно, поскольку композитор должен учитывать не только расположение окон, но и особенности сенсорного ввода, поворот экрана, энергосбережение и различные режимы отображения.
Phosh использует несколько Wayland-протоколов, в том числе wlr-layer-shell, который позволяет размещать элементы интерфейса поверх обычных окон приложений. Благодаря этому можно создавать верхнюю системную панель, нижнюю панель навигации, экран блокировки и системные диалоги.
Что такое Phoc
Phoc — это Wayland-композитор, предназначенный для использования вместе с Phosh. Его название расшифровывается как PHone COmpositor.
Если Phosh отвечает преимущественно за внешний интерфейс и взаимодействие пользователя с системой, то Phoc обеспечивает базовую работу графической сессии: управление окнами, отображение содержимого, обработку устройств ввода и взаимодействие с дисплеем.
Разделение этих функций позволяет сделать архитектуру более гибкой. Phosh не должен самостоятельно реализовывать весь графический стек, а использует возможности Wayland-композитора.
Phosh и GNOME
Phosh тесно связан с экосистемой GNOME, но его нельзя считать просто «мобильной версией GNOME Desktop». Он использует многие компоненты и технологии GNOME, однако интерфейс Phosh специально разработан для мобильных сценариев.
Например, Phosh взаимодействует с такими компонентами, как gnome-settings-daemon, UPower и iio-sensor-proxy через D-Bus. Для тактильной и другой обратной связи используется feedbackd. В качестве графического инструментария применяется GTK.
Это позволяет Phosh использовать существующую Linux-инфраструктуру, не создавая отдельные аналоги всех системных служб.
Интерфейс Phosh
Интерфейс Phosh рассчитан на управление пальцами. На небольшом экране пользователю необходимо быстро получить доступ к приложениям, уведомлениям и основным функциям устройства.
В состав интерфейса входят:
- верхняя панель с системной информацией;
- область уведомлений;
- экран блокировки;
- меню приложений;
- панель навигации;
- переключатель запущенных программ;
- системные диалоги;
- элементы управления подключениями и питанием.
Большие элементы интерфейса и адаптивная компоновка делают управление более удобным на сенсорном дисплее по сравнению с классическими настольными окружениями.
Адаптивные приложения
Сам по себе Phosh не заставляет каждую программу становиться мобильной. Для комфортной работы желательно, чтобы приложения имели адаптивный интерфейс.
Особенно хорошо с Phosh взаимодействуют приложения GTK и другие программы Linux, способные изменять расположение элементов в зависимости от размера окна.
Это дает возможность использовать одну программу не только на смартфоне, но и на планшете, ноутбуке или обычном мониторе.
Phosh также учитывает дополнительную информацию о форм-факторе приложений. В документации разработчиков описываются соответствующие Desktop Entry и AppStream-механизмы, позволяющие указывать, подходит ли приложение для мобильного использования.
Phosh и сенсорный экран
Главное отличие Phosh от обычного рабочего стола Linux заключается в ориентации на сенсорное управление.
На смартфоне невозможно рассчитывать на постоянное наличие мыши и клавиатуры. Поэтому интерфейс должен обеспечивать выполнение основных операций одним пальцем.
При этом Phosh не ограничивается исключительно сенсорными устройствами. Проект также рассчитан на сценарий, когда телефон подключается к внешнему монитору, клавиатуре и другим устройствам ввода. Официальная документация прямо указывает на возможность использования такой конфигурации, хотя основной целью остается мобильный интерфейс.
Экранная клавиатура
Интересная особенность Phosh заключается в том, что сама оболочка не реализует полноценную экранную клавиатуру. Для этого используются отдельные приложения и службы экранной клавиатуры.
Такое разделение позволяет выбирать подходящее решение независимо от основной оболочки. В Linux-мобильных системах с Phosh могут использоваться разные экранные клавиатуры в зависимости от дистрибутива и конфигурации.
Таким образом, Phosh отвечает за интеграцию мобильного интерфейса, но не пытается включить абсолютно все функции в один монолитный компонент.
На каких устройствах используется Phosh
Изначально Phosh был тесно связан с Purism Librem 5 — одним из наиболее известных Linux-смартфонов.
Однако сейчас оболочка применяется и в других проектах, связанных с мобильным Linux. Среди известных устройств и платформ, где Phosh может использоваться, встречаются:
- Purism Librem 5;
- PinePhone;
- PinePhone Pro;
- различные устройства, поддерживаемые Mobian;
- системы на базе Fedora с Phosh;
- экспериментальные мобильные Linux-платформы.
Конкретная поддержка зависит не только от самой оболочки, но и от дистрибутива, ядра Linux, драйверов, модемов, сенсоров и других компонентов мобильного устройства.
Phosh в Linux-дистрибутивах
Одно из важных преимуществ Phosh заключается в том, что он не привязан к единственной операционной системе. Его можно использовать в различных Linux-дистрибутивах при наличии необходимых пакетов и зависимостей.
Phosh встречается в мобильных сборках Linux, включая PureOS, Mobian и Fedora Phosh. Это делает его одним из наиболее заметных вариантов графической оболочки для мобильного Linux.
При этом качество работы зависит от конкретной платформы. Для полноценного смартфона недостаточно установить графическую оболочку: необходимы рабочие драйверы, управление питанием, мобильная связь, звук, камеры, сенсоры и другие аппаратные компоненты.
Phosh и мобильный Linux
Phosh имеет большое значение для развития мобильного Linux, поскольку предоставляет относительно универсальный графический слой для разных систем.
Без такой оболочки разработчикам каждого мобильного дистрибутива пришлось бы создавать собственный интерфейс. Использование общего проекта позволяет сосредоточиться на других компонентах операционной системы.
Кроме того, Phosh использует стандартные Linux-технологии — Wayland, GTK, D-Bus, systemd и компоненты freedesktop.org. Это облегчает интеграцию с существующей экосистемой Linux.
Phosh и режим рабочего стола
Одним из интересных сценариев является использование Linux-смартфона в качестве небольшого компьютера. Телефон можно подключить к монитору, клавиатуре и мыши.
Phosh учитывает такой сценарий и предоставляет интерфейс, который может использоваться при подключении внешнего дисплея. Однако полноценная замена традиционного рабочего стола зависит от конкретной конфигурации и набора установленных приложений.
Таким образом, мобильное устройство с Phosh потенциально может выполнять сразу несколько ролей:
- смартфона;
- карманного Linux-компьютера;
- терминала для удаленного администрирования;
- небольшого рабочего места при подключении монитора и периферии.
Безопасность и экран блокировки
Для смартфона экран блокировки является гораздо более важным компонентом, чем для обычного настольного компьютера. Phosh включает собственный механизм блокировки экрана и связанные с ним системные функции.
Оболочка также поддерживает дополнительные действия на экране блокировки через соответствующие механизмы Desktop Entry. Это позволяет приложениям предоставлять некоторые функции непосредственно с заблокированного устройства.
Конкретный уровень безопасности, конечно, зависит не только от Phosh, но и от всей операционной системы, настроек пользователя, шифрования диска и механизмов аутентификации.
Уведомления в Phosh
Уведомления являются важной частью мобильного интерфейса. Пользователь должен видеть сообщения от приложений, системные события и другую информацию, не открывая каждую программу отдельно.
Phosh стремится использовать стандартную спецификацию уведомлений freedesktop.org, одновременно добавляя необходимые для мобильных устройств возможности. В частности, могут учитываться вибрация и световая индикация.
Это позволяет мобильным приложениям интегрироваться с оболочкой более естественно и использовать привычную для Linux инфраструктуру уведомлений.
Преимущества Phosh
К основным преимуществам Phosh можно отнести:
- ориентацию на мобильные Linux-устройства;
- поддержку сенсорного управления;
- использование Wayland;
- интеграцию с технологиями GNOME;
- адаптивный интерфейс;
- поддержку стандартов freedesktop.org;
- возможность работы на разных Linux-дистрибутивах;
- открытый исходный код и свободную лицензию GPL-3-or-later;
- возможность использования телефона с внешним монитором и периферией.
Недостатки Phosh
У Phosh есть и ограничения. В первую очередь необходимо учитывать, что мобильный Linux значительно уступает Android и iOS по количеству оптимизированных приложений и поддерживаемых устройств.
Основные сложности связаны с:
- ограниченным количеством официально поддерживаемых смартфонов;
- зависимостью от аппаратных драйверов Linux;
- необходимостью адаптации приложений к небольшому экрану;
- различиями между мобильными Linux-дистрибутивами;
- неодинаковой поддержкой камер, модемов и других компонентов на разных устройствах.
Поэтому Phosh нельзя рассматривать как универсальную замену Android на любом смартфоне. Это часть экосистемы мобильного Linux, которая лучше всего раскрывается на устройствах с хорошей поддержкой Linux.
Phosh, GNOME и KDE Plasma Mobile
В мире мобильного Linux существует несколько графических оболочек. Phosh тесно связан с GNOME и GTK, тогда как KDE Plasma Mobile основана на технологиях KDE и Qt.
Обе системы используют Wayland и ориентированы на сенсорные устройства, но отличаются архитектурой, дизайном интерфейса и используемыми библиотеками.
Phosh может быть особенно интересен пользователям, которые предпочитают GNOME и GTK, хотят максимально интегрироваться с существующей Linux-инфраструктурой и использовать привычные технологии GNOME на мобильном устройстве.
Как попробовать Phosh
Phosh можно устанавливать из пакетов в некоторых Linux-дистрибутивах. Однако способ установки зависит от конкретной системы.
Для разработки и тестирования официальная документация также описывает запуск Phosh во вложенной Wayland-сессии на обычном компьютере. Это позволяет разработчикам экспериментировать с оболочкой, не имея физического Linux-смартфона.
Для сборки проекта из исходного кода используются стандартные инструменты Linux, включая Meson и Ninja. Исходный код распространяется в рамках свободной лицензии GPL-3.0-or-later.
Выводы
Phosh — это мобильная графическая оболочка для Linux, построенная вокруг Wayland и технологий GNOME. Она предназначена для смартфонов, планшетов и других устройств с сенсорным управлением.
В отличие от обычного рабочего стола Linux, Phosh изначально проектировался с учетом небольшого экрана, сенсорного ввода, автономной работы, блокировки устройства, уведомлений и мобильных функций.
Основой графической архитектуры является связка Phosh и Wayland-композитора Phoc. При этом оболочка использует большое количество стандартных Linux-технологий и взаимодействует с системными службами через D-Bus.
Phosh особенно важен для экосистемы мобильного Linux, поскольку позволяет различным дистрибутивам использовать общий пользовательский интерфейс. Он уже применяется в таких проектах, как PureOS, Mobian и Fedora Phosh.
Главное преимущество Phosh — возможность получить полноценный открытый Linux-интерфейс на мобильном устройстве без привязки к Android или iOS. Однако качество работы по-прежнему сильно зависит от конкретного смартфона, драйверов и состояния поддержки аппаратного обеспечения.
FAQ
Что такое Phosh простыми словами?
Phosh — это графическая оболочка Linux, созданная специально для смартфонов и других устройств с небольшими сенсорными экранами.
Phosh — это операционная система?
Нет. Phosh является графической оболочкой. Он работает поверх Linux и взаимодействует с другими компонентами операционной системы через Wayland, D-Bus и другие стандартные технологии.
На чем основан Phosh?
Phosh использует технологии GNOME и GTK, работает как Wayland-клиент и обычно используется вместе с Wayland-композитором Phoc.
Что такое Phoc?
Phoc — это Wayland-композитор, предназначенный для использования вместе с Phosh. Он отвечает за управление графическим выводом, окнами и устройствами ввода.
На каких смартфонах работает Phosh?
Phosh используется на различных Linux-смартфонах и поддерживаемых мобильных платформах. Среди наиболее известных устройств — Purism Librem 5 и PinePhone. Конкретная совместимость зависит от дистрибутива и аппаратной поддержки.
Можно ли установить Phosh на обычный компьютер?
Да. Phosh можно запускать в тестовой вложенной Wayland-сессии на настольном Linux-компьютере. Это прежде всего полезно для разработки и тестирования.
Использует ли Phosh GNOME?
Phosh использует технологии и системные компоненты экосистемы GNOME, но является отдельной мобильной оболочкой, а не просто обычным GNOME Desktop с измененной темой.
Есть ли в Phosh экранная клавиатура?
Сама оболочка Phosh не реализует экранную клавиатуру. Для этого используются отдельные решения, которые интегрируются с мобильной Linux-системой.
Поддерживает ли Phosh сенсорный экран?
Да. Сенсорное управление является одной из основных целей проекта. Интерфейс рассчитан на устройства с небольшими экранами и управлением пальцами.
Можно ли использовать Phosh с монитором и клавиатурой?
Да. Phosh предусматривает сценарии подключения мобильного устройства к внешнему монитору и периферии, хотя основной целью проекта остается мобильный интерфейс.
Чем Phosh отличается от Android?
Phosh — это графическая оболочка Linux, а Android представляет собой полноценную мобильную операционную систему со своей платформой приложений и системными компонентами. Phosh ориентирован на использование стандартной Linux- и GNOME-экосистемы.
Дополнительная информация:
- Официальный сайт Phosh: https://phosh.mobi/
- Официальная документация Phosh: https://world.pages.gitlab.gnome.org/Phosh/phosh/
- Документация для разработчиков Phosh: Getting started with Phosh development
- Исходный код Phosh: https://gitlab.gnome.org/World/Phosh/phosh
- Репозиторий Phosh на GitHub: https://github.com/PhoshMobi/phosh
- Документация для разработчиков приложений: Notes for Application Developers
- Страница Phosh на Википедии: https://ru.wikipedia.org/wiki/Phosh
Phosh 0.58: мобильная оболочка Linux получила улучшенные скриншоты и поддержку Flatpak
Phosh 0.52 — мобильная оболочка на базе GNOME с QR-кодами для точек доступа Wi-Fi
postmarketOS 25.12 включает GNOME 49, Plasma Mobile 6.5 и Phosh 0.51