Why are two versions of software with identical names installed on Ubuntu 18.04, and can I remove one of them?

Replacing some GNOME apps with Snaps is developers' decision to support modern glossy non-geek GNOME "functionality".

How to remove such snaps? Search them by snap list:

$ snap list
Name                  Version  Rev   Tracking  Developer  Notes
core                  16-2.33  4830  stable    canonical  core
gnome-3-26-1604       3.26.0   64    stable/…  canonical  -
gnome-calculator      3.28.1   178   stable/…  canonical  -
gnome-characters      3.28.2   101   stable/…  canonical  -
gnome-logs            3.28.2   37    stable/…  canonical  -
gnome-system-monitor  3.26.0   45    stable/…  canonical  -

and then remove them with for example

snap remove gnome-system-monitor

And then install regular package with for example

sudo apt install gnome-system-monitor

Some deb-packages could be installed into the system as dependencies of other packages . For example gnome-system-monitor is a dependency of the following packages:

$ apt-cache rdepends gnome-system-monitor
gnome-system-monitor
Reverse Depends:
  gnome-core
  vanilla-gnome-desktop
  ubuntu-unity-desktop
  ubuntu-budgie-desktop
  gnome-applets
 |compiz-gnome
  cinnamon-desktop-environment

$ aptitude why gnome-system-monitor 
i   xinit        Recommends gnome-terminal | xterm | x-session-manager | x-windo
                            w-manager | x-terminal-emulator                     
p   compiz       Provides   x-window-manager                                    
p   compiz       Depends    compiz-gnome                                        
p   compiz-gnome Recommends gnome-system-monitor | mate-system-monitor         

see corresponding man-pages for the syntax of used commands (man apt-cache and man aptitude).


I feel the responses have missed a crucial point. Snap packages have revisions. If you do

snap list --all

you will likely see some snaps listed more than once. If you look at the revision number, you will see that they have different revision numbers. You will also notice that in the notes field, the snap with the lowest revision number is flagged as 'disabled'.

I'm no snap expert, but my guess is that this is part of the built in support for rollback of changes. Basically, when snap installs a new revision of a snap package, it iwll disable the previous version, but leave it installed and install the new version, making it active. Should the user then run into problems with the new revision, you can just disable the new version and re-enable the previous version.

This has nothing to do with having an application installed as both a debian package and a snap. While this can occur, it has no relevance to the number of snap packages installed for an application.