Начиная со второго сеанса работы в 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 можно выполнить команду:
Устранение проблем с базой данных Akonadi
На всякий случай напомню, что по умолчанию Akonadi запускает отдельный
экземпляр сервера MySQL для хранения базы данных akonadi
(в
терминологии Akonadi – локальный сервер MySQL). База данных
akonadi
и системные базы данных локального сервера MySQL создаются
в момент первого запуска сервера Akonadi. При выполнении этой операции могут
возникать ошибки, признаком наличия которых являются сообщения Журнал
сервера MySQL содержит предупреждения или Журнал сервера MySQL содержит
ошибки в окне Внутренние тесты сервера Akonadi – Параметры
системы, для отображения которого следует перейти к модулю Настройка
Akoandi, находящемуся на закладке Дополнительно окна Параметры
системы, в открывшемся окне Настройка Akonadi – Параметры системы
перейти на закладку Настройка сервера Akonadi и нажать кнопку
Проверка. После нескольких безуспешных попыток "приручения” локального
сервера MySQL, я решил попробовать разместить базу данных akonadi
на центральном сервере MySQL, который был установлен из портов (в терминлогии
Akonadi – внешнем сервере MySQL). Этого оказалось достаточно для
устранения всех проблем с базой данных Akonadi, в связи с чем я рекомендую Вам
последовать моему примеру. Для создания базы данных akonadi
и
пользователя akonadi
необходимо запустить клиент MySQL
командой:
ввести пароль пользователя-администратора и выполнить три SQL-запроса:
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
):
На этом устранение проблем с базой данных 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:
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 в повседневной работе, не забывая делиться с общественностью приобретенным опытом.