Snap

Revision as of 15:30, 1 July 2019 by imported>Dalto (Add section on removing snap support and update to reflect the current state of Manjaro)
Snapcraft.png


Overview

Snaps are a distro independent method for packaging and distributing Linux software.


Using software distributed by Snap has a couple of distinct advantages:

  • Software that is not compatible with current system libraries will still work when packaged as a Snap
  • Snaps are automatically updated


There are some other considerations to be aware of:

  • Snaps do not always integrate with system themes
  • Snaps may need to install shared run-times which consume disk space


Installing Support for Snaps

To use Snaps you to install and configure the Snap Daemon. It is available in the Manjaro repos as snapd and can be installed with your favorite package manager or using the command

pamac install snapd


Once installed, you need to enable snapd using the command:

sudo systemctl enable --now snapd.socket


If you also want support for classic snaps you can use the command:

ln -s /var/lib/snapd/snap /snap


Using Snaps

Managing Snaps via Discover


One way to manage your Snaps is with the application Discover from the KDE project. You need a special version of Discover that can be found in the repos to manage snaps. This is now installed by default in some Manjaro editions that include Discover. If it isn't, you can install the package discover-snap with your favorite package manager or the command:

pamac install discover-snap


Once installed you can run Discover and you will be able to browse and install Snaps with a familiar store interface.



Tip
Discover can also install and update software from the Manjaro repos if you install the package packagekit-qt5


Managing Snaps via Gnome Software


Another way to manage your Snaps is with the application Gnome Software from the Gnome project. You need a special version of Gnome Software that has support for managing snaps. This now comes pre-installed in several Manjaro editions. If it isn't, you can install the package gnome-software-snap with your favorite package manager or the command:

pamac install gnome-software-snap


Once installed you can run Software and you will be able to browse and install Snaps with a familiar store interface.



Tip
Gnome Software can also install and update software from the Manjaro repos


Managing Snaps via the CLI

Finding and Installing Snaps

You can use the command snap search to search for available Snaps. For example, if you wanted to install VLC here is what it might look like:

snap search vlc
Name            Version                 Publisher  Notes  Summary
vlc             3.0.6                   videolan✓  -      The ultimate media player
dav1d           0.2.0-1-ge29cb9a        videolan✓  -      AV1 decoder from VideoLAN
mjpg-streamer   2.0                     ogra       -      UVC webcam streaming tool
audio-recorder  3.0.5+rev1432+pkg-7b07  brlin      -      A free audio-recorder for Linux


From this output we can see that VLC and some related applications are avialable. To install VLC, we would use the command

snap install vlc


This will install the application as well as any required run-times. Once the application is installed you should be able to run it from your menu as you would with any application.


Displaying Detailed Snap Information

You can get more details about a specific Snap using the command snap info. For example:

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.6                      2019-01-10  (770) 212MB -
  candidate: 3.0.6                      2019-01-10  (770) 212MB -
  beta:      3.0.6-341-g18d7d08         2019-05-24 (1020) 212MB -
  edge:      4.0.0-dev-8011-gfdbf7317e0 2019-05-24 (1019) 335MB -


Getting a list of installed Snaps

To show a list of all the Snaps and run-times that are currently installed you can use the command:

snap list


Removing Snaps

You can remove Snaps with the command snap remove. For example:

snap remove vlc


Removing Snap Support

If you want to remove support for snaps from the system, you can do so with a few simple steps.

First, check if you have gnome-software-snap or discover-snap installed.

pamac list -i | grep snap


If you find either of those packages, replace them with the non-snap versions. For example, if gnome-software-snap was on that list you can replace it with:

pamac install gnome-software


Next, remove snapd itself

pamac remove snapd


Optionally, you can also remove the remaining snapd files which would include any installed snaps.

sudo rm -r /var/lib/snapd