A command-line search tool for AppImage, Flatpak, and Snap

Rich Harvest

Article from Issue 229/2019

If you are looking for an application in AppImage, Flatpak, or Snap app stores, Chob lets you perform a keyword-based search from the command line.

The alternative package formats AppImage, Flatpak, and Snap can be found in almost all distributions. Some projects even rely entirely, or at least predominantly, on these modern constructs that include most dependencies in the package. For example, Fedora's Silverblue Workstation is completely based on Flatpak; Clear Linux OS supports Flatpaks, as well as in-house bundles. Endless OS is also increasingly taking this path to deliver software. Although Ubuntu mainly uses its Snap format in the cloud, it also offers an increasing number of Snap packages for its desktop versions.


These new formats are especially useful for testing new software versions. For instance, the LibreOffice developers recommend staying with the previous version and waiting a couple of minor releases before making the final switch for production use.

However, if you want to find out whether the new version fixes a certain bug, trying out a corresponding Flatpak does not conflict with the previously installed, production-use version. In the AppImage format, there are even four different development stages of LibreOffice letting you safely try out new features in advance.

Complex Search

What if you want to find out which applications are available in the new formats for a certain application genre? Until now, you had to manually search each of the app stores. Flathub [1], Snap Store [2], and AppImageHub [3] each offer hundreds or even thousands of apps in their respective formats.

To remedy this, Mohammed Kaplan has developed Chob [4], a command-line search engine that searches these app stores using a keyword. Chob is licensed under Apache v2, builds on Node.js, and is available on GitHub.

On Chob's download page [5], you will find a package in deb format, as well as the executable chob-linux for other distributions. The source code is also available. You can install the deb package in the usual way with:

dpkg -i chob

After downloading the chob-linux binary, first make it executable by typing

sudo chmod +x chob-linux

and then launch the tool by entering the program name followed by the search term.

To build the tool yourself, you will need to install at least the latest Node.js LTS version (currently version 10.x). Then drag the software from the repository (Listing 1, line 1) onto your hard disk, change to the newly created directory (line 2), and install the application (line 3).

Listing 1

Building Chob

01 $ git clone https://github.com/MuhammedKpln/chob.git
02 $ cd chob
03 $ npm install && yarn

No Options

Chob is easy to use, because apart from the parameter for the search word, the small tool has no options. If you enter chob music in a terminal emulator, or (depending on your version) ./chob-linux music, you will see a list of matches. In a test run, the list contained 15 applications that contained the string music (Figure 1).

Figure 1: Searching for music revealed 15 applications whose name contained that string.

Keeping with the LibreOffice example, searching with a keyword of office results in the four previously-mentioned development versions of LibreOffice as AppImages, one package each in the Flatpak and Snap formats, as well as other office suite packages (Figure 2).

Figure 2: Four versions of LibreOffice at different stages of development are available – a great example of the advantages of alternative package formats.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Introduction

    This month in Linux Voice.

  • bauh

    The bauh package manager can cope with Flatpaks, Snaps, AppImages, AUR, and native web apps.

  • Universal Package Systems

    Billed as the future of package management, universal package systems like Snappy and Flatpak have failed to live up to their promise.

  • Stacer

    Stacer is a handy graphical tool for cleaning up your Linux system.

  • Flatpak and Snap

    The new container-inspired package formats Flatpak and Snap have landed in the territory occupied by conventional Linux package systems such as RPM and Dpkg.

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95