Bauh
Graphical user interface for managing your Linux applications. Supports AppImage, Debian and Arch packages (including AUR), Flatpak, Snap and native Web applications
Install / Use
/learn @vinifmor/BauhREADME
bauh (baoo), formerly known as fpakman, is a graphical interface for managing your Linux software (packages/applications). It currently supports the following formats: AppImage, Debian and Arch Linux packages (including AUR), Flatpak, Snap and Web applications.
Key features
- A management panel where you can: search, install, uninstall, upgrade, downgrade and launch your applications
- Tray mode: it launches attached to the system tray and publishes notifications when there are software updates available
- System backup: it integrates with Timeshift to provide a simple and safe backup process before applying changes to your system
- Custom themes: it's possible to customize the tool's style/appearance. More at Custom themes
Index
- Installation
- Isolated installation
- Desktop entry / menu shortcut
- Autostart: tray mode
- Distribution
- Supported types
- General settings
- Directory structure, caching and logs
- Custom themes
- Tray icons
- CLI (Command Line Interface)
- Improving performance
- bauh-files
- Code structure
- Roadmap
- Contributing
- Donations
Installation
<a name="inst_appimage">AppImage</a>
Required dependencies
fuse: the package name may vary from distributionqt5dxcb-plugin(or equivalent): the package name may vary from distribution
Steps
- Download the .AppImage file attached with the latest release from https://github.com/vinifmor/bauh/releases
- Generally the desktop environment allows you to double-click the downloaded file to execute it. If that's not your case, follow the steps below from a console:
chmod a+x bauh-${version}-x86_64.AppImage(replace${version}by the respective downloaded version)./bauh-${version}-x86_64.AppImage
- If you want to integrate bauh to your desktop: click on bauh's settings menu ("sandwich") and then
Install bauh
<a name="inst_ubuntu">Ubuntu 20.04 based distros (Linux Mint, PopOS, ...)</a>
Required dependencies
sudo apt-get install python3 python3-pip python3-yaml python3-dateutil python3-pyqt5 python3-packaging python3-requests
Installing bauh
sudo pip3 install bauh
Optional dependencies (they should be installed with apt-get/apt)
aptitude: Debian package managementtimeshift: system backuparia2: multi-threaded downloadsaxel: multi-threaded downloads alternativelibappindicator3-1: tray-modesqlite3,fuse: AppImage supportflatpak: Flatpaks supportsnapd: Snaps supportpython3-lxml,python3-bs4: Web apps supportpython3-venv: isolated installationxdg-utils: to open URLs in the browsers (xdg-open)
Updating bauh
Method 1
sudo pip3 install bauh --upgrade
Method 2
sudo pip3 uninstall bauh
sudo pip3 install bauh
Uninstalling bauh
bauh --reset # removes cache and configurations files from HOME
sudo pip3 uninstall bauh
<a name="inst_arch">Arch-based distros</a>
Using yay
yay -S bauh
Using git
git clone https://aur.archlinux.org/bauh.git
cd bauh
makepkg -si
Optional dependencies
timeshift: system backuparia2: multi-threaded downloadsaxel: multi-threaded downloads alternativelibappindicator-gtk2: tray-mode (GTK2 desktop environments)libappindicator-gtk3: tray-mode (GTK3 desktop environments)xdg-utils: to open URLs in the browser (xdg-open)sqlite,fuse2,fuse3: AppImage supportflatpak: Flatpak supportsnapd: Snap supportpacman: ArchLinux package management supportpython-lxml,python-beautifulsoup4: Web apps supportpython-venv: isolated installation
Uninstalling bauh
bauh --reset # removes cache and configurations files from HOME
pacman -R bauh
<a name="inst_iso">Isolated installation</a>
If you prefer an isolated installation from the system libraries, type the following commands:
python3 -m venv bauh_env # creates an isolated environment inside the directory called "bauh_env"
bauh_env/bin/pip install bauh # installs bauh in the isolated environment
bauh_env/bin/bauh # launches bauh. For the tray-mode: bauh_env/bin/bauh-tray
Updating bauh
bauh_env/bin/pip install bauh --upgrade
Uninstalling bauh
bauh_env/bin/bauh --reset # removes cache and configurations files from HOME
rm -rf bauh_env` (just remove the directory)
<a name="desk_entry">Desktop entry / menu shortcut</a>
To create a shortcut for bauh on your desktop menu:
- Copy the files from bauh/desktop to
~/.local/share/applications(or/usr/share/applicationsfor root) - Replace the
Execfield on theses files by the bauh binary path. e.g:Exec=/usr/bin/bauh(orbauh_env/bin/bauh) - Copy logo.svg to
/usr/share/icons/hicolor/scalable/appsasbauh.svg
<a name="autostart">Autostart: tray mode</a>
In order to initialize bauh with the system, use your Desktop Environment settings to register it as a startup application / script (bauh-tray). Or create a file named bauh.desktop in ~/.config/autostart with the content below:
[Desktop Entry]
Type=Application
Name=bauh (tray)
Exec=/path/to/bauh-tray
<a name="dist">Distribution</a>
bauh is officially distributed through PyPi and AUR (bauh / bauh-staging)
<a name="types">Supported types</a>
<a name="type_appimage">AppImage</a>
-
Supported sources: AppImageHub (applications with no releases published to GitHub are not available)
-
All available application names can be found at apps.txt
-
Only x86_64 AppImage files are available through the search mechanism at the moment
-
Crashes may happen during an AppImage installation if AppImageLauncher is installed. It is recommended to uninstall it and reboot your system before trying to install an application.
-
Extra actions
Install AppImage file: allows to install an external AppImage fileUpgrade file: allows to upgrade a manually installed AppImage fileUpdate database: manually synchronize the AppImage databaseInstall bauh: installs bauh if it is running as an AppImage
-
Installed applications are store at
~/.local/share/bauh/appimage/installed(or/usr/local/share/bauh/installedfor root) -
Desktop entries (menu shortcuts) of the installed applications are stored at
~/.local/share/applications(or/usr/share/applicationsfor root). Name pattern:bauh_appimage_appname.desktop -
Symlinks are created at
~/.local/bin(or/usr/local/binfor root). They have the same name of the application (if the name already exists, it will be created as 'app_name-appimage'. e.g:rpcs3-appimage) -
Downloaded database files are stored at
~/.cache/bauh/appimage(or/var/cache/bauh/appimagefor root) as apps.db and releases.db -
Databases are updated during the initialization process if they are considered outdated
-
The configuration file is located at
~/.config/bauh/appimage.yml(or/etc/bauh/appimage.ymlfor root) and it allows the following customizations:
database:
expiration: 60 # defines the period (in minutes) in which the database will be considered up to date during the initialization process. Use 0 if you always want to update it. Default: 60.
suggestions:
expiration: 24 # defines the period (in hours) in which the suggestions stored in disc will be considered up to date. Use 0 if you always want to update them. Default: 24.
- Applications with ignored updates are defined at
~/.config/bauh/appimage/updates_ignored.txt(or/etc/bauh/appimage/updates_ignored.txtfor root) - Cached package suggest
