Страницы

Поиск по вопросам

понедельник, 29 октября 2018 г.

Менеджер приложений против Центра приложений

В Ubuntu 16.04 по умолчанию запускается Менеджер приложений (он же "Ubuntu Software") вместо Центра приложений (он же "Ubuntu Software Center"), как было в 14.04.
Оказывается, они показывают пользователю разные приложения: Центр приложений знает gksu, а Менеджер приложений — нет!
Это так и задумано, что Менеджер приложений (который "Ubuntu Software" из 16.04) фильтрует приложения? Может, его надо как-то настроить?
Upd: До меня внезапно дошло, что Менеджер приложений дает в меню доступ к Программы и обновления. Это те же Программы и обновления, которые доступны из Параметры системы и из Центра приложений --> Правка --> Источники приложений...
Получается, что обе программы используют те же репозитории. Так почему отличаются результаты?
Upd2. Еще картинка: для Spyder3 Менеджер приложений дает оценку 3 звездочки от 3 голосовавших, несмотря на то, что по его же данным, 3 человека поставили ему 5 звездочек.


Ответ

Центр приложений — старая GUI-программа для управления установленным ПО, использовалась в Ubuntu до 16.04. Позже было решено отказаться от её дальнейшей разработки в пользу Менеджера приложений из проекта Gnome. В Ubuntu поставляется весьма модифицированная версия, благо внутренняя архитектура этой программы заточена под это. Сама она написана на Си и работает довольно шустро (в отличие от предыдущего центра приложений на Python), имеет развитую систему плагинов.
Вместе с тем, эти программы кардинально различаются своим подходом. Менеджер приложений Gnome (и Ubuntu) в качестве источника информации о ПО использует AppStream — БД с метаданными о компонентах программ в экосистеме СПО. Apt регулярно загружает её с зеркала обновлений по команде apt update или автоматически. В дистрибутивах основанных на Debian используется формат DEP-11
По некоторым причинам в настоящий момент в этой базе в основном представлена информация о программах, обладающих графическим пользовательским интерфейсом. А из-за того, что по большей части эта база собирается автоматизированным инструментом appstream-generator на основе .desktop файлов, справедлива импликация: "Если пакет с программой устанавливает .desktop файл со значком для меню, это приложение можно будет найти в AppStream".
Но на самом деле, в менеджере приложений всё равно применяется фильтр — он отображает в списке только программы с GUI, то есть те, что отмечены type=desktop-application. Предполагается, что если вам нужна консольная программа, гораздо проще поставить её напрямую с помощью Apt.
Выводы
Менеджер приложений использует AppStream — независящий от дистрибутива список приложений в мире Linux и СПО. Тем не менее, пакеты ставятся из своих обычных репозиториев, которые использует Apt.
Центр приложений использует инфраструктуру архива Debian или Ubuntu напрямую, не прибегая к помощи AppStream или DEP-11.
Полезности
Можно получить доступ к базе данных AppStream, хранящейся на компьютере, из командной строки с помощью утилиты appstreamcli из пакета appstream Сами списки в формате DEP-11 хранятся в каталоге /var/lib/app-info/yaml Впрочем, пользовательских обзоров вы там не найдёте (там только описания). Оценки программ загружаются с сервера reviews.ubuntu.com раз в три месяца, сразу все имеющиеся, комментарии — при открытии страницы с приложением. За это отвечает плагин /usr/lib/gs-plugins-9/libgs_plugin_ubuntu-reviews.so

По поводу gksu: у меня подключен репозиторий Debian unstable, а gksu.desktop перечислен в yaml оттуда, поэтому Менеджер приложений находит его в поиске. Тем не менее, стоит воздержаться от использования этой утилиты — она признана устаревшей и в будущем будет удалена

Комментариев нет:

Отправить комментарий