FreeBSD: Устранение ошибок автоматического запуска сервера Akonadi
Начиная со второго сеанса работы в KDE4, у меня перестал запускаться сервер Akonadi, а в его журнале начали появляться сообщения об ошибках сервера MySQL, а также более странные сообщения “Процесс управления Akonadi не зарегистрирован в D-Bus” и “Процесс управления сервером Akonadi не зарегистрирован в D-Bus”. Судя по диалогам на форумах, многие столкнулись с данной проблемой, руководство по решению которой мне так и не попалось. Пришлось разбираться самостоятельно.
Зачем тратить время на настройку системы Akonadi?
Так думают все, кто расценивает систему Akonadi (далее – Akonadi), как не понятно зачем придуманное дополнение для PIM приложений KDE4. Это ошибочный подход. Akonadi является интерфейсом, обеспечивающим стыковку приложений KDE4 с большинством существующих хранилищ персональных данных (адресных книг, календарей и т.д.), начиная с файлов на локальном диске и заканчивая корпоративными Groupware-серверами и Online-службами сети Интернет. Чтобы не быть голословным, я покажу, как с помощью Akonadi можно за несколько минут организовать хранение контактов KAddressBook в адресной книге Gmail и задач KOrganizer в Календаре Google.
Причины ошибок автоматического запуска сервера Akonadi
Я столкнулся с двумя причинами возникновения ошибок запуска сервера Akonadi, первая из которых связана с нарушением структуры баз данных Akonadi, вторая – с отсутствием корректно настроенных источников данных Akonadi. Кроме этого, возможно появление некорректно настроенных источников данных Akonadi, связаное с ошибками в работе службы миграции Akonadi, предназначенной для переноса данных из хранилищ устаревших типов в хранилища Akonadi. Для отключения автозапуска службы миграции Akonadi можно выполнить команду:
kwriteconfig --file kres-migratorrc --group Migration --key Enabled --type bool false
Устранение проблем с базой данных Akonadi
На всякий случай напомню, что по умолчанию Akonadi запускает отдельный экземпляр сервера MySQL для хранения базы данных akonadi (в терминологии Akonadi – локальный сервер MySQL). База данных akonadi и системные базы данных локального сервера MySQL создаются в момент первого запуска сервера Akonadi. При выполнении этой операции могут возникать ошибки, признаком наличия которых являются сообщения Журнал сервера MySQL содержит предупреждения или Журнал сервера MySQL содержит ошибки в окне Внутренние тесты сервера Akonadi – Параметры системы, для отображения которого следует перейти к модулю Настройка Akoandi, находящемуся на закладке Дополнительно окна Параметры системы, в открывшемся окне Настройка Akonadi – Параметры системы перейти на закладку Настройка сервера Akonadi и нажать кнопку Проверка. После нескольких безуспешных попыток “приручения” локального сервера MySQL, я решил попробовать разместить базу данных akonadi на центральном сервере MySQL, который был установлен из портов (в терминлогии Akonadi – внешнем сервере MySQL). Этого оказалось достаточно для устранения всех проблем с базой данных Akonadi, в связи с чем я рекомендую Вам последовать моему примеру. Для создания базы данных akonadi и пользователя akonadi необходимо запустить клиент MySQL командой:
mysql -u <имя пользователя-администратора> -p
ввести пароль пользователя-администратора и выполнить три SQL-запроса:
CREATE DATABASE akonadi; GRANT ALL PRIVILEGES ON akonadi.* TO akonadi@localhost IDENTIFIED BY 'akonadi'; FLUSH PRIVILEGES;
А затем перейти на закладку Настройка сервера Akonadi окна Настройка Akonadi – Параметры системы и изменить параметры доступа к внешнему серверу MySQL: снять “галочку” Использовать локальный сервер MySQL, ввести в поля Database name, Пользователь и Пароль заданные на предыдущем этапе имя базы данных, имя пользователя и пароль, ввести в поле Параметры текст UNIX_SOCKET=/tmp/mysql.sock.
Теперь можно удалить содержимое папки $HOME/.local/config/akonadi (трогать саму папку не стоит, т.к. она будет автоматически создана при следующем запуске сервера Akonadi, который по умолчанию размещает в ней свой сокет, имеющий имя akonadiserver.socket):
rm -Rf $HOME/.local/config/akonadi/*
На этом устранение проблем с базой данных Akonadi заканчивается, можно запустить / перезапустить / остановить сервер Akonadi, однако, пока только вручную. Если перезапустить сеанс KDE4, сервер Akonadi опять не запустится, в его журнале не будет информации об ошибках MySQL, однако, упомянутые выше сообщения Процесс управления Akonadi не зарегистрирован в D-Bus и Процесс управления сервером Akonadi не зарегистрирован в D-Bus, а, возможно, и Агенты источников не найдены, никуда не денутся.
Настройках источников данных Akonadi
В первую очередь необходимо перейти на закладку Настройка сервера Akonadi окна Настройка Akonadi – Параметры системы и вручную запустить сервер Akonadi, переключиться на закладку Настройка источников Akonadi и удалить некорректно сконфигурированные и помеченные маркером
источники данных Akonadi. Затем следует перейти к модулю Источники данных, находящемуся на закладке Дополнительно окна Параметры системы, и добавить два источника данных Akonadi. Количество добавляемых источников данных зависит от конкретной задачи, самое главное – оно должно быть строго больше нуля, иначе сервер Akonadi не будет запускаться автоматически. На своем компьютере я добавил Адресные книги Akonadi (доступ к папкам адресных книг Akonadi) для последующего хранения контактов KAddressBook в адресной книге Gmail, а также Akonadi (доступ к папкам календарей Akonadi) для последующего хранения задач KOrganizer в Календаре Google. На данном этапе не нужно менять параметры добавляемых источников данных за исключением имен, которые можно выбрать согласно личным предпочтениям (я выбрал имена akonadi-addressbook-resource и akonadi-calendar-resource). Лучше сделать добавленные источники данных Akonadi источниками данных по умолчанию и удалить все остальные источники данных. Данная мера позволит избавиться от вопросов PIM приложений KDE4 о месте сохранения контактов и задач. На этом настройка автоматического запуска сервера Akonadi заканчивается, можно перезапустить сеанс KDE4 и убедиться, что сервер Akonadi запустился. Все замечательно, однако, пока система Akonadi не приносит пользы, в связи с чем я перехожу к описанию одного из вариантов ее применения “на благо человечества”.
Хранение контактов в адресной книге Gmail и задач в Календаре Google
В первую очередь следует установить агенты, позволяющие источникам данных Akonadi взаимодействовать со службами Google:
cd /usr/ports/databases/akonadi-googledata make install clean
А затем перейти к модулю Источники данных, выбрать источник данных akonadi-addressbook-resource (akonadi-calendar-resource), нажать кнопку Изменить, в открывшемся окне Настройка источника – Параметры системы нажать кнопку Manage Address Book Sources (Manage Calendar Sources), в открывшемся окне Manage Address Book Sources – Параметры системы (Manage Calendar Sources – Параметры системы) нажать кнопку Добавить, в открывшемся окне Параметры системы выбрать Akonadi Google Contacts Resource (Akonadi Google Calendar Resource), ввести имя своей учетной записи и пароль Gmail, ввести пароль KWallet, если он не был введен ранее, закрыть окно Manage Address Book Sources – Параметры системы (Manage Calendar Sources – Параметры системы), выбрать добавленный агент akonadi_googledata_resource_0 (akonadi_gcal_resource_0), установить “галочки” Contacts и Distribution Lists (Events, Todos и Journals) и нажать кнопку Ok. Вот и вся настройка. На десерт я предлагаю видеоролик, демонстрирующий использование свеженастроенных функций в KAddressBook (при желании Вы сможете найти в Сети аналогичную инструкцию по использованию соответствующих функций в KOrganizer):
Заключение
Я надеюсь, что после прочтения этой статьи Вы сможете устранить ошибки автоматического запуска сервера Akonadi и забыть про надоевшие сообщения Процесс управления Akonadi не зарегистрирован в D-Bus и Процесс управления сервером Akonadi не зарегистрирован в D-Bus, а также начнете использовать систему Akonadi в повседневной работе, не забывая делиться с общественностью приобретенным опытом.
Другие статьи в рубрике ‘FreeBSD » Десктоп с FreeBSD’
- FreeBSD: Печать на сетевой принтер, подключенный к компьютеру с Windows
- FreeBSD: Восстановление работоспособности ICQ в Kopete для KDE 3.5.x
- FreeBSD: Графическая заставка во время загрузки операционной системы
- FreeBSD: Настройка шрифтов в десктопных приложениях
- FreeBSD: Поддержка Flash в браузерах Konqueror, Mozilla Firefox и Opera
- FreeBSD: Загрузка со второго жесткого диска с помощью NTLDR

Ставить MySQL ради какого-то органайзера и списка контактов – это ужаснах. Для таких задач достаточно SQLite. Я считаю, что этот звоночек говорит об очень простой вещи – KDE теперь пишут быдлокодеры. И до тех пор, пока для работы с некоторыми программами из KDE нужно будет ставить MySQL, я на эти программы даже смотреть не стану.
В моем случае MySQL нужен не только для Akonadi, поэтому ничего страшного. А вообще я с Вами согласен. Где-то попадалась инфа, что в ближайшее время будет добавлена поддержка SQLite, подождем, посмотрим.
Жду этого с нетерпением. В первую очередь – в Amarok’е.
Тоже пользуюсь Amarok’ом.
Спасибо за подсказки
На здоровье
Большое спасибо за ваш блог!

Очень помогли статьи, особенно про настройку флеша! Очень чётко и по делу, с первого раза настроилось
И про Akonadi (надоела ошибка) и про загрузку со второго харда – тоже спасибо
Спасибо за лестный отзыв!
А я вот нашел решение Akonadi control process not registered at D-Bus – FedoraForum.org. Quote:
I add
"user=root"in the Akonadi local mysql configuration file (on my computer, it is/root/.local/share/akonadi//mysql.conf), and Akonadi server can be started successfully.И правда заработало на FreeBSD 8.0.
Если мне не изменяет память, данное решение работает только при запуске KDE под root’ом (такой запуск KDE является грубейшим нарушением с точки зрения безопасности системы)
Спасибо за статью, многое прояснилось, но все таки не стал возиться с настройками SQL, просто синхронизировал контакты и календарь через google. Но вот дела, все равно, при каждой перезагрузке и запуске Kmail выдается ошибка запуска anokandi (невозможно найти источник данных), хотя в настройках системы выбрано googldata использовать по умолчанию :-/ Исправляется это повторным введением логина и пароля в настройках источников в Akonadi … Да и вобщем синхронизация с гугл контактами не совсем корректна – те контакты которые имеют e-mail, заметки, день рождения, в Kontacte видны только с номером телефона…и всё, все поля пусты. Возможно это из-за различия форматов заголовков у anokadi и google… Есть у кого нибудь соображения по этому поводу?
Мне кажется, нужно подождать, когда Akonadi доведут до ума. Система имеет большой потенциал, однако, пока она реализована кривовато.
Проверил не под root`ом – вроде запустился. Хотя кто-знает, FreeBSD только осваиваю..
У меня не запускался