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

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