Циклы заводов Evolution замедляют работу системы до внезапных и длительных остановок. Когда я получаю доступ к системному монитору, я могу остановить отдельные процессы, которые вызывают проблему. Эти процессы являются следующими:
evolution-source-registry
, в частности, фабрика эволюционной адресной книги
Как только фабрика эволюционной адресной книги остановлена, процессы в конечном итоге заменяются процессами с аналогичными именами, но цикл останавливается , Когда я подключаюсь к Thunderbird, он существенно замедляется. Изначально я использовал Evolution Mail при запуске Ubuntu 12.10, но удалил ее и использовал Thunderbird.
Характеристики моего ноутбука:
Ubuntu 13.04, 32-разрядная
2,0 ГГц (двухъядерный, оба ядра с тактовой частотой 2,0 ГГц)
1 ГБ ОЗУ После выполнения рекомендованного процедуры для полного удаления Я получил ошибку чтения кэша после полного удаления эволюции из менеджера пакетов. Повторная загрузка пакетов в диспетчере пакетов включила распознавание электронной почты и вызвала ошибку, показанную на скриншоте.
apt-get имеет опцию --purge для полного удаления пакета.
В терминале:
sudo apt-get remove --purge evolution
sudo apt-get autoclean
Опция autoclean очищает пакет, хранящийся в вашей системе. Поэтому, если у вас несколько версий пакета, apt-get сохранит только последнюю версию.
Удаление - это грязное дело, но отключение относительно просто.
Конечно, это должно быть сделано с помощью 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
С Ubuntu 18.04 (и, вероятно, 16.04) вы не можете избавиться от Evolution, не избавившись от GNOME, поэтому лучше всего отключить его.
Основываясь на ответе PAStheLoD и его комментариях, я написал скрипт для отключения сервисов эволюции и информирования 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 Чтобы отменить это, выполните следующее:
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
\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
Ничто из вышеперечисленного не помогло мне, поскольку фабрика электронных адресных книг продолжала работать и загружать 99% ЦП даже после команды очистки. Исполняемый файл находится в / 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
И теперь он перестал работать .
Чтобы удалить Evolution, просто нажмите Ctrl kbd> + Alt kbd> + T kbd> на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (команды) ниже:
sudo apt-get --purge remove evolution evolution-exchange evolution-plugins evolution-common evolution-webcal
Приведенная выше команда не удалит сервер данных эволюции, общий сервер данных эволюции
Я бы порекомендовал вы используете Synaptic Package Manager, чтобы полностью удалить Evolution. Просто найдите его и отметьте для полного удаления.
Также просто чтобы быть уверенным, после удаления do:
sudo rm /usr/share/indicators/messages/applications/evolution
Теперь имейте в виду, что удаление эволюции, также удалит панель гнома. для установки просто сделайте:
sudo apt-get install gnome-panel
на Ubuntu 19.04 для остановки эволюции:
#!/bin/bash
chmod -x /usr/libexec/evolution-addressbook-factory
chmod -x /usr/libexec/evolution-calendar-factory
chmod -x /usr/libexec/evolution-data-server/evolution-alarm-notify
chmod -x /usr/libexec/evolution-source-registry
apt install gnome-session && apt purge evolution && apt autoremove
Если вы хотите отключить этот дурацкий бесполезный процесс эволюции, сделайте следующее:
for i in /usr/libexec/evoluti*; do sudo mv $i "$i.useless"; done
Эта команда добавит ".useless" к бинарным файлам, что сделает их несуществующими, я могу вам гарантировать, что бесполезная глупая мысль больше никогда не начнется.