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?.
buckle<tab><tab>
to get what options are available, I can see "buckle bucklespring.buckle" as the result, then if I usewhereis buckle
it responds /usr/games/buckle telling me it was deb package installed. If Iwhereis bucklespring
I get /snap/bin/bucklespring.buckle telling me it's a snap. (Why I have both I do not know!!?). I could select via path, but don't need to in this case due to name difference..