⌨ Labor omnia vincit ☮

Disable Akonadi and Strigi/Nepomuk

Posted in KDE, SuSE [ru] by anaumov on 16.06.2011

Меня часто спрашивают о настройках KDE, новых возможностях, а так же часто пишут о том, что в последних версиях KDE нельзя отключить часть сервисов. К ним в первую очередь относят Akonadi, PulseAudio и Nepomuk/Strigi. Что это такое, зачем оно нужно и как отключить я расскажу в этом посте (о PulseAudio читайте тут).
Я только что обновил KDE до 4.6.4 (сейчас лежит в KDE:Distro:Factory). В качестве дистрибутива я использую openSUSE 11.4. Итак, поехали.


Nepomuk обеспечивает обработку всех видов метаданных в KDE. Выделяют 3 группы метаданных:

  • Метаданные, созданные непосредственно пользователем. Например комментарий к файлу, тег (объединение файлов в группы) или его рейтинг. Их можно найти например на правой панели Dolphin.
  • Метаданные файлов. Например, индексация текста.
  • И наконец метаданные, которые не могут быть измененны вручную пользователем или путем индексации. Например, сохраненная локально электронная почта содержит информацию об отправителе.

Основные элементы Nepomuk интегрированы в kdelibs и kdebase (и используются Dolphin/Konqueror), но информацию о метаданных Nepomuk получает от Strigi. Это так называемый демон локального поиска (хотя разрабатывался в начале как библиотека), который находится на более низком уровне, чем KDE. Он написан на C++ и предствляет серию общих вызовов, которые программа может использовать, чтобы найти дополнительную информацию о данном файле или каталоге. Это независимый проект, которые никоим образом не связан с KDE, за исключением того, что использует его SVN-репозитории. В некоторых случаях у Nepomuk/Strigi могут резко возрастать запросы к ресурсам. Мы не обязанны постоянно нагружать из-за этого память, поэтому можем просто отключить их: System Settings => Desktop Search:

Как вы можете видеть, можно отключить Strigi, но оставть Nepomuk. В этом случае Nepomuk будет предоставлять нам и информацию, которую умеет собирать сам: Zeitgeist, Activity и Event информацию.


Akonadi – это фреймворк персонального информационного менеджера (PIM), или проше – PIM Storage Service , который предоставляет данные для всех PIM приложений в KDE4. Данные могут быть получены от Akonadi с помощью модели, разработанной для сбора специфичных данных (почты, календаря, контактов, и т. д.). Приложения позволяют пользователю просматривать и редактировать эти данные. Akonadi также поддерживает метаданные, созданные приложениями.

Так, например, KMail использует Akonadi и, более того, не может без него работать. Когда запускается KMail, он использует Akondi, но вот когда KMail закрывается, Akonadi продолжает работать. Это очень не удобно, т.к. он просто висит в памяти:

Почему же Akonadi не завершается вместе с KMail? Дело в том, что Akonadi не знает нужен ли он еще какому-то процессу или нет. Другими словами просто напросто не рализован механизм взаимодействия с клиентами. Это очень плохо! Разработчики Akonadi считают, что просто так процессу висеть в памяти это нормально. Думаю, что это будет исправленно в ближайших релизах.

Итак, как же остановить запущенный Akonadi? Управлять им можно с помощью akonadictl:

> akonadictl
Akonadi server manipulation tool
Usage: akonadictl [command]

Commands:
  start      : Starts the Akonadi server with all its processes
  stop       : Stops the Akonadi server and all its processes cleanly
  restart    : Restart Akonadi server with all its processes
  status     : Shows a status overview of the Akonadi server

General options:
  -h [ --help ]         show this help message
  --version             show version information

Останавливать его каждый раз придется вручную. Я не нашел пока способов связять завершение KMail с Akonadi. Чтобы Akonadi не запускался автоматически при старте системы, можно просто поменять значение одной переменной:

> vi ~/.config/akonadi/akonadiserverrc
...
...

StartServer=false

После этого Akonadi не стартует при запуске KDE, но и при запуске KMail он тоже не сможет запуститься. Кстати, если вы не используете PIM приложения, то можете смело удалить Akonadi из системы вообще.

2 Responses

Subscribe to comments with RSS.

  1. Alexander Mityunin said, on 17.06.2011 at 17:06

    Спасибо. Полезная статья. Только по моему в ~/.config/akonadi/akonadiserverrc переменная называется не StartService, а StartServer. По крайней мере я у себя только такую схожую по смыслу нашёл. Ссылку на статью сейчас актуально бы ещё на форум кинуть. http://forums.opensuse.org/p-russian/dhydh-dh-dh-dhun-dh-dh-dh/kde/461411-dh-dhun-dhudh-dh-dhu-dh-n-dh-dh-dh-n-dh-dh-dh-dh-n-n-dh-kde-2.html

    • Alex said, on 17.06.2011 at 17:47

      Да, спасибо! В который раз ты мне уже помогаешь =)
      Я невнимательный… StartServer.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: