Дисплейный сервер mir: Unity (оболочка рабочего стола) — Википедия
Unity (оболочка рабочего стола) — Википедия
Unity — свободная оболочка для среды рабочего стола GNOME, разрабатываемая компанией Canonical для операционной системы Ubuntu. Проект был закрыт[2] после того, как вышла последняя версия 14 мая 2016 года. Но затем разработка продолжилась в рамках проекта Ubports[3].
Unity являлась средой по умолчанию в Ubuntu Netbook Edition версии 10.10. Она позволяет более эффективно использовать маленькие экраны нетбуков, благодаря, например, вертикальной панели для переключения между запущенными программами[4][5].
Изначально, в качестве оконного менеджера использовался Mutter, который затем был заменён на Compiz. Начиная с Ubuntu 11.04, Unity использовалась по умолчанию вместо классической оболочки GNOME[6][7][8]. Все стандартные приложения по-прежнему разработаны GNOME[9][10][11], но не самые свежие.
Unity — оболочка рабочего стола для GNOME.
Это не абсолютно новая среда рабочего стола. Оболочка рабочего стола — интерфейс, который вы видите. Unity будет использовать те же приложения и библиотеки GNOME, что используются сейчас. К примеру, GNOME shell — ещё одна оболочка для GNOME.
Оригинальный текст (англ.)
Unity is a desktop shell for GNOME. This is not the same as a totally new desktop environment. A desktop shell is the interface that you use. Unity will still use the same GNOME apps and libraries that the current desktop does. GNOME shell is an example of another shell for GNOME.
Комбинации клавиш Unity в Ubuntu 12.04 LTS
Вначале Марк Шаттлворт, Canonical планировал перенести Unity с оконной системы X на Mir[12][13] — разработку Canonical. Он мотивировал это незрелостью, небезопасностью Wayland[14]. В ответ один из разработчиков Wayland иронизирует[15] над тем, что больше ни один дистрибутив Linux пока не принял Unity, предполагая, что та же судьба может ожидать и новую разработку.
5 апреля 2017 года Марк Шаттлворт объявил[16] о решении вернуть Ubuntu к поставке GNOME в качестве основной оболочки рабочего стола. Более того, заявлено о прекращении инвестирования в разработку оболочки Unity 8, редакций Ubuntu для смартфонов и планшетов, а также в развитие режима convergence, предоставляющего средства для перехода мобильных устройств в десктоп-режим. Выпуск Ubuntu 18.04 LTS будет иметь графическую оболочку, поэтому для возврата на GNOME, перед LTS-релизом, у разработчиков остаётся лишь один промежуточный выпуск (17.10).
В качестве приоритетных направлений заявлены облачные технологии и Интернет вещей (IoT). При этом Canonical не отказывается от работы по дальнейшему усовершенствованию редакции Ubuntu для рабочего стола, но уже на базе штатного окружения GNOME. Поддержка ранее выпущенных релизов на базе Unity будет продолжена, так же как будут выполнены все обязательства перед партнёрами, связанные с распространением решений для рабочего стола и мобильных устройств.
С переходом на GNOME Ubuntu также оставляет в прошлом дисплейный сервер Mir, так как GNOME рассчитан на работу поверх Wayland. Напомним, что изначально планировалось сделать Ubuntu 18.04 первым LTS-выпуском, предлагающим по умолчанию пользовательский сеанс на базе оболочки Unity 8 и дисплейного сервера Mir. На смену Ubuntu Phone (Touch) готовилась платформа Ubuntu Personal, которая использует для поставки приложений технологию Snap вместо применяемых в Ubuntu Phone пакетов в формате Click). Большие ставки делались на проект Convergence, развивающий адаптивное окружение для мобильных устройств, которое при подключении к монитору, предоставляет полноценный рабочий стол и превращает смартфон в портативную рабочую станцию.
По словам Шаттлворта, он рассчитывал на то, что, будучи перспективными и свободными, идеи по развитию комбинированного рабочего стола на базе Unity будут оценены как сообществом, так и представителями индустрии, не довольными имеющимися закрытыми альтернативами. Но он ошибся в обоих направлениях. Сообщество расценило проект как фрагментацию, а не инновацию. А представители индустрии не воспользовались возможностью и посчитали, что «известная беда лучше ожидаемой неизвестности», или инвестировали в создание своих аналогов технологии Convergence. Unity 8 получился отличным продуктом, но судьба разработки находится в руках рынка и сообщества, которые определяют, остаться ему на плаву или исчезнуть.
В релизе Ubuntu 11.10 появился специально упрощённый вариант оболочки — Unity 2D — для обеспечения нормальной работы пользователей с устаревшими видеокартами[17]. Наряду с этим, решено исключить из состава дистрибутива классическую оболочку GNOME, которая присутствует в Ubuntu 11.04. Также возможна установка пакета с Unity 2D в Ubuntu 11.04.
Unity 2D был написан как плагин для Compiz[18], и использовал инструмент на базе OpenGL, названный Nux[19].
Unity 2D написана на C++ с использованием библиотеки Qt[20][21]. Конкретно, Unity 2D лишь заменяет главную панель, панель запуска и главное меню, и использует те же бэкэнд-компоненты[22][23].
В Ubuntu 12.10, 2D-версия стала недоступна. В репозиторий был загружен пустой пакет с Unity 2D, инсталляция которого при обновлении удаляет уже установленную версию. Поэтому поставить Unity 2D из репозитория в Ubuntu 12.10 больше будет нельзя[24].
Удаление Unity 2D не означает, что разработчики Ubuntu отказываются от запуска дистрибутива на устаревших системах.
Вместо этого пользователям будет представлена Unity 3D, запущенная с помощью специального видеодрайвера llvmpipe[25].
Также не стоит беспокоиться и пользователям Ubuntu 12.04, работающих с данной десктоп-оболочкой, поддержка Unity 2D будет по-прежнему осуществляться в течение всего жизненного цикла дистрибутива до апреля 2017 года.
Основные элементы интерфейсаПравить
- Панель запуска (Launcher)
- Позволяет запускать закреплённые на ней приложения, и переключаться между уже запущенными.
- Верхняя панель
- Панель, содержащая глобальное меню, системные индикаторы и индикаторы приложений.
- Главное меню (Dash)
- Меню, в котором можно воспользоваться поиском как по локальным (установленные приложения, файлы и папки, музыка), так и по удалённым (доступные для установки приложения, видео на YouTube).
- Глобальное меню (Global Menu)
- Отображает заголовок и, при наведении, для приложений, развёрнутых на весь экран, также отображаются кнопки управления окном.
- Линзы главного меню (Dash Lens) (старое название — Places)
- Вкладка главного меню, с помощью которой можно искать в отдельной категории:
- Поиск приложений;
- Поиск файлов и папок;
- Поиск видео;
- Поиск музыкальных композиций;
- Поиск фотографий;
- Поиск в социальных сетях.
- Производить поиск можно как и на вкладке линзы, так и с главного экрана главного меню через глобальный поиск.
Каждая линза должна иметь одну или несколько сфер, которые, по сути, являются поисковыми движками, их графическое представление — группы. Пример линзы содержащей несколько сфер — Приложения (Установленные и доступные в Центре приложений Ubuntu) и Музыка (локальная и музыка в интернет магазинах).[26]
- Индикаторы (Application Indicators)
- Отображают меню сеанса, время и дату, область уведомлений в правом верхнем меню экрана. Меню сеанса также используется для изменения статуса в IM и запуска Центра управления.
Unity подверглась значительной критике[27] в начале своего существования, из-за того что включённая в поставку с Ubuntu 11.04 версия была очень сыра и изобиловала ошибками[28].
Комитет по техническому развитию Ubuntu (Ubuntu Tech Board) утвердил на состоявшемся в марте 2013 года совещании придание сборке Ubuntu с десктоп-окружением GNOME статуса официального ответвления от Ubuntu. Изначально сборка Ubuntu с десктоп-окружением GNOME 3 была представлена летом прошлого года и распространялась под именем Gnomebuntu, но имела статус неофициального ответвления, развиваемого энтузиастами вне инфраструктуры Ubuntu.
Передача персональной информацииПравить
В версии Unity, использовавшейся в дистрибутиве Ubuntu 12.10 (выпущен Canonical), были добавлены предложения от магазинов (т. н. «shopping lens»). По состоянию на октябрь 2012 года, все поисковые запросы от пользователя посылались по незащищённому соединению на сайт productsearch.ubuntu.com,[29] который затем пересылал запрос в интернет-магазин Amazon.com для поиска релевантных товаров (позже были добавлены ebay и другие сайты). Amazon предоставлял изображение продукта, которое отсылалось напрямую пользователю по соединению HTTP (протокол изменён в сентябре 2013 года). Если пользователь переходил на сайт продавца и делал покупку, компания Canonical получала небольшую комиссию от сделки.[30]
Подобный механизм был подвергнут критике: поисковое поле рассматривается в первую очередь как средство поиска данных на собственном компьютере. Пересылка на внешние сервера поисковых запросов имеет сомнительную ценность для пользователя и может создать проблемы с безопасностью персональных данных. [29] Подобная функциональность включена по умолчанию,[29][30][31][32] вместо того, чтобы использоваться только после получения информированного согласия (opt-in). Многие пользователи не знают о подобном поведении и не отключают его.
23 сентября 2012 Марк Шаттлворт заявил о ценности такого поиска, объяснив, что «Home Lens» в Dash в будущем позволят находить что угодно и где угодно, и подключение к поиску магазинов является естественным шагом в развитии функции. Также он сказал, что анонимность сохраняется за счёт пересылки запросов через сервера Canonical.[29][33]
29 октября 2012 года EFF выступила с критикой встроенного поиска по магазинам. Организация рекомендовала разработчикам Ubuntu запрашивать согласие пользователя перед включением функциональности и сделать настройки приватности более подробными.[29][34]
В декабре 2012, Ричард Столлман заявил что Ubuntu содержит шпионские функции (spyware) и не должна использоваться людьми, поддерживающими свободное программное обеспечение. [35][36][37]
Альтернативные версии Ubuntu, такие как Kubuntu, Xubuntu, Lubuntu и некоторые другие не содержат подобной поисковой функциональности.
С сентября 2013 года используется анонимизированный протокол для пересылки изображений из магазина на компьютер пол
Вопросы и ответы про новый дисплейный сервер Mir.
Новый дисплейный сервер Mir стремительно ворвался в Ubuntu мир. С самого начала, со времён анонса Mir, не всё было гладко, особенно когда обиделись поклонники Wayland некорректным сравнением Mir с Wayland. Но разработка Mir, как паровоз, мчится дальше.
В почтовой рассылке разработчиков Убунту, в личных блогах и на официальных сайтах Canonical есть крупицы информации про Mir, который в будущем заменит Xorg на посту.
- Как новый дисплейный сервер Mir будет поддерживать старые видеокарты?
Ответ от разрабов таков: «Mir использует свободные драйвера, которые используются в данный момент в X11.На платформе Android используются родные андроид драйвера. Так что, если на desktop ваша видеокарта сейчас поддерживается в Xorg через какой-либо драйвер intel, ati, nouveau, то и в Mir видеокарта будет работать. «
- Был задан ещё вопрос о гибридных конфигурациях типа NVIDIA Optimus.
Это легко реализовать в Mir, так как xserver уже будет за кадром. Хорошая поддержка гибридных конфигураций зависит от ядра линукс и улучшения ожидаются в ядре 3.12. Затем нужно обеспечить поддержку RandR в Mir и предоставить UI для переключения. - Что будет в Ubuntu 13.10 Saucy Salamander?
Для тестирования перед будущим LTS выпуском, в Убунту 13.10 дефолтной оболочкой будет Unity 7, которая будет использовать Xorg через прослойку XMir. Предусмотрен режим fallback, когда можно использовать только Xorg и проприетарные драйвера NVIDIA и AMD.
Разработчики обещают возможность попробовать Unity 8, работающая с Mir, в отдельной сессии. - Что будет в Ubuntu 14.04 LTS?
В Ubuntu 14.04 LTS режим fallback будет не доступен и будет использоваться XMir, который будет поддерживаться в рамках релиза 5 лет. Нужно понять, что никто эксклюзивно для Mir не требует новых драйверов для видеокарт, нужен просто новый EGL в замен GLX. Производители видеокарт обещают реализовать EGL, так как это нужно всем, а не только Canonical.
- Что будет в Ubuntu 14.10?
Ubuntu 14.10 полностью перейдёт на Unity 8 и Mir без Xorg и без прослойки Xmir. - Как посмотреть используется ли сейчас у меня Mir в качестве дисплейного сервера или нет?
Следующие команды помогут в этом.ps aux | grep unity-system-compositor
grep -i xmir /var/log/Xorg.0.log
ls -l /var/log/lightdm/unity-system-compositor.log
- Что там про Mir и KDE?
Мартин Гресслинг (Martin Gräßlin), разработчик KDE и мантейнер KWin, поклонник Wayland и обиженный на Mir товарищ, который не видит будущего у KDE и Mir, по крайней мере пока.Проект Kubuntu не будет использовать Mir и останется на Xorg, несмотря на прозрачную работу Kubuntu через XMir.
Джонатан Риддел (Jonathan Riddell), лидер сообщества Kubuntu, сказал, что, несмотря на Xmir, поддержка графического сервера Mir включена всё равно не будет, так как перед разработчиками Kubuntu и так стоят непростые задачи по работе с последней Mesa + KWin. Лишние проблемы и прослойки только всё усложнят.
В будущем, возможно, Kubuntu сделает ставку на Wayland, чьи библиотеки уже есть в Ubuntu.
- Что там про Mir и Lubuntu?
Проект Lubuntu не будет использовать Mir и останется на Xorg, несмотря на прозрачную работу Lubuntu через XMir. Причина проста — Lubuntu ориентирована на работу на устаревшем оборудовании и пришлось бы отказаться от Openbox в пользу композитного менеджера и проиграть в быстродействии.Но на Mir крест никто не ставит и после релиза Ubuntu 14.04 LTS к данному вопросу обещают вернуться.
- Какая лицензия у Mir?
Сам сервер лицензирован под свободной GPLv3. Однако, чтобы помочь производителям GPU и SoC легче добавлять в проприетарные драйвера поддержку Mir, клиентские и серверные библиотеки для разработки (development libraries) лицензированы под менее ограничительной лицензией LGPLv3.
Показана работа оболочек Unity 7, GNOME 3, KDE, XFCE и LXDE без какой-либо переделки со стороны соответствующих разработчиков в связке XMir + Mir.
Выводы.
Для Ubuntu 13.10 Saucy Salamander выпала революционная роль — быть полигоном для Unity 8 и Mir. Unity 8, как ступенька к Unity Next, и Mir принесут единение в разношёрстный мир вычислительных устройств со своими различными архитектурами, форм-факторами и возможностями. Когда всё стихнет, это можно будет образно сравнить с выходом на орбиту в космосе, когда после окончания разгона вокруг становится тихо и безмятежно.
Но сейчас, всё не так. Сейчас старт, пламя вырывается из сопел, всё бурлит и меняется каждую секунду.
Вудро Вильсон как-то сказал: «Если хочешь нажить врагов, попробуй что-нибудь изменить«.
Canonical — инноватор и с этом трудно не согласиться. Медленное, классическое развитие любого линукс дистрибутива, когда берутся более новые версии всё тех же компонент и помещаются в новый релиз, было заменено на новое видение всей ситуации. Цель Убунту — объединить все устройства под единой системой, чтобы навыки работы в одной легко переносились на другую. Домашнего пользователя не должно волновать различие между ARM и x86. Ему не нужно знать как расшифровывается SoC и с чем его едят.
Такое радикальное изменение всей ситуации не могло не нажить противников. Но задайтесь вопросом, рано или поздно придётся всем меняться, так может лучше раньше?
Дополнительные материалы:
Mir и Android.
Mir и Android GPU.
Планы разработчиков о Mir и Unity 8.
Планы разработчиков на Ubuntu 13.10 Saucy Salamander.
Новый формат пакета, ориентированный на мобильные платформы.
Разработчик Стивен Уэбб рисует своё видение будущего Ubuntu Desktop.
Дата последней правки: 2013-08-05 15:47:11
Почему выбор дисплейного сервера не так важен?
Когда только Canonical начала разрабатывать свой дисплейный сервер Mir, на этом поле уже были работающий, но старый X и новенький, но вяло разрабатываемый Wayland. Третий лишний! — решила часть пользователей. Кто вам будет писать писать заново драйвера? — неверно рассуждала другая часть, ибо многим разработчикам нужно в драйверах лишь новый интерфейс EGL вместо старого GLX. Разработчик Роберт Анцел (Robert Ancell) повествует, о таком компоненте как дисплейный сервер.
Роберт сетует, что такой компонент как дисплейный сервер в дисплейном стеке занимает слишком много внимания пользователей, хотя он им наименее важен.
Современный дисплейный стек состоит из 5 главных компонент:
- Железо (Hardware)
- Драйвер (Driver)
- Дисплейный сервер (Display Server / Shell)
- Тулкит (Toolkit / Platform API)
- Приложения (Applications)
Над аппаратным обеспечением (Hardware) у нас нет власти, кроме выбора что покупать.
Над драйверами (Driver) чуть больше контроля — от закрытых драйверов от производителя до открытых. И тут происходит вечное перетягивание каната между производителями, которые закрытыми драйверами прячут свои наработки в железе, и свободным сообществом, которое хочет возможности изменять и улучшать драйвера.
Мы слишком много времени жили с дисплейным сервером X в этом мире открытых исходников. Сейчас из нового поколения дисплейных серверов есть соперники друг другу: Mir и Wayland.
Приложения (Applications) используют тулкиты и API (Toolkit / Platform API) для получения доступа к графической функциональности. Есть множество замечательных тулкитов, таких как Qt и GTK, которых можно рассматривать как завершённый API к платформе, что замечательно для прикладных программистов.
Читая новости в Интернете, может сложиться неверное мнение, что самая важная часть в общей системе — это дисплейный сервер. На самом деле это всего лишь часть и причём не имеющая большого значения:
- Приложения получают доступ к дисплейному серверу через тулкиты. Все современные тулкиты поддерживают множество backend, так как они работают на множестве операционных систем. К примеру, вы можете взять приложение, написанное на GTK, и запустить в MS Windows.
- Железо и драйвера становятся для нас всё более и более обобщёнными.
Видеокарты используются ради узко специализированной функциональности и OpenGL использует ограниченный набор функций. Современные видеокарты обладают большим количеством процессоров (их может задействовать OpenCL) и OpenGL занимается обработкой шейдеров и содержимого буфера.
В результате, дисплейный сервер не важен приложениям, так как тулкиты прячут, в хорошем смысле этого слова, детали работы с ним. Для драйверов так же не важен дисплейный сервер, так как они через свои интерфейсы предоставляют некоторые операции, такие как управление буферами и шейдерами, а кто вызывает эти операции им не важно.
Что же важно?
- Важно обладать открытыми драйверами. Потому что нужно иметь возможность исправлять различные нестыковки в драйверах. К примеру, когда дисплейного сервера Б касается некий баг, а дисплейного сервера А — нет. Подобное наблюдалось при обеспечении работы Mir с драйверами Андроида. Поскольку их использовал до сего момента только один SurfaceFlinger, есть пару ошибок, если вы делаете те же вещи, но по-другому.
Просто отправка отчёта о баге не может заменить возможность самому быстро исправить баг.
- Shell теперь имеет бо́льшее значение. Сейчас идёт отступление от парадигмы WIMP (windows, icons, menus, pointer). На рынке множество устройств с различным форм-фактором и от shell зависит то, что может приложение выразить и разные shell делают это по разному.
Роберт надеется, что дал некоторое представление о современном дисплейном стеке, и показал, что их работа в Canonical над его средней частью полна инноваций, но не принесёт проблем в важные для пользователей компоненты.
Как многие справедливо пишут — Xorg стар и не соответствует современным реалиям. Сейчас многое делается на стороне тулкитов и современным линукс дистрибутивам давно нужен новый дисплейный сервер, который учитывает новомодные тенденции.
Дополнительные материалы:
Дисплейный сервер Mir будет по умолчанию в Ubuntu 16.04 LTS.
Дебют Mir 0.1. 4.
Вопросы и ответы про новый дисплейный сервер Mir.
Дата последней правки: 2014-05-02 12:00:34
Установка и тестирование Mir в Ubuntu 13.10.
Ситуация со следующим релизом Ubuntu 14.04 LTS вынуждает Canonical внедрять свой новый дисплейный сервер Mir уже в Ubuntu 13.10 Saucy Salamander. Если не внедрить Mir сейчас, то придётся ждать до релиза Ubuntu 14.10, чтобы не трогать стабильный и долгоподдерживаемый 14.04 LTS. Но тут рядом планы Ubuntu Touch, которая собирается выйти на рынок весной 2014 года и нужна единая кодовая база. Поэтому Canonical, увеличив штат сотрудников, интенсивно и агрессивно работает над Mir’ом, что даёт право директору по развитию Unity и Mir Оливеру Райсу (Oliver Ries) считать, что Mir удовлетворяет критериям качества, предъявляемым к компонентам, включаемые в релиз.
Но следует учитывать, что переход с Xorg на Mir будет плавным. В Ubuntu 13.10 будет по умолчанию использоваться Mir, но Unity 7 будет использовать Xorg. Взаимодействие X.Org-сервера и Mir будет построено на основе прослойки XMir, обеспечивающей трансляцию ввода и вывода между Mir и X-сервером. Так же будет предусмотрен режим fallback, если используются проприетарные драйвера NVIDIA и AMD. Дело в том, что мировое сообщество просит от данных вендоров внедрения EGL вместо GLX в их закрытых драйверах и как только это будет сделано, то Mir, Wayland и другие проекты смогут легко отойти от Xorg.
Только с Ubuntu 14.10 не будет ни прослойки XMir, ни Xorg. Mir и Unity 8 будут использовать EGL в драйверах (свободных и проприетарных) NVIDIA, AMD, Intel и другие.
Сейчас есть возможность попробовать работу нового дисплейного сервера Mir в Ubuntu 13.10 Saucy Salamander.
Актуальная Ubuntu 13.10.
Сначала не забудьте обновиться до актуального состояния.
sudo apt-get update && sudo apt-get dist-upgrade
Удаление проприетарных драйверов.
К сожалению, из-за причин, описанных выше, проприетарные драйвера нужно будет удалить и использовать свободные драйвера для вашей видеокарты.
Штатно с помощью Программы и обновления переключитесь на свободные драйвера и удалите проприетарные.
Удалите проприетарные драйвера AMD: sudo apt-get remove --purge fglrx*
в Терминале.
Удалите проприетарные драйвера NVIDIA: sudo apt-get remove --purge nvidia*
в Терминале.
Для тестов, если это возможно, лучшим вариантом будет использовать графику от Intel.
Обязательно перезагрузитесь.
Установка Mir.
Добавьте PPAsudo add-apt-repository ppa:mir-team/system-compositor-testing
Нужно создать файл /etc/apt/preferences.d/50-pin-mir.pref с помощью sudo -e /etc/apt/preferences.d/50-pin-mir.pref
и добавить содержимое:
Package: * Pin: origin "private-ppa.launchpad.net" Pin-Priority: 1001 Package: * Pin: release o=LP-PPA-mir-team-system-compositor-testing Pin-Priority: 1002
Обновите списки и установите Mir — sudo apt-get update && sudo apt-get dist-upgrade
в Терминале.
Перезагрузитесь и вы сразу поймёте по двум курсорам мыши, что используется Mir: чёрный аппаратный курсор и белый программный. Это временный баг, который до сих пор не исправлен. Его скоро устранят или заменят на логотипчик Mir.
Чтобы точно определить используется ли Mir вместо Xorg, нужно запустить команду ps afx | grep unity-system-compositor
в Терминале.
Удаление Mir.
Есть два способа избавиться от Mir в вашей системе:
- Временный. В файле /etc/lightdm/lightdm.conf.d/10-unity-system-compositor.conf закомментируйте строку type=unity и перезапустите lightdm —
sudo restart lightdm
- Навсегда. Установите ppa-purge и с помощью него удалите репозиторий с Mir —
sudo apt-get install ppa-purge && sudo ppa-purge ppa:mir-team/system-compositor-testing
. Желательно, но не обязательно, после избавления от репозитория Mir обновиться, чтобы быть уверенным на 99,99% что вы нормально откатились назад —sudo apt-get update && sudo apt-get dist-upgrade
.
Впечатление.
Должен сознаться, что я рискнул попробовать Mir со своей видеокартой nVidia GeForce GT 520 и свободными драйверами nouveau, но у меня не получилось. LightDM стартовал нормально и корректно без артефактов. Видел два курсора, намекающих на использование Mir, но Unity не запускалась корректно и не было полного захода в систему. У меня есть тестовый пользователь в системе, которому не сложно удалить все конфигурационные файлы в домашней папке, если есть сомнения, что какие-либо конфы могут помешать. Но чистый запуск Unity 7 + Mir из под тестового пользователя не был до конца удачным.
Но многие авторы технических изданий пишут об отличных впечатлениях при работе в среде под управлением Mir. Например, Джек Валлен (Jack Wallen) так описывает своё впечатление: «Я предположил, что в виду ранней стадии проекта Mir, его тестирование будет чередой аварий и ошибок. Верите или нет, но я был приятно удивлён зрелостью и стабильностью Mir.»
Джек Валлен считает, что несмотря на ту критику и сгустившиеся тучи, разработчиков Mir можно только похвалить. Они смогли за короткий срок сделать очень надёжный и годный к употреблению дисплейный сервер, используя тот факт, что в современном мире в старом Xorg многое уже делалось «этажом выше» в тулкитах. Поэтому «убийцу X» не нужно было писать ещё 30 лет.
Чтобы заинтересовать вас попробовать Mir в Ubuntu 13.10, рекомендую глянуть одно из последних видео. В целом работа системы проходит гладко и даже прозрачные окна и запущенные 4 видеофайла не вызывают проблем у Mir, даже если вывести их всех в режиме Spread.
Мировые новости:
Mir и Android.
Mir и Android GPU.
Планы разработчиков о Mir и Unity 8.
Планы разработчиков на Ubuntu 13.10 Saucy Salamander.
Разработчик Стивен Уэбб рисует своё видение будущего Ubuntu Desktop с Mir.
Вопросы и ответы про новый дисплейный сервер Mir.
Дата последней правки: 2013-08-08 23:17:14
Разработчики представили дисплейный сервер Mir 1.
0 для IoT
Оглавление (нажмите, чтобы открыть):
Разработчики представили дисплейный сервер Mir 1.0 для IoT
Форум системных администраторов
Форум сообщества системных администраторов и просто людей, которым не безразличен их компьютер.
- Темы без ответов
- Активные темы
- Поиск
- Текущее время: 10 ноя 2020, 22:01
- Часовой пояс: UTC+06:00
Доступен дисплейный сервер Mir 1.0
Доступен дисплейный сервер Mir 1.0
Сообщение [Ботя] » 21 сен 2020, 21:30
———
Размещено: Сегодня, 20:11
Представлен релиз дисплейного сервера Mir 1.0, разработка которого продолжается компанией Canonical, несмотря на отказ от развития оболочки Unity и редакции Ubuntu для смартфонов. Mir остаётся востребован в проектах Canonical и теперь позиционируется как решение для встраиваемых устройств и интернета вещей (IoT). Пакеты для установки подготовлены для Ubuntu 16.04/18.04/18.10 (PPA) и Fedora 27/28/29.
Релиз дисплейного сервера Mir 1.5
Несмотря на отказ от оболочки Unity и переход на Gnome, компания Canonical продолжает разработку дисплейного сервера Mir, релиз которого под версией 1.5 состоялся недавно.
Среди изменений можно отметить расширение прослойки MirAL (Mir Abstraction Layer), используемую для ухода от прямого обращения к серверу Mir и абстрагирования доступа к ABI через библиотеку libmiral. В MirAL была добавлена поддержка свойства application_id, возможность обрезания окон по границам заданной области и обеспечена поддержка установки серверами на базе Mir переменных окружения для запуска клиентов.
Пакеты подготовлены для Ubuntu 16.04, 18.04, 18.10, 19.04 и Fedora 29 и 30. Код распространяется под лицензией GPLv2.
Canonical рассматривает Mir как решение для встраиваемых устройств и интернета вещей (IoT). Также Mir может использоваться как композитный сервер для Wayland.
кто-то это использует для встраиваемых устройств и интернета вещей?
Mir 1.0 появится в Ubuntu 17.10, получит поддержку клиентов Wayland
Из блога разработчика Mir и сотрудника Canonical Алана Гриффитса (Alan Griffiths) стало известно, что релиз графического сервера Mir 1.0 получит поддержку Wayland-клиентов и по-прежнему ожидается в составе Ubuntu 17.10 «Artful Aardvark».
Несмотря на резкое изменение планов Canonical по Ubuntu для десктопов и смартфонов, затронувшее и графический сервер компании — Mir, — в ближайшее время ожидается выпуск Mir 0.27. В самой Canonical главной целью для Mir остаётся Ubuntu Core — Linux-платформа для интернета вещей (и крупных облачных инсталляций с контейнерами). Вне Canonical этот графический сервер используют Open Source-проекты, продолжающие развитие Ubuntu для смартфонов: UBports и Yunit.
Ближайшую версию Mir — 0.27 — не будут выпускать для Ubuntu 17. 04, её тестируют только для Ubuntu 17.10, к моменту финального выпуска которой ожидается и релиз Mir 1.0. В Mir 0.27 появятся новые API, необходимые для разработки так называемой «платформы Mir» (mir-platform) вне репозитория самого Mir, — это позволит проектам вроде UBports формировать такие платформы, как mir-on-android, без необходимости создавать форк Mir. Также Алан сообщает, что в релизе Mir 1.0 больше нет планов убирать устаревшие функции libmirclient ABI, но ведётся «работа над тем, чтобы клиенты Wayland поддерживались напрямую».
IoT Graphics: Mir Release 1.0
by Alan Griffiths on 21 September 2020
The Mir team is pleased to announce the milestone release of Mir 1.0.0. This is the first major release targeted at IoT device makers and enthusiasts looking to build the next-generation of graphical solutions.
Mir is a display server and is used by other projects to draw graphics on the screen. The Mir team have created mir-kiosk, a fully functional kiosk implementation that satisfies many IoT-related use cases: Running a kiosk on Ubuntu Core showcases a set of Qt applications as examples apps you could run on a kiosk.
The fast, open and secure display server
Whether for building a device or for writing a shell for the desktop, Mir can give you a graphics stack that is fast, light, and secure. The Mir graphical stack works across different graphics platforms and driver models and is easy to integrate into your kiosk, digital signage, or purpose built graphical solution. It was first conceived over 6 years ago as part of an initiative by Canonical to unify the graphical environment across all devices, including desktop, TV, and mobile devices and continues to be developed with new features and modern standards.
Applying Mir to the Internet of Things
Many types of device need to provide some sort of graphical output or display to the user. Some examples include digital signage, interactive kiosks, automotive in-car entertainment gateways, smart meters, and the screens seen on everything from washing machines to smart thermostats. All of these need to output graphics to a display but that it is not always easy in an embedded environment.
Linux is one of the most popular OS choices for manufacturers and solution providers to use in IoT devices and with it there are a few options available for graphical environments. From custom software to drive the display, through direct frame buffer access with toolkits such as Qt, to a full X windowing server.
Mir allows device makers to use a well-defined, efficient, flexible, and secure platform for their graphical environment.
Why Wayland?
Wayland is intended as a simpler replacement for X, easier to develop and maintain…
…Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol.
https://wayland.freedesktop.org/
Historically, graphical user interfaces on the Linux platform have been powered by the X windowing system. X has a long and successful history and it has served the purposes of both system level and application level UI well for more than three decades. However, users nowadays expect a more consistent, integrated and secure user experience than is possible to offer on top of the X windowing system.
The X11 protocol (used by X) was not designed with security in mind and a malicious application can obtain information from other running X11 applications. For instance X11 servers do not protect sensitive information like keystrokes between applications using them.
Mir has been designed from the ground-up with security in mind. To meet the needs of today’s users, Mir avoids the X11 protocol and uses Wayland. Each application talks exclusively to the Mir server through its own connection that is both secure and robust against attack. Wayland is the de facto successor to X11 and is designed to address the problems that have proved intractable with the X windowing system.
Applications that can use Wayland directly and will work with Mir include those built with GTK3/4, Qt5 and SDL2.
com/embed/dTfAQPY7s-U» frameborder=»0″ allowfullscreen=»»/>
Using Mir
For more about developing graphical snaps for IoT applications, including tutorials for creating your own snaps, see: mir-kiosk: a project that uses Mir
Developers using Mir will find it packaged and available on Ubuntu, Fedora, Arch and (soon) Debian. The latest Mir release is available for all supported Ubuntu series from the Mir team’s “release PPA”:
sudo apt-add-repository —update ppa:mir-team/release
Выпуск дисплейного сервера Mir 0.28 c начальной поддержкой Wayland
Представлен релиз дисплейного сервера Mir 0.28, разработка которого продолжается компанией Canonical, несмотря на отказ от развития оболочки Unity и редакции Ubuntu для смартфонов. Mir остаётся востребован в проектах Canonical для встраиваемых устройств и интернета вещей ( IoT ). Пакет с Mir 0.28 одобрен для включения в репозиторий Ubuntu 17.10, который находится на стадии заморозки перед релизом.
- Перелицензирование кодовой базы. Лицензия на код Mir изменена с GPLv3 на связку «GPLv2 или GPLv3» для сервера и с LGPLv3 на «LGPLv2 или LGPLv3» для клиентских компонентов;
- Обеспечена начальная поддержка работы клиентов Wayland, что позволяет организовать запуск Wayland-приложений в окружении Mir, используя Mir в качестве композитного сервера для Wayland;
![](/800/600/https/sun9-56.userapi.com/c629327/v629327238/2bc2b/4X4LfKfvNIo.jpg)
Релиз дисплейного сервера Mir 1.2
Компания Canonical выпустила новую версию дисплейного сервера Mir 1.2.
- Новый пакет libmirwayland-dev, являющийся первой итерацией API для включения оболочек на базе Mir (для поддержки собственных расширений Wayland).
- Несколько связанных дополнений для API MirAL.
- В WaylandExtensions была добавлена поддержка регистрации собственных расширений Wayland.
- Новый класс MinimalWindowManager, предоставляющий применяемые по умолчанию настройки управления окнами.
- Продолжена работа над экспериментальной поддержкой X11. Теперь при необходимост
Mir — Дисплейный сервер Ubuntu
В начале Canonical планировали перейти на Wayland, потом были долгие раздумья что вообще делать с дисплейным сервером. Но сейчас всё стало ясно — у Ubuntu будет свой дисплейный сервер.
Mir — это своя альтернатива X и Wayland от Canonical. Данный дисплейный сервер будет тесно интегрирован с обновлённой оболочкой Unity, а сам он будет полностью кроссплатформенный, так как будет использоваться на всех устройствах, на которые ориентируются разработчики Ubuntu (компьютеры, планшеты, телефоны и телевизоры).
Причина разработки собственного дисплейного сервера проста — существующие решения не позволяют полностью реализовать задуманные идеи без громоздких доработок, которые отрицательно скажутся на впечатлении и качестве продукта в целом. Дисплейный сервер X не подходит из за того, что он значительно устарел, а Wayland, как считают разработчики Ubuntu, придётся дорабатывать (в Canonical решили, что проще написать свой сервер с нуля).
Планы у Canonical довольно грандиозные, вот только придётся проделать колоссальную работу (хоть разработка Mir и идёт в еще с июня прошлого года). Сложность заключается не только в разработке дисплейного сервера, нужно ведь ещё и убедить производителей графических чипов заняться поддержкой новой системы в их драйверах.
Планируется, что уже в мае 2013-го года Mir будет представлен на обозрение. К октябрю же планируется включить его в состав сборок для телефонов и планшетов как замену SurfaceFlinger, который используется в текущих сборках Ubuntu Touch. Окончательное завершение работы планируется в апреле 2014-го, к выходу Ubuntu 14.04 LTS.
Больше подробностей вы найдёте на официальной Wiki-странице: wiki.ubuntu.com.
Ну и напоследок — демонстрация работы Mir. В первом видео демонстрируется работа Mir вместе с Ubuntu Touch на Nexus 7:
На втором видео показана работа Unity на базе X-сервера, интегрированного в Mir:
Друзья, а вы что думаете по поводу такого решения Canonical. Осилят ли?
Хотите приобрести МФУ KYOCERA? Тогда вам на сайт куосера.рф!
typedef enum MirWindowAttrib | MirWindowAttrib | ||
Атрибуты окна, которые клиент и сервер / оболочка могут захотеть получить или установить по сети.![]() | |||
ЬурейеЕ перечисление MirWindowType | MirWindowType | ||
ЬурейеЕ перечисление MirWindowState | MirWindowState | ||
ЬурейеЕ перечисление MirWindowFocusState | MirWindowFocusState | ||
ЬурейеЕ перечисление MirWindowVisibility | MirWindowVisibility | ||
ЬурейеЕ перечисление MirLifecycleState | MirLifecycleState | ||
ЬурейеЕ перечисление MirPowerMode | MirPowerMode | ||
ЬурейеЕ перечисление MirOutputType | MirOutputType | ||
typedef enum MirPromptSessionState | MirPromptSessionState | ||
typedef enum MirPixelFormat | MirPixelFormat | ||
32-битные форматы пикселей (8888): порядок компонентов в перечислении соответствует порядку компонентов, поскольку они были бы записаны в виде целого числа, представляющего значение пикселя этого формата .![]() | |||
typedef enum MirOrientation | MirOrientation | ||
Направление относительно «естественной» ориентации дисплея. Подробнее … | |||
typedef enum MirMirrorMode | MirMirrorMode | ||
Зеркальное отображение оси относительно «естественной» ориентации дисплея. Подробнее … | |||
ЬурейеЕ перечисление MirOrientationMode | MirOrientationMode | ||
ЬурейеЕ перечисление MirEdgeAttachment | MirEdgeAttachment | ||
ЬурейеЕ перечисление MirPlacementGravity | MirPlacementGravity | ||
Контрольная точка для выравнивания поверхности относительно прямоугольника.![]() | |||
typedef enum MirPlacementHints | MirPlacementHints | ||
Подсказки позиционирования для выравнивания окна относительно прямоугольника. Подробнее … | |||
typedef enum MirResizeEdge | MirResizeEdge | ||
Подсказки по изменению размера окна. Подробнее … | |||
typedef enum MirFormFactor | MirFormFactor | ||
Форм-фактор, связанный с физическим выходом.Подробнее … | |||
typedef enum MirSubpixelArrangement | MirSubpixelArrangement | ||
Физическое расположение субпикселей на физическом выходе.![]() | |||
typedef enum MirShellChrome | MirShellChrome | ||
Корпус хром. Подробнее … | |||
typedef enum MirPointerConfinementState | MirPointerConfinementState | ||
Ограничение указателя.Подробнее … | |||
typedef enum MirOutputGammaSupported | MirOutputGammaSupported | ||
Поддерживает гамма-коррекцию. Подробнее … | |||
ЬурейеЕ int64_t | MirInputDeviceId | ||
ЬурейеЕ перечисление MirPointerHandedness | MirPointerHandedness | ||
ЬурейеЕ перечисление MirPointerAcceleration | MirPointerAcceleration | ||
MirPointerAcceleration описывает способ фильтрации движения указателя: Подробнее.![]() | |||
typedef enum MirTouchpadClickMode | MirTouchpadClickMode | ||
MirTouchpadClickMode настраивает, как сама сенсорная панель должна генерировать события кнопки указателя. Подробнее … | |||
typedef unsigned int | MirTouchpadClickModes | ||
typedef enum MirTouchpadScrollMode | MasterScrollMode | MasterScrollMode | |
ЬурейиХ неподписанный Int | MirTouchpadScrollModes | ||
ЬурейиХ неподписанный Int | MirInputDeviceCapabilities | ||
ЬурейеГо перечисление MirTouchscreenMappingMode | |||
Режимы отображения для устройств с сенсорным экраном.![]() | |||
typedef void * | MirEGLNativeWindowType | ||
typedef void * | MirEGLNativeDisplay | ||
ЬурейаЯ структура MirSurface | MirWindow | ||
ЬурейеЙ структуру MirSurfaceSpec | MirWindowSpec | ||
ЬурейеЙ структуру MirScreencast | MirScreencast | ||
ЬурейеЙ структуру MirScreencastSpec | MirScreencastSpec | ||
typedef struct MirPromptSession | MirPromptSession | ||
typedef struct MirBufferSt рассверлить | MirBufferStream | ||
ЬурейуЮ структуру MirPersistentId | MirWindowId | ||
ЬурейеЙ структуру MirBlob | MirBlob | ||
ЬурейеЙ структуру MirDisplayConfig | MirDisplayConfig | ||
ЬурейаЯ структура MirError | MirError | ||
ЬурейеЙ структуру MirPresentationChain | MirPresentationChain | ||
ЬурейеЙ структуру MirBuffer | MirBuffer | ||
ЬурейеЙ структура MirRenderSurface | MirRenderSurface | ||
typedef struct MirOutput | MirOutput | ||
Дескриптор для выходного соединения тион.![]() | |||
typedef struct MirWaitHandle | MirWaitHandle | ||
Возвращается асинхронными функциями. Подробнее … | |||
typedef struct MirPlatformMessage | MirPlatformMessage | ||
typedef void (* | MirConnectedCallback | MirConnectedCallback клиент) Обратный вызов, передаваемый при отправке запроса mir_connect.Подробнее … | |
typedef MirConnectedCallback mir_connected_callback | MIR_FOR_REMOVAL_IN_VERSION_1 («Использовать вместо MirConnectedCallback окно MirConnectedCallback») | ||
) | |||
Обратный вызов, который будет передан при вызове оконных функций: Подробнее .![]() | |||
typedef void (* | MirBufferStreamCallback) (MirBufferStream * stream, void * client_context) | ||
Обратный вызов, который необходимо передать при звонке: Подробнее… | |||
typedef void (* | MirWindowEventCallback) (MirWindow * window, MirEvent const * event, void * context) | ||
Обратный вызов для обработки оконных событий. Подробнее … | |||
typedef void (* | MirLifecycleEventCallback) (соединение MirConnection *, состояние MirLifecycleState, void * context) | ||
Обратный вызов вызывается при запросе события жизненного цикла / обратного вызова работающий сервер.Подробнее … | |||
typedef void (* | MirPingEventCallback) (соединение MirConnection *, серийный номер int32_t, void * context) | ||
Обратный вызов вызывается, когда сервер проверяет отклик на запрос. Подробнее … | |||
typedef void (* | MirDisplayConfigCallback) (соединение MirConnection *, void * context) | ||
Обратный вызов вызывается при изменении конфигурации дисплея.Подробнее … | |||
typedef void (* | MirClientFdCallback) (MirPromptSession * prompt_session, size_t count, int const * fds, void * context) | ||
Callback дескрипторы файлов клиента завершаются. Подробнее … | |||
typedef void (* | MirWindowIdCallback) (MirWindow * window, MirPersistentId * id, void * context) | ||