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


  1. xmcuz
    23.03.2022 07:02
    +1

    Пробовал пользоваться bauh. К сожалению приложение не без багов.

    Для поиска приложения и установки со скрипом годится, для обновлений нет.


  1. paulz1
    23.03.2022 07:09
    +2

    Спасибо за статью.
    Подача понравилась и тема (поиск любопытного, и не очень известного софта) тоже кажется интересной.

    Про сам Bauh - захотелось попробовать. Хотя сравнивать получается особо не с чем, я как-то не смог адаптировать ни к одному из пакетных GUI - только CLI, только хардкор.

    Но, к вопросу о подаче, вот Bauh захотелось попробовать. :-)


    1. Writer Автор
      23.03.2022 09:19

      Спасибо, буду стараться дальше!


  1. lxfrmn
    23.03.2022 12:22
    +1

    Пробовал эту штуку, тоже на Манжаре, кстати. Не знаю, как-то не вызвало доверия, работает не оч стабильно. Всё-таки лучше не позволять таким сторонним поделкам лезть в систему, на мой взгляд.

    У меня давно есть идея "человечного" менеджера пакетов, который на уровне системы будет работать по-старинке, с традиционной FHS, а на уровне пользователя - в /home/$USER с Windows-подобной иерархией, не требуя прав root. Но там возникает масса вопросов, первый из которых - адекватное разделение всего этого вороха пакетов на системный и пользовательский уровни. Напимер, среда рабочего стола - это к системе отнести или к пользователю? Пока склоняюсь к мнению, что непосредственно оболочку (например, plasmashell) лучше оставить на системном уровне, а приложения (kde apps) - передать на пользовательский. Но не поломает ли это зависимости? И таких вот проблем много.

    Но у меня щас много свободного времени появилось, так что буду заниматься своим велосипедом)


    1. Writer Автор
      23.03.2022 15:23

      pip и npm работают по-старинке с традиционной FHS. Не?


      1. lxfrmn
        24.03.2022 09:44

        Не совсем понял, что вы хотели сказать. Развернёте мысль?


        1. Writer Автор
          24.03.2022 10:21

          Я имел в виду, что менеджеров пакетов, которые работают без root, и так довольно много. Чем новый менеджер пакетов будет принципиально человечнее существующих?


          1. lxfrmn
            24.03.2022 11:46

            менеджеров пакетов, которые работают без root, и так довольно много

            Какие, например? pip и npm не в кассу, т.к. это менеджеры для скриптового барахла, которое я не использую. Bauh работает так себе, как я писал выше. 0install мёртв. Flatpak - переусложнённый трэш, который работает люто медленно, к тому же это та же старая концепция репозиториев, только в профиль. А о других я как-то не слыхал.