Proper way to disable Evolution services when it's purged already

Though I have gone through quite a few threads on AskUbuntu, I couldn't find a proper way to disable these Evolution services, especially when Evolution is purged from the system already, in Ubuntu MATE 21.04.

These services are not listed under systemctl list-unit-files --type=service, so I can't use sudo systemctl mask.

ps -ef | grep evolution

admn 1973 1459 0 17:15 ? 00:00:00 /usr/libexec/evolution-source-registry
admn 2023 1459 0 17:15 ? 00:00:00 /usr/libexec/evolution-calendar-factory
admn 2058 1459 0 17:15 ? 00:00:00 /usr/libexec/evolution-addressbook-factory

These 2 Evolution related packages are still there, because purging them would remove a lot of other packages.

evolution-data-server
evolution-data-server-common

Result of ls -lsh /usr/libexec/evolution*:

$ ls -lsh /usr/libexec/evolution*

 16K -rwxr-xr-x 1 root root  15K Jun 22 20:57 /usr/libexec/evolution-addressbook-factory
 48K -rwxr-xr-x 1 root root  47K Jun 22 20:57 /usr/libexec/evolution-addressbook-factory-subprocess
116K -rwxr-xr-x 1 root root 115K Jun 22 20:57 /usr/libexec/evolution-calendar-factory
136K -rwxr-xr-x 1 root root 135K Jun 22 20:57 /usr/libexec/evolution-calendar-factory-subprocess
 60K -rwxr-xr-x 1 root root  59K Jun 22 20:57 /usr/libexec/evolution-scan-gconf-tree-xml
124K -rwxr-xr-x 1 root root 123K Jun 22 20:57 /usr/libexec/evolution-source-registry
 20K -rwxr-xr-x 1 root root  19K Jun 22 20:57 /usr/libexec/evolution-user-prompter

/usr/libexec/evolution-data-server:
total 116K

 32K -rwxr-xr-x 1 root root  31K Jun 22 20:57 addressbook-export
8.0K -rwxr-xr-x 1 root root 7.0K Jun 22 20:57 csv2vcard
 52K -rwxr-xr-x 1 root root  51K Jun 22 20:57 evolution-alarm-notify
 24K -rwxr-xr-x 1 root root  23K Jun 22 20:57 list-sources

OS: Ubuntu MATE 21.04

evolution-data-server: 3.40.0-1ubuntu1.1

evolution-data-server-common: 3.40.0-1ubuntu1.1

Thanks a lot in advance.


Solution 1:

So let's start from the beginning. On the fresh Ubuntu MATE 21.04 I have:

$ ps -ef | grep evolution | grep -v grep
h           2025    1612  1 22:32 ?        00:00:00 /usr/libexec/evolution-data-server/evolution-alarm-notify
h           2112    1595  1 22:32 ?        00:00:00 /usr/libexec/evolution-source-registry
h           2230    1595  1 22:32 ?        00:00:00 /usr/libexec/evolution-calendar-factory
h           2250    1595  1 22:32 ?        00:00:00 /usr/libexec/evolution-addressbook-factory

$ systemctl list-units --type service --user | grep evolution
  evolution-addressbook-factory.service loaded active running Evolution address book service
  evolution-calendar-factory.service    loaded active running Evolution calendar service
  evolution-source-registry.service     loaded active running Evolution source registry

To disable parts of Evolution Data Server one should disable systemd user services by:

systemctl --user mask evolution-addressbook-factory.service
systemctl --user mask evolution-calendar-factory.service
systemctl --user mask evolution-source-registry.service
systemctl --user mask evolution-user-prompter.service

and reboot.

If you want to take radical measures then use below command

sudo apt autopurge evolution-data-server

to remove the package providing above systemd units.


Also please note that removing of remaining three packages named evolution-data-server-common, libecal-2.0-1:amd64 and libedataserver-1.2-26:amd64 will remove ayatana-indicator-datetime. So the resulting system will not have Calendar on the MATE Panel. Do not remove these 3 packages listed above.

Solution 2:

Evolution-data-server (EDS) was --long ago-- an outgrowth of Evolution. However, EDS is not part of Evolution; they are separate. Only the name remains.

EDS is part of a stock install of Ubuntu, and should remain on your system whether or not you choose to install or use Evolution.

EDS handles your unified calendar and addressbook for the for your Desktop session. Most Desktop users should leave it in place and let it do its job.