How-to: Install snaps on Ubuntu 20.04

In Ubuntu 20.04 you'll find the application Ubuntu Software (the Ubuntu Software Center having gone to the great development repo in the sky). This is actually the Snap Store (check the About link in the menu) your one-stop shop for installing software automatically as the graphical interface to the base program snapd. It will install whatever you ask it based on the software in its catalogue - any whatever is the 'best' format - Snaps first.

As the default 'app store' GUI on Ubuntu 20.04 it is still able to install apt packages. The snap-store snap in the stable/ubuntu-20.04 channel supports apt, snap and fwupd, but only when run on Ubuntu. If you run it on another distribution supporting Snaps, it will install snaps only an not interfere with the distributions own tool.

The Snap Store is itself a Snap app, part of the Ubuntu core in 20.04. Snaps are available to install from Ubuntu 16.04 onward.

You can also install Snaps manually if that floats your boat.

Finding a package

To see the list of Snap packages available, open a terminal window and issue the command
snap find

robin@ubuntu-20:~$ snap find
No search term specified. Here are some interesting snaps:

Name               Version                Publisher        Notes    Summary
minetest           5.2.0                  snapcrafters     -        Minetest
rpi-imager         0264af9                popey            -        Raspberry Pi Imaging Utility
zoom-client        3.5.383291.0407        ogra             -        ZOOM Cloud Meetings
notepad-plus-plus  7.8.5                  mmtrt            -        Notepad-Plus-Plus is a free source code editor.
plexmediaserver  plexinc✓         -        Plex magically organizes your media libraries and streams them to any device
cherrytree         0.39.1                 hellsworth       -        Hierarchical note taking application
natron             v2.3.14                popey            -        Natron
scummvm            2.1.2                  snapcrafters     -        ScummVM is a program which allows you to run numerous classic graphical point-and-click adventure games and role-playing games
glimpse-editor     0.1.2                  hellsworth       -        Glimpse Image Editor is a usability-focused free software application capable of expert level image manipulation.
mqttx              1.3.0                  emqx             -        MQTT X - Cross-platform MQTT 5 desktop test client
kdenlive           19.12.3                kde✓             -        Kdenlive video editor
obs-studio         25.0.5                 snapcrafters     -        OBS - Free and open source software for live streaming and screen recording  - Unofficial build
caprine            2.44.0                 sindresorhus     -        Caprine
ksnip              1.6.1                  dporobic         -        Qt based cross-platform screenshot tool that provides many annotation features for your screenshots.
ark                19.08.0                kde✓             -        Work with file archives
makemkv            1.15.0                 diddledan        -        Backup your DVD and Bluray discs
mumble             1.3.0                  snapcrafters     -        Mumble is an open source, low-latency, high quality voice chat software.
ncspot             0.1.3                  popey            -        Cross-platform ncurses Spotify client written in Rust


That's a portion of a lengthening list.

More usefully, the command snap find and a parameter, such as pdf or evince will narrow the list.

robin@ubuntu-20:~$ snap find evince
Name    Version               Publisher    Notes  Summary
evince  3.34.2+git4.91cbe4fe  ken-vandine  -      Document viewer for popular document formats

I decided to install the PDF reader Evince as a Snap, so I issue:

sudo snap install evince

as it needs administrator permissions to install software.

robin@ubuntu-20:~$ sudo snap install evince
[sudo] password for robin:
evince 3.34.2+git4.91cbe4fe from Ken VanDine installed

You can then watch the terminal window as the snap installer checks permissions, file integrity, decompresses it, checks dependencies and installs. It updates the one line onto the screen, so unless there are any errors and a break, you'll end up with a one line confirmation at the end.

All this is usually hidden behind the GUI of the Snap Store or Ubuntu Software. It's not that exciting but it is thorough.

Other options

Some of the commands you can run through snapd include:

Upgrade a Snappy package:
sudo snap refresh PACKAGE NAME 
(Where PACKAGE NAME is the name of the Snappy package to upgrade)

List all of your installed Snappy packages: snap list

robin@ubuntu-20:~$ snap list
Name                 Version                     Rev   Tracking         Publisher    Notes
canonical-livepatch  9.5.5                       95    latest/stable    canonical✓   -
core                 16-2.44.1                   8935  latest/stable    canonical✓   core
core18               20200311                    1705  latest/stable    canonical✓   base
evince               3.34.2+git4.91cbe4fe        391   latest/stable    ken-vandine  -
gnome-3-28-1804      3.28.0-16-g27c9498.27c9498  116   latest/stable    canonical✓   -
gnome-3-34-1804      0+git.2c86692               24    latest/stable/…  canonical✓   -
gtk-common-themes    0.1-29-g45e78c5             1474  latest/stable/…  canonical✓   -
snap-store           20200410.cbefce5            357   latest/stable/…  canonical✓   -

Remove a Snappy package: sudo snap remove PACKAGE NAME

View recent changes (Snaps you've recently install, refreshed, removed, etc): snap changes