If I've installed an application both as a snap and via APT, how can I tell which one is currently running?
Solution 1:
Call each one separately
You can start a specific version of an application by providing the full path name of the executable. Firefox, e.g., installed using APT will be launched by /usr/bin/firefox
. The executables of snap applications are under /snap/bin/
so /snap/bin/firefox
will launch the snap version.
Typing firefox
will launch the APT version, because /usr/bin
is listed earlier in the search path than /snap/bin
in a default Ubuntu install. The default PATH is:
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
When you simply type firefox
, the system searches each of the consecutive directories (folders) until an executable with the name firefox
is found. If the APT version is installed, it will find the executable in /usr/bin
before searching /snap/bin
, so the search will be stopped and that executable will be launched.
You can learn which executable will be launched with the command which
.
$ which firefox
/usr/bin/firefox
You can learn which executables you have installed with the command whereis
:
$ whereis firefox
firefox: /usr/bin/firefox /usr/lib/firefox /etc/firefox /snap/bin/firefox /usr/share/man/man1/firefox.1.gz
Here, both the APT and the snap version of firefox are installed.
Know which one is running
Running processes
The command ps ax
lists all running processes. Thus:
ps ax | grep firefox
will list all processes with the name "firefox". The output includes the full pathname of the executable.
Creator of a specific window
It is also possible to identify the creator of a specific window, to learn whether the open window is from the APT or the snap version. However, this is rather complicated and not always reliable. See the Unix & Linux Stackexchange questions What process created this X11 window? and What process created this window with no PID associated?.
Solution 2:
Examples using gnome-calculator, which many folks have in both deb and snap formats:
-
How to call each one separately: Let's find full paths.
$ which -a gnome-calculator # -a keeps searching after the first hit /usr/bin/gnome-calculator /snap/bin/gnome-calculator $ whereis -b gnome-calculator # -b returns binaries only gnome-calculator: /usr/bin/gnome-calculator /snap/bin/gnome-calculator
-
How to determine which one is running. In this example, BOTH are running. The difference is readily apparent.
$ ps -x | grep gnome-calculator 69445 ? Sl 0:05 /snap/gnome-calculator/748/usr/bin/gnome-calculator 69549 pts/0 Sl 0:01 gnome-calculator 69727 pts/0 S+ 0:00 grep --color=auto gnome-calculator $ pgrep -af gnome-calculator 69445 /snap/gnome-calculator/748/usr/bin/gnome-calculator 69549 gnome-calculator