Авторские статьи

Unity 8 Greeter.


Сотрудник Canonical Джош Аренсон (Josh Arenson) представил очень нужную наработку, технически называемую среди разработчиков "split greeter". Самое главное, что он, сам того не подозревая, проговорился о состоянии конвергенции. Ещё один шаг, сближающий десктопную и мобильную Ubuntu, а значит конвергенция не за горами.

Текущая ситуация.

В современных многопользовательских системах при входе в графическую оболочку нужно пройти проверку подлинности, (обычно) введя пароль на экране входа (login screen) или как его ещё зовут - приветствовальщик (greeter). Если пользователь оставляет сеанс без присмотра, то нужно показать блокировку экрана (lockscreen).

Дело в том, что в Unity 8 эти вещи заключены внутри самой оболочки (integrated lock-screen). Вот тут Джош спасибо тебе огромное за инфу! Мы тут ждём конвергенцию, единую кодовую базу, а у вас Unity 8 - "всё своё ношу с собой". Для тех кто не понял масштаб трагедии: Ubuntu Phone не использует мощь LightDM для входа в систему и юзает PAM (Pluggable Authentication Module) напрямую!

Но на десктопе есть реально сложные вещи: шифрованные папки домашних пользователей, переключение сессий, множественный вход. Всё это должен уметь greeter и LightDM это делает на десктопе.

Различные устройства с различным форм-фактором выдвигают различные требования и сложнейшая задача разработчиков выполнить все требования, не забывая про единую кодовую базу, единый пользовательский интерфейс и т.д.

Вам следует знать, что в Убунту есть Greeter, который является фронтэндом для LightDM (бэкенд), занимающийся уже стартом дисплейного сервера (Xorg, Mir), стартом пользовательского сеанса, аутентификацией пользователя через PAM и т.д.

Режимы.

Чтобы Greeter мог вести себя едино на различных устройствах, обладая единой кодовой базой, разработчики реализовали работу в разных режимах:

  • full-greeter. Первый и используемый по умолчанию режим full-greeter предназначен для случаев, когда LightDM не используется. Именно его вы видите в Ubuntu Phone сейчас при старте устройства или при блокировке экрана. В этом режиме не используется liblightdm и PAM юзается напрямую.
  • full-shell. Этот режим использует внешний Greeter, но продолжает использовать внутренний lockscreen когда пользователь блокирует сеанс. Режим разработан для телефонов, когда greeter показывают после старта устройства, но внутренний lockscreen начинает работу после первого логина в систему.
  • shell. Режим начинает сеанс оболочки (Unity 8) без внутреннего lockscreen. Оболочка взаимодействует с logind для переключения в greeter при блокировке пользователем экрана. В этом режиме будут работать десктопные Убунту, где блокировку экрана и начальную аутентификацию обрабатывает Greeter от Unity 8 (или сторонний).
  • greeter. В режиме greeter Unity 8 стартует как настоящий LightDM Greeter, выступая в качестве отдельного (stand-alone) входа в систему. Этот режим нужен текущим десктопным Убунту для запуска сеансов Unity 7, KDE, Xfce и т.д. Этот режим будет использоваться на телефонах в будущем для входа в систему с поддержкой зашифрованных домашних каталогов.

Вся соль этих режимов заключается в том, что изменения для их реализации реально небольшие. Код реализации лежит в плагинах, которые подгружаются при необходимости в зависимости от выбранного режима. Эта гибкость означает, что Canonical достаточно добавить пакет unity8-greeter в образ Убунту для десктопа, не трогая образ для Ubuntu Phone, и всё будет работать. Бонусом идёт факт, что все режимы используют код их фронтэнда, что сохраняет опыт взаимодействия (UX) с Greeter среди различных устройств.

Возможности для будущего.

Greeter активно развивается и весь дизайн полностью не завершён. Тем не менее, одну особенность реализуют в ближайшее время: запуск приложений из экрана приветствия Greeter. Для примера, можно разрешить пользователю сделать снимок с помощью камеры без разблокировки экрана. Так как устройство заблокировано, то приложение, запущенное из Greeter, не имеет доступа к данным пользователя, но ПО будет позволено сделать контент, который пользователь импортирует себе как только аутентифицируется.

Попробовать Unity 8 Greeter.

Работа активно ведётся над Greeter, но Джош утверждает, что сам его использует постоянно в своей работе без каких-либо проблем. Даже если что-то случится плохое, вернуться к старому приветствию не сложно. Рекомендуется только для опытных пользователей Ubuntu 15.04 и 15.10.

sudo add-apt-repository ppa:josharenson/unity8-greeter
sudo apt-get update
sudo apt-get install unity8-greeter

После рестарта вы должны увидеть будущего привратника.

Проблема.

Если что-то пошло не так, то вернуться к рабочему варианту просто. Попадите в терминал Ctrl + Alt + F6 и используйте команды.
sudo rm /usr/share/lightdm/lightdm.conf.d/51-unity-greeter.conf
sudo service lightdm restart

Если вы хотите полностью удалить изменения и вернуться к былому, то просто удалите PPA sudo ppa-purge ppa:josharenson/unity8-greeter

Видео от разработчика о новом Unity 8 Greeter.

Материалы:
Вход в LXC контейнер через Unity Greeter.
Unity 8 в LXC.
Черепашья конвергенция.

Дата последней правки: 2023-12-27 15:32:02

RSS vasilisc.com   


Разделы

Главная
Новости
Ворох бумаг
Видео Linux
Игры в Linux
Безопасность
Статьи об Astra Linux
Статьи о FreeBSD
Статьи об Ubuntu
Статьи о Snappy
Статьи об Ubuntu Phone
Статьи о Kubuntu
Статьи о Xubuntu
Статьи о Lubuntu
Статьи об Open Source
Карта сайта