从启动中删除发展历程工厂


Answers:


4

Ubuntu不允许您删除,evolution-calendar-factory因为这是许多程序共享的库。

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

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

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

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

因此,请勿删除evolution-data-server


7
这是不正确的,至少对于14.04上的Unity环境而言(我不能说更高的版本)。我已经清除evolution-data-server了自己的系统,一切正常。我假设您将GNOME用作桌面环境(ubuntu-gnome-desktop甚至从未安装在我的系统上),它显然依赖于该软件包。请注意,它evolution-data-server-common应该保持安装状态,但不会导致该程序包evolution-calendar-factory运行。
Aibara 2015年

1
要扩展Aibara的评论,除其他外,删除evolution-data-server-common将删除unity-control-center它并替换为gnome-control-center
马修(Matthew)

2
apt-get purge evolution-data-server --dry-run允许您在清除之前查看清除的内容evolution-data-server。该--dry-run参数告诉我(15.10威利):The following packages will be REMOVED: evolution-data-server* gnome-contacts* libebook-1.2-16* libedata-book-1.2-25* libfolks-eds25*
noobninja

3
对于Ubuntu 16.10,这当然不是事实。删除evolution-data-server仅删除日常使用不需要的软件包,并在系统上节省一些RAM。
David Georg Reichelt

26

如果要删除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如果要他们闭嘴了!


2
似乎在Debian + Gnome中为我工作。谢谢!
库玛(Kumar)

2
不太脏的黑客荣誉。那行得通,而且很容易逆转。顺便说一句,要摆脱已经产生的进程,请使用pkill evolution它们。他们不会在黑客入侵后回来。
fbicknel

18

我没有安装Evolution,但是仍然可以运行它。

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

Nb如果使用Unity桌面,则在14.04和16.04中对我有用。但是,它在18.04中没有,因为很多关键的gnome软件包都依赖它


在Ubuntu 16.04上对我来说工作正常,但是这会从系统中删除Snappy系统及其组件,我对此表示满意。至少现在Unity的RAM使用处于受控状态。
Rajat Pandita

@RajatPandita Odd,我现在正在使用16.04,并且具有不带有Evolution-Data-Server的Snappy软件包。自从14.04升级以来,也许有些不同吗?
Aibara

不适用于15.10
Anwar

Ubuntu 16.04,删除了Evolution-Data-Server,没有其他组件被删除,Evolution进程消失了。:-)
andreaplanet

1
在debian“ buster”上,这将删除gdm3,gnome-core和其他关键组件。我怀疑在Ubuntu中也会发生类似的事情。
HörmannHH

6

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

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

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


这听起来不错,很有希望,但是即使重启后,它也没有停止我16.04系统中的任何操作。但是sudo apt remove evolution-data-server效果很好。
mivk

4

如果您使用的是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将无法重新启动它们。

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


2

因此,如果您认为以上答案对您的系统而言太有害(删除gnome-desktop prereq,删除/重新命名打包的文件?不,谢谢!),我可能会为您提供解决方案。

~/.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,尽管它与indicator-datetime无关。无论如何,在lightdm登录名下,如果没有Evolution服务,该指标运行良好。

如果以上任何一项最终对您的配置产生副作用,则可以简单地删除~/.config/upstart/kill-evolution-services.conf和删除crontab行(同样crontab -e从终端)。如果您偏执,请注销并重新登录。


pkill -f evolution-calendar-factory释放100mb的内存,谢谢!
Aquarius Power'7

0

自从我运行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”似乎没有任何效果。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.