Как работает «Календарь»#
Календарь работает благодаря нескольким компонентам:
Приложение Calendar, где находится интерфейс пользователя
Evolution Data Server (сокращенно «EDS»), где хранятся сами календари
sync-monitor, служба отвечает за синхронизацию через сеть с другими календарями
SyncEvolution,служба отвечает за синхронизацию с удаленным календарем WebDAV/CalDAV
Отладка#
Самый удобный способ запускать команды на устройстве и получать лог-файлы - через shell. Это можно сделать с помощью Shell access via ADB или Shell access via SSH. Далее предполагается, что у Вас есть доступ к терминальной консоли устройства.
Ошибки с учетной записью и запланированными делами#
Если Вы не уверены, действительно синхронизация календаря прошла успешно, то следует проверить sync-monitor
. Эта служба должна быть всегда запущена в фоновом режиме, лог-файлы можно найти в папке ~/.cache/upstart/sync-monitor.log
. Чтобы увидеть актуальные на текущий момент времени данные , выполните команду:
tail -f .cache/upstart/sync-monitor.log
Данных в лог-файлах достаточно, чтобы можно было понять, есть ли проблемы с аккаунтами пользователя и как проходит синхронизация.
Ошибки синхронизации данных календаря#
Выполните следующие действия, чтобы убедиться, что предпринималась хотя бы попытка синхронизации учетной записи, и вы хотите исследовать сбой синхронизации или проблемы с отсутствующими или повторяющимися элементами. На устройстве можно запустить в режиме отладки команду syncevolution
. Для этого завершите все существующие процессы:
pkill sync-evo
Затем запустите процесс syncevolution
с правильной опцией:
SYNCEVOLUTION_DEBUG=1 /usr/lib/arm-linux-gnueabihf/syncevolution/syncevo-dbus-server
Теперь запустите приложение «Календарь» (если это еще не было сделано) и вручную запустите синхронизацию (обратите внимание, что запустить её можно только в том случае, если устройство подключено к Интернету): все журналы появятся в терминале.
В некоторых случаях вывода syncevolution
может быть недостаточно: например, необработанные данные HTTP обычно не показываются. Если они нужны, то придется изменить файл конфигурации. Файлы конфигурации syncevolution
находятся в папке ~/.config/syncevolution/
в подкаталоге с названием в формате <provider-name>-<account-id>
. Также могут быть устаревшие каталоги, относящиеся к старым учетным записям. Чтобы узнать, какие учетные записи еще действительны, можно использовать утилиту account-console
:
account-console list
Будет напечатан список всех действующих учетных записей. Как только станет известно имя нужной учетной записи, откройте файл ~/.config/syncevolution/<account>/peers/target-config/config.ini
и поставьте большее значение в переменной loglevel
(цифра 11
вполне подойдёт для вывода всего HTTP-трафика):
# level of detail for log messages:
# - 0 (or unset) = INFO messages without log file, DEBUG with log file
# - 1 = only ERROR messages
# - 2 = also INFO messages
# - 3 = also DEBUG messages
# > 3 = increasing amounts of debug messages for developers
loglevel = 11
Чтобы настройки вступили в силу, нужно перезапустить syncevolution
, как описывалось выше.