Глава 7. Устранение неполадок KMail

Некоторые части этой главы были созданы на основе страницы «KMail/FAQ, подсказки и советы» с сайта KDE UserBase в 2012 году.

David Bryant

Перевод на русский язык: Мария Шикунова
Издание 5.14.2 (Приложения KDE 20.04.2) (8 августа 2021 г.)

Введение в Akonadi

KMail активно развивается с 1997 года. За эти годы появилось множество ошибок, многие из них уже исправлены. Информация о старых ошибках содержится на странице вики KDE UserBase «KMail/FAQ, подсказки и советы». Также посетите главную страницу отслеживания ошибок KDE, чтобы узнать историю более свежих ошибок.

В настоящий момент (2021) многие из проблем, с которыми сталкиваются пользователи KMail, связаны с сервером Akonadi. Akonadi — это вспомогательное приложение, работающее как промежуточное звено между KMail (и другими PIM-приложениями) и фоновой службой базы данных общего назначения (наиболее распространённый вариант — это «mysqld»). Оно также обеспечивает обмен данными между процессами различных частей PIM-приложений. В зависимости от параметров системы Akonadi может запускаться во время загрузки или входа в систему. Либо оно может не запускаться до тех пор, пока не будет запущено PIM-приложение (например, KMail, KAddressBook или Kontact).

Предусмотрены две программы, позволяющие взаимодействовать с сервером Akonadi напрямую: akonadictl (программа для управления через терминал) и akonadiconsole (программа с графическим интерфейсом). Далее представлена краткая информация об обеих программах.

 

Программа управления Akonadictl

Отчёт о состоянии Akonadi

Отчёт о состоянии Akonadictl, запущено 32 агента

 

На снимке экрана изображена одна из команд, которой можно воспользоваться в программе akonadictl. Далее представлены все команды, которые распознаёт akonadictl.

~$ akonadictl start

Запускает сервер Akonadi.

~$ akonadictl stop

Останавливает сервер Akonadi.

~$ akonadictl restart

Перезапускает сервер Akonadi.

~$ akonadictl status

Выводит отчёт о состоянии, проиллюстрированный на предыдущем снимке экрана.

~$ akonadictl instances

Выводит список экземпляров сервера Akonadi (возможна одновременная работа нескольких экземпляров).

~$ akonadictl vacuum

Очищает хранилище данных Akonadi или хотя бы пытается выполнить очистку.

~$ akonadictl fsck

Выполняет проверку целостности файла. Выводимые этой командой данные могут быть достаточно объёмными, особенно если в KMail были добавлены собственные папки. Воспользуйтесь этой версией команды (с передачей вывода через конвейер в grep), чтобы проверить целостность базы данных Akonadi без лишнего вывода.

~ $ akonadictl fsck 2
>&1 | grep ^Found
Found 0 external files.
Found 0 external parts.
Found no unreferenced external files.
Found 0 parts to be moved to external files
Found 0 parts to be moved to database
Found 6 collections without RID.
Found 0 items without RID.
Found 0 dirty items.

RID — это сокращение от RemoteId, именованного поля в таблицах базы данных mysql. Если есть хотя бы одна запись без RID, это небольшая проблема, которую следует исправить. Если есть хотя бы одна запись «в обработке», это может быть серьёзная проблема, которую необходимо исправить. Подробнее — в разделах «Невозможно извлечь элемент из серверной части…» и «Исправление записей KMail в обработке» ниже.

 

Программа Akonadiconsole

Внешний вид akonadiconsole

Работа Akonadiconsole

 

Программа akonadiconsole предлагает двенадцать различных «окон» во внутреннее устройство приложений PIM. Ниже приведено краткое описание доступных представлений.

Вкладка Agents.

Здесь представлен список агентов пользователя (обработчиков).

Вкладка Browse.

На этой вкладке представлено описание различных коллекций данных, которые сопровождает Akonadi, организованное в древовидную иерархию, где показано, сколько записей хранится в каждой коллекции.

Вкладка Debugger.

Здесь можно включить или выключить отладку и просмотреть журнал отладочных сообщений.

Вкладка Logging.

Эта вкладка позволяет просмотреть сообщения, отправляемые разными компонентами Akonadi.

Вкладка DB Browser.

Эта вкладка позволяет просматривать базы данных mysql. В базе данных представлено множество разных таблиц.

Вкладка DB Console.

Здесь можно послать запрос базе данных mysql.

Вкладка Query Debugger.

На этой вкладке можно включить или отключить отладочные запросы к базе данных. KMail отправляет запросы в базу данных mysql много раз всего за несколько секунд; выходные данные могут занимать большой объём.

Вкладка Job Tracker.

Приложения PIM выполняют различные функции, инициируя «задачи». Эта вкладка позволяет включить или выключить слежение за этими задачами.

Вкладка Resources Schedulers.

Эта вкладка позволяет увидеть, какие ресурсы требуются при вызове определённой функции PIM. Список ресурсов Akonadi в используемой системе расположен в папке ~/.config/akonadi/.

Вкладка Notification Monitor.

Эта вкладка позволяет просматривать уведомления, отправленные разными ресурсами Akonadi.

Вкладка Item Search.

Эта вкладка позволяет осуществлять общий поиск. Этот поиск можно ограничить календарём, контактами, электронной почтой или заметками.

Вкладка Monitors.

Здесь представлен список всех средств наблюдения, запущенных в Akonadi, а также их свойства. Наблюдение ведётся за агентами, ресурсами и некоторыми приложениями.