Одно из моих хобби — находить и тестировать интересные проекты с открытым кодом на Github (реже на публичной части Gitlab). Одна из моих находок — это менеджер пакетов Bauh, о котором я хочу рассказать.
Что это и зачем оно мне?
Bauh представляет собой графическую оболочку, написанную на PyQt5 и предназначенную для управления пакетами программного обеспечения практически в любом дистрибутиве Linux. Да, у вас уже есть Pamac/Synaptic/Dnfdragora, и может быть даже вы используете Gnome Software или Discover, но Bauh вам всё равно не помешает. Почему? Потому что это способ собрать воедино и централизованно управлять сразу несколькими типами самодостаточных пакетов в Linux. И не только. Вот список форматов, которые поддерживаются в Bauh:
Flatpak
Snap
AppImage
Arch AUR
Debian
Web
Интересно, не правда ли? Особенно последний пункт... Но, обо всём по порядку. Как только вы нажмёте значок с шестерёнкой и попадёте в окно настроек Bauh, то скорее всего вы увидите, что в вашей системе прямо сейчас поддерживаются не все форматы пакетов.
Это абсолютно нормально. Едва ли вам получится собрать фулл-хаус (хотя бы из-за невозможного сочетания DEB+AUR), но заставить работать одновременно 5 из 6 поддерживаемых в Bauh форматов вполне реально. Наведите мышь на красный знак вопроса, и Bauh подскажет вам, чего именно не хватает. Я для теста использовал свежую версию Manjaro, в которой "из коробки" уже были и Flatpak, и Snap, поэтому потребовалось доустановить только пакеты для включения пункта Web.
Кстати, вот они:
python-beautifulsoup4
python-lxml
Итак, всё установлено, можно продолжать.
Что я получаю?
Bauh — не просто оболочка, а полноценный магазин приложений. В том смысле, что его полки уже наполнены товаром, и вам дополнительно не надо искать и подключать какие-либо источники. Уже добавлены Flathub и Snap Store и вдобавок доступен модерированный список пакетов с сайта AppImage Hub. Насчёт последних стоит заметить, что не все пакеты с хаба AppImage будут отображаться в поиске Bauh, так как наш магазин отсекает сборки, у которых нет стабильных релизов в Git. Список прошедших проверку пакетов можно посмотреть тут. Более того, вы можете нажать "кнопку с гамбургером", выбрать пункт Установить файл AppImage и скормить Bauh пакет, который вы ранее скачали самостоятельно. Пакет зарегистрируется в меню вашего рабочего стола, станет отображаться в списке программ внутри Bauh, а исходный файл *.appimage будет перемещён в $HOME/.local/share/bauh/appimage/installed. Да, если для такого приложения Bauh найдёт более новую версию на упомянутом выше хабе, то вы получите возможность обновить пакет. Круто? Ещё бы!
Удобство Bauh заключается в том, что вы можете выбирать, откуда именно ставить приложения. Популярные программы, вроде того же плеера VLC, обычно присутствуют сразу в нескольких источниках. На картинке выше видно, что VLC нашёлся аж в четырёх разных видах. Ничто не мешает поставить их все (вдруг вам надо, мало ли)...
Теперь пару слов о веб-приложениях. Это внутренняя функция Bauh, которая позволяет делать из некоторых веб-сайтов что-то, внешне похожее на десктопное приложение. Нельзя сказать, что Bauh тут пионер, так как подобное мы где-то уже видели, но тут вопрос именно в удобстве. Клац-клац мышкой, и вот web.whatsapp.com уже интегрирован в ваш десктоп. Почему бы и нет?
Список доступных веб-приложений проще всего посмотреть, нажав на кнопку с лампочкой. Это что-то вроде списка рекомендаций.
Если решите что-то установить, то Bauh сам скачает нужную ему версию Electron, Node и с помощью широко известного в узких кругах нативикатора сделает всё в лучшем виде. Это удобно и приятно, хотя в случае того же WhatsApp есть и альтернативные варианты.
Итак, что в сухом остатке:
Самый широкий охват самодостаточных пакетов для Linux
Возможность систематизировать отдельные пакеты AppImage
Встроенные средства проверки обновлений пакетов (и сами обновления)
Интеграция некоторых веб-приложений
Как установить?
Очень просто:
sudo pip3 install bauh
Надеюсь, вам понравилась моя статья. Как вам тематика, стиль, подача? Интересно было бы в таком виде почитать о других открытых проектах?
Комментарии (8)
paulz1
23.03.2022 07:09+2Спасибо за статью.
Подача понравилась и тема (поиск любопытного, и не очень известного софта) тоже кажется интересной.Про сам Bauh - захотелось попробовать. Хотя сравнивать получается особо не с чем, я как-то не смог адаптировать ни к одному из пакетных GUI - только CLI, только хардкор.
Но, к вопросу о подаче, вот Bauh захотелось попробовать. :-)
lxfrmn
23.03.2022 12:22+1Пробовал эту штуку, тоже на Манжаре, кстати. Не знаю, как-то не вызвало доверия, работает не оч стабильно. Всё-таки лучше не позволять таким сторонним поделкам лезть в систему, на мой взгляд.
У меня давно есть идея "человечного" менеджера пакетов, который на уровне системы будет работать по-старинке, с традиционной FHS, а на уровне пользователя - в /home/$USER с Windows-подобной иерархией, не требуя прав root. Но там возникает масса вопросов, первый из которых - адекватное разделение всего этого вороха пакетов на системный и пользовательский уровни. Напимер, среда рабочего стола - это к системе отнести или к пользователю? Пока склоняюсь к мнению, что непосредственно оболочку (например, plasmashell) лучше оставить на системном уровне, а приложения (kde apps) - передать на пользовательский. Но не поломает ли это зависимости? И таких вот проблем много.
Но у меня щас много свободного времени появилось, так что буду заниматься своим велосипедом)
Writer Автор
23.03.2022 15:23pip и npm работают по-старинке с традиционной FHS. Не?
lxfrmn
24.03.2022 09:44Не совсем понял, что вы хотели сказать. Развернёте мысль?
Writer Автор
24.03.2022 10:21Я имел в виду, что менеджеров пакетов, которые работают без root, и так довольно много. Чем новый менеджер пакетов будет принципиально человечнее существующих?
lxfrmn
24.03.2022 11:46менеджеров пакетов, которые работают без root, и так довольно много
Какие, например? pip и npm не в кассу, т.к. это менеджеры для скриптового барахла, которое я не использую. Bauh работает так себе, как я писал выше. 0install мёртв. Flatpak - переусложнённый трэш, который работает люто медленно, к тому же это та же старая концепция репозиториев, только в профиль. А о других я как-то не слыхал.
xmcuz
Пробовал пользоваться bauh. К сожалению приложение не без багов.
Для поиска приложения и установки со скрипом годится, для обновлений нет.