Bauh: менеджер пакетов, который вы искали

Одно из моих хобби — находить и тестировать интересные проекты с открытым кодом на 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

Надеюсь, вам понравилась моя статья. Как вам тематика, стиль, подача? Интересно было бы в таком виде почитать о других открытых проектах?

© Habrahabr.ru