Discover cool apps with snap find

by Igor Ljubuncic on 3 January 2020

Software discovery and installation broadly comes in two flavors – via graphical user interface or on the command line. If you’re using a Linux distribution with a friendly software frontend offering integrated snap support, e.g. KDE Discover or GNOME Software, you can enjoy the experience without having to resort to using a terminal window.

For command-line users, the experience is somewhat different. When you want to search for snaps, the default results may be a little too generic, and finding the applications you need can take some time. Moreover, this is in contrast to the colorful Snap Store, which lets you browse categories, individual publishers, and so on. Well, working on the command line does not mean you need to be left out.

Finding you way

Running snap find without any arguments will show the list of featured snaps, a curated list showcasing the new, interesting or unique software available in the Snap Store. The results are identical to the set you will in Gnome Software in Ubuntu, as well as what you see under the Featured category on the store page.

snap find

No search term specified. Here are some interesting snaps:

Name                    Version                  Publisher              Notes    Summary
postman                 7.13.0                   postman-inc✓           -        API Development Environment
color-picker            1.0                      keshavnrj              -        A colour picker and colour editor for web designers and digital artists
powershell              6.2.3                    microsoft-powershell✓  classic PowerShell for every system!
...

If you are not happy with the default results, you can fine-tune your search. Type snap find -h to see what additional options are available. Please note that typing snap find help will in fact search for snaps containing the string “help” in their name, summary or description.

[find command options]
  --private                       Search private snaps
  --narrow                        Only search for snaps in “stable”
  --section=                      Restrict the search to a given section (default: no-section-specified)
  --color=[auto|never|always]     Use a little bit of colour to highlight some things. (default: auto)
  --unicode=[auto|never|always]   Use a little bit of Unicode to improve legibility. (default: auto)

Notably, the section search is rather useful. If you don’t know which sections exist, you can just type snap find –section to get the list of available categories.

snap find --section
No section specified. Available sections:
* art-and-design
* books-and-reference
* development
* devices-and-iot
...

For example, the results for the development section:

snap find --section=development

Name                     Version                         Publisher            Notes    Summary
sublime-text         3211                            snapcrafters         classic  A sophisticated text editor for code, markup and prose.
pycharm-community    2019.3                          jetbrains✓             classic  Python IDE for Professional Developers
postman              7.13.0                          postman-inc✓           -        API Development Environment
atom                 1.42.0                          snapcrafters           classic  A hackable text editor for the 21st Century.
...

Another interesting feature is the ability to view snaps that are not necessarily accessible to everyone. Developers have the option to have their applications listed publicly, have them unlisted (accessible if you know the name but not searchable) or marked as private, in which case you can only access them if you have the right credentials. Indeed, if you’re logged into the store in the current shell, you can also search for your private snaps. This can be useful if you’re a publisher with multiple collaborators, and need to look for content created by your colleagues or peers.

Once you’ve narrowed down your search, you can then get more details with snap info. This command returns the full snap description, as well as a list of all the available channels and versions they include. For example, this could be useful if you intend to parallel install the snap, and test multiple versions of the application.

snap info vlc
name:      vlc
summary:   The ultimate media player
publisher: VideoLAN✓
contact:   https://www.videolan.org/support/
license:   GPL-2.0+
description: |
  VLC is the VideoLAN project's media player.

  Completely open source and privacy-friendly, it plays every multimedia file and streams.

It notably plays MKV, MP4, MPEG, MPEG-2, MPEG-4, DivX, MOV,
WMV, QuickTime, WebM, FLAC, MP3, Ogg/Vorbis files, BluRays,
DVDs, VCDs, podcasts, and multimedia streams from various
network sources. It supports subtitles, closed captions and is
translated in numerous languages.
snap-id: RT9mcUhVsRYrDLG8qnvGiy26NKvv6Qkd
channels:
  stable:    3.0.7                       2019-06-07 (1049) 212MB -
  candidate: 3.0.8                       2019-12-16 (1397) 212MB -
  beta:      3.0.8-107-g46d459f          2019-12-17 (1399) 212MB -
  edge:      4.0.0-dev-10357-g3977a4f1de 2019-12-17 (1398) 328MB -

Summary

Small things can sometimes go a long way. In this regard, the snap command-line search functionality does offer some useful extras that people might not necessarily be aware of, or discover right away. Our goal is to make the overall snap experience as streamlined as possible, so if you have any clever ideas on this topic, please join our forum for a discussion.

Photo by Christer Ehrling on Unsplash.

Newsletter Signup

Related posts

Snapcraft:多应用客户端-服务端snap开发教程

在过去几个月我们发布了一些如何使用Rust,Java,C/C++和其他语言来开发snap桌面应用的文章。在这些从入门到精通的教程中,我们以一个代表性的snapcraft.yaml文件来介绍开发构建snap所需的具体细节。 今天,我们希望脱离这一过程,而将重点放在服务器端。我们将为你提供一个包含两个有趣组件的snapcraft.yaml的概述:a)它将拥有多个应用程序; 通常,snap包含一个应用程序。b)它具有简单的后台服务,其他应用程序可以连接到该服务。 我们一起来看一下。 Snapcraft yaml 以下是snapcraft.yaml文件的内容: apps: borg: command: bin/borg daemon: simple restart-conditi […]

Learn snapcraft by example – multi-app client-server snap

Over the past few months, we published a number of articles showing how to snap desktop applications written in different languages – Rust, Java, C/C++, and others. In each one of these zero-to-hero guides, we went through a representative snapcraft.yaml file and highlighted the specific bits and pieces developers need to successfully bui […]

Snapcraft tricks: Improve release flexibility with pull and build overrides

Sometimes, software projects are simple – one architecture, one version, one release. But often, they can be complex, targeting multiple platforms, and with different versions at that. If you are packaging your apps as snaps, you might wonder about the optimal way to accommodate a multi-dimensional release matrix. One yaml to rule them al […]