Subscribe to UbuntuBuzz Telegram Channel to get article updates directly.
See also Snap Beginner's Guide | Inkscape review (using Snap on LiveCD)
See you snapd version
Users of Ubuntu 16.04 and 18.04 by default need to upgrade their snapd.
$ snap --version
(Ubuntu 18.04 by default brings snapd 2.32 and it doesn't able to do parallel installs)
If it is below 2.36, you need to upgrade it to 2.36 or later.
Upgrade snapd version first
To upgrade snapd, run this command:
$ snap refresh core
Then check your snapd version again:
$ snap --version
(Upgraded snapd today gives version 2.37 and this is okay)
Identifier or "key"
Parallel installs is basically making a copy of current installed version. To do so, of course the newly created copy should have different name (called "identifier" or "key"). Nothing special, just like you rename something inside a folder. You may choose any name you like. The format of command and identifier are like below.
Command examples:
$ snap install [package_name] [package_copy_key] $ snap install inkscape inkscape_alpha $ snap install vlc vlc_latest123
Identifier format:
- Alphanumeric characters
- Lowercase
- Up to 10 characters only
Install Inkscape in parallel
Please note that in Snap terminology, the term 'refresh' means 'upgrade'.
What you really need to do is basically install any version first and then copy that version (make a parallel version) and then upgrade that copy to another version. That's parallel installs. That way, you will have two Snaps with different versions you can run simultaneously. Again, without worrying about dependencies and broken system. In this exercise, because Snap gives us two versions of Inkscape "stable" and "edge", I will install stable version first and then install edge version.
First, enable experimental feature:
$ sudo snap set system experimental.parallel-instances=true
Second, install Inkscape whatever version it is:
$ snap info inkscape $ snap install inkscape
You need to know what versions are available from the output. See there are stable channel and edge channel (representing version 0.92.4 and version 1.0alpha, respectively). What we will do below is to install both stable and edge versions.
channels: stable: 0.92.4 2019-01-24 (4693) 182MB - candidate: 0.92.4 2019-01-16 (4693) 182MB - beta: ^ edge: 1.0alpha 2019-01-30 (4818) 161MB -
Third, create a parallel copy named "inkscape_alpha" of the installed one:
$ snap install inkscape inkscape_alpha
Finally, upgrade the parallel copy to different version:
$ snap refresh --edge inkscape_alpha
See there are two different versions of Inkscape installed:
$ snap list | grep inkscape
Run two Inkscape versions at once:
$ snap run inkscape & $ snap run inkscape_alpha &
See, everything is easy to understand.
(Left: Inkscape 0.92.4, right: Inkscape 1.0alpha; both are Snaps)
One More Example
If you feel example above is not enough, alright, let's try several versions of VLC Media Player as addition. The steps to do are the same: install any version first, make a parallel copy, and upgrade that parallel copy.
Know the versions available. Like above, in VLC, we also will install both stable and edge versions.
$ snap info vlc channels: stable: 3.0.6 2019-01-10 (770) 212MB - candidate: 3.0.6 2019-01-10 (770) 212MB - beta: 3.0.6-46-g135e7ff 2019-01-30 (809) 212MB - edge: 4.0.0-dev-6326-gb18a63a 2019-01-30 (808) 246MB -
Install VLC as is:
$ snap install vlc
Make a parallel copy named "vlc_alpha" of the installed one:
$ snap install vlc vlc_alpha
Upgrade the parallel copy to different version:
$ snap refresh --edge vlc_alpha
Check all versions installed:
$ snap list | grep vlc
vlc 3.0.6 770 stable videolan✓ -
vlc_alpha 4.0.0-dev-6326-gb18a63a 808 edge videolan✓ -
Run two versions at once:
$ snap run vlc & $ snap run vlc_alpha &
See, it is very simple.
(Left: VLC 3.0.6, right: VLC 4.0.0; both are Snaps also)
Common Error
If you get error like below:
error: cannot install "inkscape", "inkscape_stable": experimental feature disabled - test it by setting 'experimental.parallel-instances' to true
then it means you didn't do the "set true" command above. Do it and try again:
$ sudo snap set system experimental.parallel-instances=true
Happy working!