从启动中删除evolution-calendar-factory

有没有办法从启动中删除它?
我不需要它,我根本不使用进化论。

Ubuntu不允许你删除evolution-calendar-factory因为这是一个由许多程序共享的库。

如果你尝试执行: sudo apt-get purge evolution-data-serversudo apt-get remove evolution-data-server 你的系统将被破坏!

您可以使用-s标志(模拟)在终端中测试这些命令(小心!)

 sudo apt-get remove evolution-data-server -s 

您将看到ubuntu-gnome-desktop将被删除,并且在下次重新启动后,您将无法再登录系统。 🙁

所以,不要删除evolution-data-server

我没有安装Evolution,但仍然运行。

通过软件中心删除软件包evolution-data-server 。 或者将其输入终端: sudo apt-get purge evolution-data-server 。 然后退出并重新登录,它应该消失了。

如果你想删除evolution-data-server ,它将至少删除这些(在16.04测试)

 The following packages will be REMOVED: evolution-data-server gdm3 gnome-contacts gnome-shell libfolks-eds25 0 upgraded, 0 newly installed, 5 to remove and 378 not upgraded. After this operation, 15.8 MB disk space will be freed. 

所以,更好的治疗方法有点讨厌,但它有效!

令人讨厌的黑客!

重命名Evolution二进制文件夹,以便找不到它! 对我有用的是这些

 sudo mv /usr/lib/evolution-data-server /usr/lib/evolution-data-server-disabled sudo mv /usr/lib/evolution /usr/lib/evolution-disabled 

而已! 现在,我至少可以使用该系统。

注意:如果你以这种方式禁用进化,你将无法使用日历同步或其他花哨(对我来说无用)的东西。


不那么脏的黑客(更新)

看起来越来越多的人最近对进化不满意。 但在我当前的设置中,我不重命名该文件夹。 相反,我只是删除可执行位,它的工作原理。

为了禁用日历过程,我使用了

 sudo chmod -x /usr/lib/evolution/evolution-calendar-factory 

这种方法的好处是其他进化服务仍然可以工作(它们启动和运行)

如果你想关闭它们,请对evolution-source-registryevolution-addressbook-factory重复相同的过程!

如果您正在使用Gnome或Gnome-Shell,那么您似乎无法删除evolution-data-server,因为它也将删除整个DE

 root@europa:/home/user# apt remove evolution-data-server Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: evolution-data-server gdm3 gnome-contacts gnome-shell gnome-shell-extension-weather gnome-shell-extensions libfolks-eds25 0 upgraded, 0 newly installed, 7 to remove and 6 not upgraded. After this operation, 17,5 MB disk space will be freed. Do you want to continue? [Y/n] n 

如果您仍想摆脱那些烦人且资源贪婪的进程,您只需删除(或者,更好地,重命名)其可执行文件的目录:

 root@europa:/home/user# mv /usr/lib/evolution /usr/lib/evolution_DISABLE 

然后杀死所有正在运行的进程:

 root@europa:/home/user# for procname in $(ps aux | grep evolution | awk -F'/' '{print $NF}' | grep evolution | grep -v grep); do killall $procname; done 

这样,Gnome将无法重新启动它们。

为我工作没有任何明显的附带损害。

您可以使用systemd屏蔽单位(在Ubuntu 18.04,Unity上测试):

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

注销/登录后,服务将不再启动。

那么,如果您认为上述答案对您的系统来说太有毒了(扯掉gnome-desktop先决条件,删除/重命名打包文件?不,谢谢!),我可能会为您提供解决方案。

创建~/.config/upstart/kill-evolution-services.conf并使用以下代码填充它。 请务必使用您的用户名替换USER。

 start on desktop-start stop on desktop-end script ME=USER GIVEUP=60 while ! pgrep -u "$ME" -f '^/usr/lib/evolution/evolution'; do GIVEUP=$((GIVEUP - 1)) if test $GIVEUP = 0; then break fi sleep 1 done pkill -u "$ME" -f '^/usr/lib/evolution/evolution' end script 

这将在登录时运行,等待进化服务开始(最多60秒,可通过GIVEUP调整),然后杀死它们。 从我所看到的(16.04),他们将一直死,直到你与一些需要它们的应用程序交互,比如gnome-calendar(应用程序,而不是指标)。 要解决此问题,您可以将以下内容添加到crontab(从终端运行“crontab -e”)。 同样,请务必使用您的用户名替换USER。

 */1 * * * * pkill -u USER -f '^/usr/lib/evolution/evolution' 

这将尝试每分钟杀死一次进化服务。

所以我们摆脱了进化服务,而不是疯狂甚至打电话给sudo 。 据称这些服务的内存使用问题已在Gnome 3.20中得到修复,但Ubuntu还没有将它们反向移植到3.18。 请关注https://bugs.launchpad.net/ubuntu/+source/indicator-datetime/+bug/1589605 ,即使它与指标日期时间无关,我可以告诉他们。 无论如何,指示灯在lightdm登录时运行良好而没有进化服务。

如果其中任何一个最终对您的配置产生副作用,您只需删除~/.config/upstart/kill-evolution-services.conf并删除crontab行(再次从终端删除crontab -e )。 如果你是偏执狂,那么请退出并重新登录。

我没有尝试删除它,因为我运行gnome,但是工作是将systemd单元文件复制到/ etc并将ExecStart设置为/ bin / ls:

 cp /usr/lib/systemd/user/evolution-calendar-factory.service /etc/systemd/user/ cp /usr/lib/systemd/user/evolution-source-registry.service /etc/systemd/user/ 

并在单元文件中确保ExecStart是/ bin / ls:

 ExecStart=/bin/ls 

然后做

 systemctl --user daemon-reload systemctl --user restart evolution-source-registry systemctl --user restart evolution-calendar-factory 

请注意,执行“systemctl disable –user evolution-source-registry”似乎没有任何效果。