如何彻底删除Evolution?

在此处输入图像描述在此处输入图像描述 Evolution工厂的循环使系统变得突然和长时间停止。 当我访问系统监视器时,我可以停止导致问题的各个进程。 这些过程如下;

evolution-source-registry 

值得注意的是,evolution-addressbook-factory

一旦evolution-addressbook-factory被停止,进程最终会被类似命名的进程替换,但循环停止。 当我连接到Thunderbird时,它会大幅减速。 最初我在运行Ubuntu 12.10时使用了进化邮件,但删除了它并且一直在使用Thunderbird。

我的笔记本电脑规格如下:
Ubuntu 13.04 32位
2.0 GHz(双核,2.0 GHz两核)
1GB RAM执行建议的完全删除程序后,我完全从包管理器中删除了ev之后收到了缓存读取错误。 在包管理器中重新下载包启用了电子邮件识别,并产生了屏幕截图中显示的错误。

要删除Evolution,只需按键盘上的Ctrl + Alt + T即可打开终端。 打开时,运行以下命令:

 sudo apt-get --purge remove evolution evolution-exchange evolution-plugins evolution-common evolution-webcal 

上面的命令不会删除evolution-data-server,evolution-data-server-common

我建议您使用Synaptic Package Manager来完全删除Evolution。 只需搜索它,并将其标记为完全删除。

另外只是为了确定,删除后执行:

 sudo rm /usr/share/indicators/messages/applications/evolution 

现在请记住,删除进化,也将删除gnome面板。 安装只做:

 sudo apt-get install gnome-panel 

删除很麻烦,但禁用相对简单。

当然这应该使用dpkg divert以及其他任何方式来完成,以免在升级系统时混淆apt / dpkg。

  cd /usr/share/dbus-1/services # This part create a copy of your original files sudo cp org.gnome.evolution.dataserver.AddressBook.service org.gnome.evolution.dataserver.AddressBook.service.backup sudo cp org.gnome.evolution.dataserver.Calendar.service org.gnome.evolution.dataserver.Calendar.service.backup sudo cp org.gnome.evolution.dataserver.Sources.service org.gnome.evolution.dataserver.Sources.service.backup sudo cp org.gnome.evolution.dataserver.UserPrompter.service org.gnome.evolution.dataserver.UserPrompter.service.backup # This part makes the trick sudo ln -snf /dev/null org.gnome.evolution.dataserver.AddressBook.service sudo ln -snf /dev/null org.gnome.evolution.dataserver.Calendar.service sudo ln -snf /dev/null org.gnome.evolution.dataserver.Sources.service sudo ln -snf /dev/null org.gnome.evolution.dataserver.UserPrompter.service 

以上都没有帮助我,因为电子地址簿工厂继续运行并且即使在清除命令之后也占用了99%的CPU。 可执行文件位于/ usr / lib / evolution中:

 -rwxr-xr-x 1 root root 10544 Jul 30 2013 camel-index-control-1.2 -rwxr-sr-x 1 root mail 14664 Jul 30 2013 camel-lock-helper-1.2 -rwxr-xr-x 1 root root 27760 Jul 30 2013 e-addressbook-factory -rwxr-xr-x 1 root root 31984 Jul 30 2013 e-calendar-factory 

作为最后的手段,我将文件夹移开了:

 sudo mv /usr/lib/evolution /usr/lib/evolution-fu 

而现在它已停止运行。

使用Ubuntu 18.04(可能是16.04)你无法在不摆脱GNOME的情况下摆脱Evolution,所以最好的办法是禁用它。

基于PAStheLoD的回答及其评论,我编写了一个脚本来禁用evolution服务并通知dpkg / apt这些更改,以便它们不会在升级时消失。 希望这会帮助那些像我一样编写系统设置脚本的人,以防您需要重新安装。

我在Ubuntu 18.04.1 LTS上测试了这个。

 #!/bin/bash ## ## Disables the Evolution mail program's services by moving the services files ## to another directory. ## ## This must be run as root. ## SERVICES_HOME="/usr/share/dbus-1/services" DISABLED_DIR="$SERVICES_HOME/disabled" exitOnError() { local errorCode=$1 local errorMessage="$2" echo "$errorMessage" exit $errorCode } main() { # Make sure that we are running as root and that the services directory didn't change! if ! [ $(id -u) = 0 ]; then exitOnError -1 "Script must be run as root or sudo. Exiting..." fi if [ ! -d "$SERVICES_HOME" ]; then exitOnError -2 "Services directory $SERVICES_HOME does not exist. Exiting..." fi mkdir -p "$DISABLED_DIR" find "$SERVICES_HOME" -maxdepth 1 -type f -name "org.gnome.evolution.dataserver.*" ! -name "*.bak" -printf "%f\0" | while IFS= read -r -d $'\0' servicename; do # Tell dpkg/apt to update the file in DISABLED_DIR instead of the one in SERVICES_HOME dpkg-divert --quiet --divert "$DISABLED_DIR/$servicename" --rename --add "$SERVICES_HOME/$servicename" || exitOnError -3 "Unable to divert service $servicename." ln -snf /dev/null "$SERVICES_HOME/$servicename" echo "Disabled service $servicename" done echo "All evolution services have been disabled. Please restart for changes to take effect." } main 

要撤消此操作,请运行以下命令:

 sudo rm /usr/share/dbus-1/services/org.gnome.evolution.dataserver.* sudo dpkg-divert --rename --remove /usr/share/dbus-1/services/org.gnome.evolution.dataserver.AddressBook.service sudo dpkg-divert --rename --remove /usr/share/dbus-1/services/org.gnome.evolution.dataserver.Calendar.service sudo dpkg-divert --rename --remove /usr/share/dbus-1/services/org.gnome.evolution.dataserver.Sources.service sudo dpkg-divert --rename --remove /usr/share/dbus-1/services/org.gnome.evolution.dataserver.UserPrompter.service sudo rmdir /usr/share/dbus-1/services/disabled 

apt-get有一个–purge选项来完全删除包。

在终端:

 sudo apt-get remove --purge evolution sudo apt-get autoclean 

autoclean选项将清理系统中存储的包。 所以,如果你有一个包的多个版本,apt-get将只保留最后一个。