Archive:Http://userbase.kde.org/Akonadi 4.4/Troubleshooting/uk: Difference between revisions

From KDE UserBase Wiki
(Created page with 'Докладніші відомості можна знайти у [http://bugs.kde.org/226960 цьому звіті щодо вади].')
m (FuzzyBot がページ「Akonadi 4.4/Troubleshooting/uk」を「Archive:Http://userbase.kde.org/Akonadi 4.4/Troubleshooting/uk」に、リダイレクトを残さずに移動しました: Part of translatable page "Akonadi 4.4/Troubleshooting".)
 
(174 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Template:I18n/Language Navigation Bar|Akonadi 4.4/Troubleshooting}}
<languages />
<languages />
==Вступ==
==Вступ==


Цю сторінку в основному присвячено усуванню проблем, пов’язаних з Akonadi, оскільки на початкових кроках переходу до нової системи завжди виникають труднощі. Більшість користувачів вперше зіткнуться з роботою Akonadi у KDE 4.4, багато з них залишаться незадоволені роботою системи. Короткий опис призначення Akonadi можна знайти у [[Glossary_(uk)#Akonadi|цьому записі глосарія]]. Крім того, у тексті статті ви знайдете інші корисні посилання. Після подолання прикрих проблем з Akonadi ця система стане справжнім рушієм роботи багатьох програм.
Цю сторінку в основному присвячено усуванню проблем, пов’язаних з '''Akonadi''', оскільки на початкових кроках переходу до нової системи завжди виникають труднощі. Більшість користувачів вперше зіткнуться з роботою '''Akonadi''' у '''KDE 4.4''', багато з них залишаться незадоволені роботою системи. Короткий опис призначення '''Akonadi''' можна знайти у [[Glossary/uk#Akonadi|цьому записі глосарія]]. Крім того, у тексті статті ви знайдете інші корисні посилання. Після подолання прикрих проблем з Akonadi ця система стане справжнім рушієм роботи багатьох програм.


===Про структуру даних системи===
===Про структуру даних системи===


Звичайно ж, ви можете скористатися Kontact для керування всіма вашими адресними книгами, але якщо ви користуєтеся, наприклад, системою резервного копіювання даних, вам варто знати, де зберігаються ваші дані, та як програма їх обробляє. У цьому вам допоможе сторінка [[Akonadi_and_AddressBook]].
Звичайно ж, ви можете скористатися '''Kontact''' для керування всіма вашими адресними книгами, але якщо ви користуєтеся, наприклад, системою резервного копіювання даних, вам варто знати, де зберігаються ваші дані, та як програма їх обробляє. У цьому вам допоможе сторінка [[Akonadi_and_AddressBook/uk|Akonadi_and_AddressBook]].


== Підказки з усування проблем ==
== Підказки з усування проблем ==


* Якщо ви повідомляєте про помилки, пов’язані з сервером Akonadi, завжди додавайте до повідомлень звіти з автоматично самотестування системи. Дані цього звіту можна отримати за допомогою діалогового вікна автоматичного тестування, яке сервер Akonadi відкриває у разі невдалої спроби запуску. Крім того, доступ до діалогового вікна автоматичного тестування можна отримати за допомогою модуля Центру керування, доступ до якого можна отримати за допомогою команди 'kcmshell4 kcm_akonadi'.
* Якщо ви повідомляєте про помилки, пов’язані з сервером '''Akonadi''', завжди додавайте до повідомлень звіти з автоматично самотестування системи. Дані цього звіту можна отримати за допомогою діалогового вікна автоматичного тестування, яке сервер '''Akonadi''' відкриває у разі невдалої спроби запуску. Крім того, доступ до діалогового вікна автоматичного тестування можна отримати за допомогою модуля Центру керування, доступ до якого можна отримати за допомогою команди
 
{{input|1=kcmshell4 kcm_akonadi}}
* Запуск сервера Akonadi вручну за допомогою командного рядка може надати вам додаткову корисну інформацію. Здійснити подібний запуск можна за допомогою команди '''akonadictl start''', відданої з консолі. Зупинити роботу сервера Akonadi можна за допомогою команди '''akonadictl stop'''. Команда '''akonadictl status''' виведе додаткову корисну інформацію.
* Запуск сервера '''Akonadi''' вручну за допомогою командного рядка може надати вам додаткову корисну інформацію. Здійснити подібний запуск можна за допомогою команди
 
{{input|1=akonadictl start}}
Зупинити роботу сервера '''Akonadi''' можна за допомогою команди
{{input|1=akonadictl stop}}
У відповідь на цю команду буде виведено додаткові корисні відомості:
{{input|1=akonadictl status}}
==Типові проблеми==
==Типові проблеми==


===Не запускається Kontact — при цьому програма не повідомляє ні про які помилки===
===Не запускається Kontact — при цьому програма не повідомляє ні про які помилки===


Якщо Kontact не запускається і не повідомляє ні про які помилки, перевірте, чи запущено Akonadi. За запитом Akonadi має бути запущено, але у поточній версії (січень 2010 року) цього не відбувається. Вам доведеться запустити сервер до запуску Kontact, якщо ресурси вашої системи було перетворено (найімовірніше, ресурси KAddressBook). Для запуску сервера скористайтеся піктограмою системного лотка AkonadiTray.
Якщо '''Kontact''' не запускається і не повідомляє ні про які помилки, перевірте, чи запущено '''Akonadi'''. За запитом '''Akonadi''' має бути запущено, але у поточній версії цього не відбувається. Вам доведеться запустити сервер до запуску '''Kontact''', якщо ресурси вашої системи було перетворено (найімовірніше, ресурси '''KAddressBook'''). Для запуску сервера скористайтеся піктограмою системного лотка '''Akonadi'''.


===Kontact не запускається, інша причина===
===Kontact не запускається, інша причина===


Оновлення роблять Kontact непрацездатним. Якщо таке сталося з вашою копією програми, спробуйте запустити KMail, KOrganizer або будь-яку іншу складову за допомогою KRunner (або Konsole).  Ймовірно, ці програми залишаться працездатними, і ви зможете перечекати до наступного оновлення, яке може виправити ситуацію. Все це, в основному стосується, версії 4.4.0.
Оновлення роблять '''Kontact''' непрацездатним. Якщо таке сталося з вашою копією програми, спробуйте запустити '''KMail''', '''KOrganizer''' або будь-яку іншу складову за допомогою '''KRunner''' (або '''Konsole''').  Ймовірно, ці програми залишаться працездатними, і ви зможете перечекати до наступного оновлення, яке може виправити ситуацію. Все це, в основному стосується, версії 4.4.0.


===Не знайдено теки: «/Local»===
===Не знайдено теки: «/Local»===


Про таку помилку повідомляють багато користувачів, яким не вдалося запустити Kontact. Ймовірно, під час перетворення даних сталася помилка, і KMail шукає локальні дані пошти у /home/''користувач''/.local/share/Local, каталозі, який не було заповнено даними. Щоб позбутися проблеми не намагайтеся виправити її вручну. Закрийте вікна KMail/Kontact, відкрийте консоль Akonadi (за допомогою команди 'akonadiconsole' у інструменті запуску команд (Alt-F2) або у konsole) і вилучіть ресурс, який призначено для локальних поштових даних. Після цього Kontact або KMail мають запускатися у звичайному режимі, має бути створено новий ресурс, що вказує на каталог /home/''користувач''/.local/share/local-mail
Про таку помилку повідомляють багато користувачів, яким не вдалося запустити Kontact. У ранніх версіях серії 4.4 була помилка, програма '''KMail''' шукала локальні дані пошти у ~/.local/share/Local, каталозі, який не було заповнено даними. Щоб позбутися проблеми не намагайтеся виправити її вручну. Закрийте вікна '''KMail'''/'''Kontact''', відкрийте консоль '''Akonadi''':
* натисніть комбінацію клавіш Alt-F2
* або скористайтеся командою "akonadiconsole" у '''konsole'''
 
Вилучіть ресурс, який призначено для локальних поштових даних. Після цього '''Kontact''' або '''KMail''' мають запускатися у звичайному режимі, має бути створено новий ресурс, що вказує на каталог ~/.local/share/local-mail


===У ~/.local/share/ з’являються якісь нові теки===
===У ~/.local/share/ з’являються якісь нові теки===
Line 37: Line 43:




The akonadi_maildir_resource is created automatically by the akonadi_maildispatcher_agent, while the latter is always started together with the Akonadi server as it provides basic functionality (e.g. sending mail) that is used by all mail applications that are (and will be) based on Akonadi. So it is ok that these two are running, as a user you can simply ignore them.
Файл ''akonadi_maildir_resource'' створюється автоматично програмою '''akonadi_maildispatcher_agent'''. Ця програма завжди запускається разом з сервером '''Akonadi''', оскільки надає базові функціональні можливості (наприклад, надсилання пошти), якими користуються всі поштові програми, які засновано (або буде засновано) на '''Akonadi'''. Отже запуск цих двох програм є звичною справою, користувач не повинен цього взагалі помічати.
This autogenerated akonadi_maildir_resource will always point to ~/.local/share/local-mail/ which is your 'Local folders' account where your local folders and emails will be stored.
Файл autogenerated ''akonadi_maildir_resource'' є символічним посиланням, яке завжди вказуватиме на ~/.local/share/local-mail/, обліковий запис ваших ''Локальних тек'', де зберігатимуться дані ваших тек та повідомлень електронної пошти.


У поточній версії, KDE 4.4, поштові дані ще не перетворюються.
У поточній версії, '''KDE 4.4''', поштові дані ще не перетворюються.


===Допоміжні програми індексування Nepomuk вимкнено===
===Допоміжні програми індексування Nepomuk вимкнено===


Kontact працює, але ви бачите вікно з таким повідомленням:
'''Kontact''' працює, але ви бачите вікно з таким повідомленням:


[[image:NepomukError.png|400px|center]]
[[image:NepomukError.png|400px|center]]


Найпоширенішою причиною є те, що Nepomuk вимкнено у «Системних параметрах». Будь ласка, спробуйте увімкнути систему на вкладці «Додатково»->«Стільничний пошук»->«Основні параметри». Позначте пункт «Увімкнути семантичну стільницю Nepomuk» і натисніть кнопку «Застосувати».
Найпоширенішою причиною є те, що '''Nepomuk''' вимкнено у '''Системних параметрах'''. Будь ласка, спробуйте увімкнути систему на вкладці <menuchoice>Додатково -> Стільничний пошук -> Основні параметри</menuchoice>. Позначте пункт '''Увімкнути семантичну стільницю Nepomuk''' і натисніть кнопку '''Застосувати'''.


Якщо вмикання не допомагає (систему вже увімкнено), і ви користувалися тестовими випусками KDE 4.4, ймовірно причиною є зміна компонування бази даних (через оновлення сервера бази даних Virtuoso з версії 5 до версії 6). Змусити програми знову працювати можна такими командами:
Якщо вмикання не допомагає (систему вже увімкнено), і ви користувалися тестовими випусками '''KDE 4.4''', ймовірно причиною є зміна компонування бази даних (через оновлення сервера бази даних '''Virtuoso''' з версії 5 до версії 6). Змусити програми знову працювати можна такими командами:


{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
:::{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
| qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
| qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
|-
|-
| rm -r .kde/share/apps/nepomuk
| rm -r ~/.kde/share/apps/nepomuk
|-
|-
| rm -r ~/.kde4/share/apps/nepomuk
| rm -r ~/.kde4/share/apps/nepomuk
Line 61: Line 67:
| nepomukserver  
| nepomukserver  
|}
|}
Зауважте, що наведені команди не призведуть до запуску системи після кожного перезавантаження. Для запуску системи вам варто скористатися «Системними параметрами».


Для роботи Akonadi потрібен Nepomuk, а без Akonadi не працюватиме Kontact. Але для роботи зовсім не потрібен індексатор Strigi. Strigi використовується лише для пошуку файлів, його роботу не пов’язано з Kontact. Для належної роботи Kontact достатньо запуску Nepomuk.
Зауважте, що наведені команди '''''не''''' призведуть до запуску системи після кожного перезавантаження. Для запуску системи вам варто скористатися '''Системними параметрами'''.


У Kontact Nepomuk виконує різні функції від показу даних щодо днів народжень до обробки списку зайнятого часу і показу фотографій контактів. Якщо Nepomuk не буде запущено, деякими з функціональних можливостей Kontact не можна буде скористатися. Це зауваження наведено тут з метою попередити вас про те, що вимикання Nepomuk звузить можливості програм.
Для роботи '''Akonadi''' потрібен '''Nepomuk''', а без '''Akonadi''' не працюватиме '''Kontact'''. Але для роботи зовсім не потрібен індексатор '''Strigi'''. '''Strigi''' використовується лише для пошуку файлів, його роботу не пов’язано з '''Kontact'''. Для належної роботи '''Kontact''' достатньо запуску '''Nepomuk'''.


Перевірити, чи запущено Nepomuk, можна за допомогою команди ''akonadictl status''.
У '''Kontact''' '''Nepomuk''' виконує різні функції від показу даних щодо днів народжень до обробки списку зайнятого часу і показу фотографій контактів. Якщо '''Nepomuk''' не буде запущено, деякими з функціональних можливостей '''Kontact''' не можна буде скористатися. Це зауваження наведено тут з метою попередити вас про те, що вимикання '''Nepomuk''' звузить можливості програм.


Перевірити, чи запущено '''Nepomuk''', можна за допомогою команди
{{input|1=akonadictl status}}
===Я хочу користуватися своїми старими адресною книгою та програмою керування особистими даними. Чи можу я це зробити?===
===Я хочу користуватися своїми старими адресною книгою та програмою керування особистими даними. Чи можу я це зробити?===


Так. Якщо для додавання ресурсу ви скористалися консоллю Akonadi, ви зможете обрати варіант «Стандартна адресна книга» — вкажіть ваш файл std.vcf, і все запрацює. Перетворення цього файла не знищить дані вашої старої адресної книги. Ви можете продовжити користуватися нею, хоча втратите всі переваги, які колись зможе надати вам Akonadi. Крім того, ви можете користуватися одночасно адресною книгою Akonadi та вашою адресною книгою протягом перехідного періоду, якщо це надасть вам почуття безпеки.
Так. Якщо для додавання ресурсу ви скористалися консоллю '''Akonadi''', ви зможете обрати варіант ''Стандартна адресна книга'' — вкажіть ваш файл std.vcf, і все запрацює. Перетворення цього файла не знищить дані вашої старої адресної книги. Ви можете продовжити користуватися нею, хоча втратите всі переваги, які колись зможе надати вам '''Akonadi'''. Крім того, ви можете користуватися одночасно адресною книгою '''Akonadi''' та вашою адресною книгою протягом перехідного періоду, якщо це надасть вам почуття безпеки.


===Моя нова адресна книга не показує жодних додаткових даних записів===
===Моя нова адресна книга не показує жодних додаткових даних записів===


У поточній версії причину такої поведінки ще не вдалося виявити, але впоратися з цим дуже просто. Закрийте вікно Kontact і запустіть KAddressBook як окрему програму. Після закриття вікна адресної книги ви зможете користуватися нею і у Kontact. Здається, під час запуску Kontact не виконується якась додаткова дія, будемо сподіватися, що це буде виправлено найближчим часом.
У поточній версії причину такої поведінки ще не вдалося виявити, але впоратися з цим дуже просто. Закрийте вікно '''Kontact''' і запустіть '''KAddressBook''' як окрему програму. Після закриття вікна адресної книги ви зможете користуватися нею і у '''Kontact'''. Здається, під час запуску '''Kontact''' не виконується якась додаткова дія, будемо сподіватися, що це буде виправлено найближчим часом (проблемною є версія 4.4.0).


===Після натискання кнопки «Вибрати» записи контактів KMail не з’являються===
===Після натискання кнопки «Вибрати» записи контактів KMail не з’являються===


Перейдіть на сторінку «Системних параметрів» «Додатково», «Ресурси KDE». Переконайтеся, що Akonadi керує вказаними там адресними книгами, додайте потрібні адресні книги. Якщо хочете, створіть основну адресну книгу Akonadi, яка називається, зазвичай, «Особисті контакти», і зробіть її типовою. Докладніше про налаштування можна дізнатися зі сторінки [[KAddressBook_4.4_(uk)#Налаштування вашої нової адресної книги|тут]].
Перейдіть на сторінку «Системних параметрів» <menuchoice>Додатково -> Ресурси KDE</menuchoice>. Переконайтеся, що '''Akonadi''' керує вказаними там адресними книгами, додайте потрібні адресні книги. Якщо хочете, створіть основну адресну книгу '''Akonadi''', яка називається, зазвичай, «Особисті контакти», і зробіть її типовою. Докладніше про налаштування можна дізнатися зі сторінки [[Special:myLanguage/KAddressBook_4.4#Setting_up_your_New_AddressBook|тут]].


===Як відновити мою адресну книгу для групової роботи?===
===Як відновити мою адресну книгу для групової роботи?===
Line 85: Line 92:
Можливі два вирішення: користуватися попередньою версією комплекту або перейти на нову.
Можливі два вирішення: користуватися попередньою версією комплекту або перейти на нову.


Працездатний комплект. У консолі Akonadi додайте «Адресну книгу KDE (традиційну)». Вибір цього пункту означає, що для роботи у Akonadi буде налаштовано старі ресурси. У налаштуваннях пункту «Адресна книга KDE (традиційна)», ви можете вказати ресурс «IMAP через KMail» (у KMail має бути увімкнено можливості групової роботи). Подібні налаштування мають працювати для Kolab, eGroupware і подібних адресних книг, — вам слід уважно вивчити варіанти, щоб переконатися у правильності вибору.
Працездатний комплект. У консолі '''Akonadi''' додайте «Адресну книгу KDE (традиційну)». Вибір цього пункту означає, що для роботи у '''Akonadi''' буде налаштовано старі ресурси. У налаштуваннях пункту «Адресна книга KDE (традиційна)», ви можете вказати ресурс «IMAP через KMail» (у KMail має бути увімкнено можливості групової роботи). Подібні налаштування мають працювати для '''Kolab''', '''eGroupware''' і подібних адресних книг, — вам слід уважно вивчити варіанти, щоб переконатися у правильності вибору.
 
Новий комплект (не перевірялося для серверів, відмінних від Kolab). У модулі налаштувань Akonadi (його вікно можна відкрити командою «kcmshell4 kcm_akonadi») додайте ресурс «Сервер пошти IMAP», вкажіть назву поштового сервера, ваше ім’я користувача і пароль, а потім натисніть кнопку автоматичного виявлення. Додайте ресурс Kolab. Дочекайтеся завершення синхронізації ресурсу imap, яка може тривати досить довго. Повідомлення про завершення можна буде бачити у модулі налаштувань Akonadi. Якщо нічого не станеться, спробуйте перезапустити akonadiserver. Якщо все вийде, адресні книги Kolab мають з’явитися у списку KAddressBook.


Новий комплект (не перевірялося для серверів, відмінних від '''Kolab'''). У модулі налаштувань '''Akonadi''' додайте ресурс ''Сервер електронної пошти IMAP'', вкажіть назву сервера, ім’я користувача і пароль, а потім натисніть кнопку «Автовиявлення». Вікно модуля налаштування можна відкрити командою:
{{input|1=kcmshell4 kcm_akonadi}}
Додайте ресурс '''Kolab'''. Дочекайтеся завершення синхронізації ресурсу imap, яка може тривати досить довго. Повідомлення про завершення можна буде бачити у модулі налаштувань '''Akonadi'''. Якщо нічого не станеться, спробуйте перезапустити '''akonadiserver'''. Якщо все вийде, адресні книги '''Kolab''' мають з’явитися у списку '''KAddressBook'''.
<span id="You experience long delays when sending mail"></span>
===Під час надсилання пошти виникають тривалі затримки===
===Під час надсилання пошти виникають тривалі затримки===


Затримки супроводжуються зависаннями KMail на час до завершення обробки пошти.
Затримки супроводжуються зависаннями '''KMail''' на час до завершення обробки пошти.


У системі перевірки адрес Nepomuk виявлено вади, які спричиняють величезні затримки. Вади виправлено у KDE 4.4.1. Якщо ви не оновили систему до версії 4.4.1, можете скористатися тимчасовим вирішенням:
У системі перевірки адрес '''Nepomuk''' виявлено вади, які спричиняють величезні затримки. Вади виправлено у KDE 4.4.1. Якщо ви не оновили систему до версії 4.4.1, можете скористатися тимчасовим вирішенням:


Закрийте вікно Kontact або вікна KMail і KAddressbook, якщо було запущено окремі програми. Вимкніть Strigi у «Системних параметрах». Завершіть роботу Nepomuk, вилучіть базу даних і перезапустіть ''nepomukserver''. Для цього слід виконати команди (від імені звичайного користувача):
Закрийте вікно '''Kontact''' або вікна '''KMail''' і '''KAddressbook''', якщо було запущено окремі програми. Вимкніть '''Strigi''' у '''Системних параметрах'''». Завершіть роботу '''Nepomuk''', вилучіть базу даних і перезапустіть '''nepomukserver'''. Для цього слід виконати команди (від імені звичайного користувача):


{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
<!--T:42-->
|qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
{{input|1=qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
|-
rm -r ~/.kde/share/apps/nepomuk
|rm -r ~/.kde/share/apps/nepomuk
rm -r ~/.kde4/share/apps/nepomuk
|-
nepomukserver}}
|rm -r ~/.kde4/share/apps/nepomuk
|-
|nepomukserver  
|}


Після цього базу даних, звичайно ж, буде знищено, зокрема буде знищено всі додані вами мітки. Теоретично, можна виконати вибіркове вилучення бази даних. Настанови можна знайти на [http://techbase.kde.org/Development/Tutorials/Metadata/Nepomuk/TipsAndTricks#Remove_all_Strigi-indexed_data цій сторінці]
Після цього базу даних, звичайно ж, буде знищено, зокрема буде знищено всі додані вами мітки. Теоретично, можна виконати вибіркове вилучення бази даних. Настанови можна знайти на [http://techbase.kde.org/Development/Tutorials/Metadata/Nepomuk/TipsAndTricks#Remove_all_Strigi-indexed_data цій сторінці]
===Програма повідомляє про те, що ресурс IMAP постійно працює у автономному режимі===
Хоча у системі встановлено з’єднання з Інтернетом, ресурс IMAP відмовляється виходити з автономного режиму.
Хоча систему з’єднано з інтернетом, ресурс IMAP не перемикається у стан «у мережі».
Цю ваду спричинено помилковими налаштуваннями NetworkManager у вашій системі. Віддайте команду таку команду:
{{input|1=qdbus --system org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager.state}}
У відповідь може бути отримане одне з таких значень:
* '''20''' (у попередніх версіях ''4''), '''від’єднано'''. Якщо ви маєте доступ до інтернету, ваші налаштування NetworkManager є помилковими.
* '''70''' (у попередніх версіях ''3''), '''з’єднано'''. Маємо проблеми у чомусь іншому.
**Можливо, один або декілька '''мережевих інтерфейсів''' '''не керуються NetworkManager'''. Якщо це так, надайте змогу NetworkManager керувати цими інтерфейсами. Для цього може бути достатньо вилучити записи цих інтерфейсів з текстового файла (наприклад, <tt>/etc/network/interfaces</tt>). Докладнішу інформацію можна отримати з довідкових ресурсів вашого дистрибутива.
=== Неможливо прочитати подробиці щодо деяких повідомлень або під час читання виникають значні затримки ===
Якщо ви не можете прочитати частину повідомлень або бачите повідомлення програми «Будь ласка, зачекайте…», вам варто вийти з сеансу KDE і знову увійти до нього, щоб перезапустити всі процеси, — це може допомогти.


== Технічні проблеми ==
== Технічні проблеми ==
Line 113: Line 138:
=== Nepomuk ===
=== Nepomuk ===


Починаючи з KDE 4.4, для належної роботи Akonadi потрібен Nepomuk. Akonadi перевірятиме запуск сервера Nepomuk і відкриватиме діалогове вікно з повідомленням про помилку, якщо сервер не запущено.
Починаючи з KDE 4.4, для належної роботи '''Akonadi''' потрібен '''Nepomuk'''. '''Akonadi''' перевірятиме запуск сервера '''Nepomuk''' і відкриватиме діалогове вікно з повідомленням про помилку, якщо сервер не запущено.


Nepomuk може працювати лише з сервером Virtuoso. Перевірити, чи працює Nepomuk з належним сервером можна за допомогою діалогового вікна автоматичного тестування Akonadi, відкриття якого описано вище.
'''Nepomuk''' може працювати лише з сервером '''Virtuoso'''. Перевірити, чи працює '''Nepomuk''' з належним сервером можна за допомогою діалогового вікна автоматичного тестування '''Akonadi''', спосіб відкриття якого описано вище.


Хоча для роботи Akonadi потрібен Nepomuk, ви можете вимкнути індексування файлів Strigi і позбутися найвибагливішої до ресурсів частини Nepomuk.
Хоча для роботи '''Akonadi''' потрібен '''Nepomuk''', ви можете вимкнути індексування файлів '''Strigi''' і позбутися найвибагливішої до ресурсів частини '''Nepomuk'''.


=== Apparmor ===
=== Apparmor ===


У деяких дистрибутивах (майже винятково, побудованих на Ubuntu) використовується Apparmor. Цю систему може бути налаштовано таким чином, що вона не дає Akonadi запустити вбудованих сервер бази даних. Це може призвести до різних повідомлень про помилки, зокрема таких:
У деяких дистрибутивах (майже винятково, побудованих на Ubuntu) використовується '''Apparmor'''. Цю систему може бути налаштовано таким чином, що вона не дає '''Akonadi''' запустити вбудованих сервер бази даних. Це може призвести до різних повідомлень про помилки, зокрема таких:
* невідома помилка 255 під час запуску akonadictl  
{{output|1=unknown error 255 when running akonadictl
* "Помилка бази даних: 'Не вдалося відкрити потрібний файл типових значень: /home/$username/.local/share/akonadi/mysql.conf"  
"DB error: 'Could not open required defaults file: /home/$username/.local/share/akonadi/mysql.conf"}}


Виправити ситуацію можна командою '''aa-complain mysqld''', виконаною з правами доступу користувача root з наступним перезавантаженням apparmor.
Виправити ситуацію можна командою
У KUbuntu команди будуть такими:  
{{input|1=aa-complain mysqld}}
 
У ''Kubuntu'' команди будуть такими:
   
   
sudo aa-complain mysqld
{{input|1=sudo aa-complain mysqld
sudo /etc/init.d/apparmor reload
sudo /etc/init.d/apparmor reload}}


Зауважте, що у системі може бути використано Apparmor, навіть якщо ви не бачите відповідного пункту у списку процесів.
Зауважте, що у системі може бути використано '''Apparmor''', навіть якщо ви не бачите відповідного пункту у списку процесів.


Крім того, вам варто знати, що деякі дистрибутиви постачаються з додатковим виконуваним файлом ''mysqld'' з назвою ''mysqld-akonadi''. За допомогою цього файла можна належним чином налаштувати AppArmor. Якщо такий файл є у вашій системі, але його використання не допомагає у вирішенні проблеми, причин може бути дві:
Крім того, вам варто знати, що деякі дистрибутиви постачаються з додатковим виконуваним файлом '''mysqld''' з назвою '''mysqld-akonadi'''. За допомогою цього файла можна належним чином налаштувати '''AppArmor'''. Якщо такий файл є у вашій системі, але його використання не допомагає у вирішенні проблеми, причин може бути дві:
* Akonadi використовує ''mysqld'', а не ''mysqld-akonadi''. Змінити налаштування Akonadi можна на сторінці налаштувань Системні параметри -> Додатково -> Akonadi -> Налаштування сервера.
* '''Akonadi''' використовує '''mysqld''', а не '''mysqld-akonadi'''. Змінити налаштування '''Akonadi''' можна на сторінці налаштувань <menuchoice>Системні параметри -> Додатково -> Akonadi -> Налаштування сервера</menuchoice>.
* ''mysqld-akonadi'' не вдалося налаштувати AppArmor. Спробуйте виконати команду ''aa-complain'', наведену вище, з використанням ''mysqld-akonadi'' замість ''mysqld''.
* '''mysqld-akonadi''' не вдалося налаштувати '''AppArmor'''. Спробуйте виконати команду ''aa-complain'', наведену вище, з використанням '''mysqld-akonadi''' замість '''mysqld'''.  


<!--T:54-->
---
---


Крім того, подібна проблема може виникати, якщо ви працюєте з зашифрованим encryptfs домашнім каталогом у поєднанні з AppArmor, оскільки профіль apparmor Akonadi не може у поточній версії працювати з шифрованими домашніми теками (типово для користувачів Ubuntu Jaunty). Повідомлення про помилки:
Крім того, подібна проблема може виникати, якщо ви працюєте з зашифрованим encryptfs домашнім каталогом у поєднанні з '''AppArmor''', оскільки профіль apparmor '''Akonadi''' не може у поточній версії працювати з шифрованими домашніми теками (типово для користувачів '''Ubuntu Jaunty'''). Повідомлення про помилки:
* dmesg:  
* dmesg:
      ecryptfs_do_create: Failure to create dentry in lower fs; rc = [-13]
{{output|1=ecryptfs_do_create: Failure to create dentry in lower fs; rc = [-13]
      ecryptfs_create: Failed to create file inlower filesystem
ecryptfs_create: Failed to create file inlower filesystem}}
* Akonadi показує такі повідомлення:
* Akonadi показує такі повідомлення:
      Процес сервера Akonadi не зареєстровано у D-Bus (Akonadi server process not registered at D-Bus)
{{output|1=Akonadi server process not registered at D-Bus}}


Щоб виправити помилку, внесіть зміни до файла "/etc/apparmor.d/usr.sbin.mysqld-akonadi".
Щоб виправити помилку, внесіть зміни до файла "/etc/apparmor.d/usr.sbin.mysqld-akonadi".
Під рядком:  
Під рядком:
      @{HOME}/.local/share/akonadi/** rwk,
{{output|1=@{HOME}/.local/share/akonadi/** rwk,}}
Додайте новий рядок:
Додайте новий рядок:
      @{HOME}/.Private/** rwk,
{{input|1=@{HOME}/.Private/** rwk,}}
 
Перезапустіть apparmor і akonadi.


Перезапустіть '''apparmor''' і '''akonadi'''.


=== Необхідні пакунки ===
=== Необхідні пакунки ===


Щоб користуватися Akonadi вам слід встановити такі пакунки (назви можуть бути різними):
Щоб користуватися '''Akonadi''', вам слід встановити такі пакунки (назви можуть бути різними):


* Сервер MySQL (у openSUSE називається ''mysql'')
* Сервер MySQL (у '''openSUSE''' називається '''mysql''')
* Додаток NySQL до Qt4 (у openSUSE називається ''libqt4-sql-mysql'')
* Додаток MySQL до Qt4 (у '''openSUSE''' називається '''libqt4-sql-mysql''')


Якщо ви збираєте Qt4 власноруч, переконайтеся, що скрипту ''configure'' було передано параметр збирання додатка, '-plugin-sql-mysql'. Якщо ''configure'' не вдається виявити потрібні файли коду клієнта MySQL (тобто скрипт повідомляє, що "MySQL support cannot be enabled due to functionality tests"), переконайтеся, що встановлено відповідний пакунок (типово називається ''[lib]mysql[client]-dev[el]''). Крім того, залежно від місця встановлення файлів заголовків MySQL, можливо доведеться передати ''configure'' додаткові параметри (наприклад, ''-I /usr/include/mysql'' у openSUSE).
Якщо ви збираєте Qt4 власноруч, переконайтеся, що скрипту ''configure'' було передано параметр збирання додатка,
{{input|1=-plugin-sql-mysql}}
Якщо ''configure'' не вдається виявити потрібні файли коду клієнта MySQL (тобто скрипт повідомляє, що "MySQL support cannot be enabled due to functionality tests"), переконайтеся, що встановлено відповідний пакунок (типово називається ''[lib]mysql[client]-dev[el]''). Крім того, залежно від місця встановлення файлів заголовків MySQL, можливо доведеться передати ''configure'' додаткові параметри (наприклад, ''-I /usr/include/mysql'' у ''openSUSE'').


Якщо ви користуєтеся Qt4, звантаженим безпосередньо з сайта Nokia, наприклад,  
Якщо ви користуєтеся Qt4, звантаженим безпосередньо з сайта ''Nokia'', наприклад, <code>qt-sdk-linux-x86_64-opensource-2009.05.bin</code>, у відповідь на команду "akonadictl start" ви побачити повдіомлення про помилку у Тесті 1:
  qt-sdk-linux-x86_64-opensource-2009.05.bin


ви побачите (у відповідь на команду "akonadictl start") повідомлення про помику у Тесті 1:
<!--T:99-->
  ''Не знайдено драйвера бази даних.''
{{output|1=Database driver not found.
  ''Подробиці: для поточних налаштувань сервера Akonadi потрібен драйвер QtSQL 'QMYSQL'.''
Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration.
  ''Встановлено такі драйвери: QSQLITE.''
The following drivers are installed: QSQLITE.
  ''Переконайтеся, що встановлено потрібний драйвер.''
Make sure the required driver is installed.}}


Вам потрібен драйвер ''libqsqlmysql.so''
Вам потрібен драйвер ''libqsqlmysql.so''


На жаль, цього драйвера немає у відповідному пакунку (станом на січень 2010 року).
На жаль, цього драйвера немає у відповідному пакунку (станом на січень 2010 року).
Вам потрібно зібрати драйвер з початкових кодів. Звантажте його за адресою
Вам потрібно зібрати драйвер з початкових кодів. Звантажте відповідний файл, наприклад:
  qt-everywhere-opensource-src-4.6.0.tar.bz2
{{input|1=qt-everywhere-opensource-src-4.6.0.tar.bz}}


Виконайте скрипти ''configure'' і ''make''. Команда ''make install'' не скопіює драйвер, вам потрібно зробити це власноруч:
Виконайте скрипти ''configure'' і ''make''. Команда ''make install'' не скопіює драйвер, вам потрібно зробити це власноруч:
{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
{{input|1=cp <qt-src-dir>/qt-everywhere-opensource-src-4.6.0/plugins/sqldrivers/libqsqlmysql.so /usr/local/bin/sqldrivers/}}
|cp <qt-src-dir>/qt-everywhere-opensource-src-4.6.0/plugins/sqldrivers/libqsqlmysql.so /usr/local/bin/sqldrivers/
'''Але''' у випуску '''4.6.1''', зокрема qt-sdk-linux-x86_64-opensource-2010.xx.bin, потрібний вам драйвер є. Ймовірно, якщо ''libmysqlclient.so'' було замінено новішою версією, доведеться повторно виконати прив’язку до ''libqsqlmysql.so''.
|}
'''Але''' у випуску '''4.6.1''', зокрема qt-sdk-linux-x86_64-opensource-2010.xx.bin
потрібний вам драйвер є.


=== Налаштування оточення ===
=== Налаштування оточення ===


Сервер Akonadi шукатиме допоміжні програми Akonadi та ресурси за шляхами, визначеними за допомогою змінної середовища '''XDG_DATA_DIRS'''. Якщо Akonadi скаржиться на те, що не може знайти допоміжні програми (агенти) ао ресурси, перевірте, чи встановлено належним чином цю змінну. Крім того, пам’ятайте, що, навіть якщо цю змінну встановлено протягом поточного сеансу у консолі, на час запуску сервера її може бути не встановлено. Запуск сервера вручну за допомогою поточного сеансу надасть змогу вирішити проблему.
Сервер '''Akonadi''' шукатиме допоміжні програми '''Akonadi''' та ресурси за шляхами, визначеними за допомогою змінної середовища ''XDG_DATA_DIRS''. Якщо '''Akonadi''' скаржиться на те, що не може знайти допоміжні програми (агенти) ао ресурси, перевірте, чи встановлено належним чином цю змінну. Крім того, пам’ятайте, що, навіть якщо цю змінну встановлено протягом поточного сеансу у консолі, на час запуску сервера її може бути не встановлено. Запуск сервера вручну за допомогою поточного сеансу надасть змогу вирішити проблему.


=== mysqld: невідома змінна 'innodb_file_per_table=1' ===
=== mysqld: unknown variable 'innodb_file_per_table=1' === <!--T:69-->


Якщо у журналі сервера MySQL містяться такі повідомлення про помилку:
Якщо у журналі сервера MySQL містяться наведені нижче повідомлення про помилки, ваш сервер MySQL було зібрано без підтримки InnoDB, яка потрібна для роботи '''Akonadi''', або слід завантажити '''InnoDB''' за допомогою файла ''mysql.conf''.
<code>
{{output|1=[ERROR] /usr/libexec/mysqld: unknown variable 'innodb_file_per_table=1'
[ERROR] /usr/libexec/mysqld: unknown variable 'innodb_file_per_table=1'
[ERROR] Aborting}}
[ERROR] Aborting</code>


ваш сервер MySQL було зібрано без підтримки InnoDB, яка потрібна для роботи Akonadi.
Спробуйте додати:


<!--T:100-->
{{input|1=#sql_mode=strict_trans_tables <- Add underneath this line
#plugins
plugin_dir=usr/lib/mysql/plugin < - This may be a different path
plugin-load=ha_innodb.so}}
===Не існує таблиці «mysql. servers» (Table 'mysql. servers' doesn't exist)===


===Не існує таблиці 'mysql. servers'===
Якщо у журналі сервера MySQL містяться наведені нижче повідомлення про помилку, найімовірніше, файл налаштувань сервера MySQL розташовано у неналежному місці.


Якщо у журналі сервера MySQL містяться такі повідомлення про помилку:
<!--T:102-->
<code>[ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
{{output|1=[ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
[ERROR] Cannot open mysql.db
[ERROR] Cannot open mysql.db
[ERROR] Cannot open mysql.user
[ERROR] Cannot open mysql.user
[ERROR] Cannot open mysql.event</code>
[ERROR] Cannot open mysql.event}}
найімовірніше, файл налаштування MySQL зберігається у неналежному місці. Скопіюйте цей файл з ''/usr/share/config/akonadi/mysql-global.conf'' до ''~/.config/akonadi/mysql-local.conf''. (У користувачів debian і openSUSE цей файл розташовано за адресою ''/etc/akonadi/mysql-global.conf''). Відкрийте цей файл у редакторі в зніміть позначку коментаря з '''sql_mode=strict_trans_tables'''. Якщо після цього ви побачите такі повідомлення про помики:
 
<code>[ERROR] Plugin 'InnoDB' init function returned error.
Скопіюйте цей файл з ''/usr/share/config/akonadi/mysql-global.conf'' до ''~/.config/akonadi/mysql-local.conf''. (У користувачів debian і openSUSE цей файл розташовано за адресою ''/etc/akonadi/mysql-global.conf''). Відкрийте цей файл у редакторі в зніміть позначку коментаря з '''sql_mode=strict_trans_tables'''. Якщо після цього ви побачите такі повідомлення про помики:
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE  
 
failed.
<!--T:104-->
{{output|1=[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported table type: innodb
[ERROR] Unknown/unsupported table type: innodb
[ERROR] Aborting</code>
[ERROR] Aborting}}
у тому самому файлі знайдіть рядок, що починається подібно до попереднього (того, коментування якого ви вже зняли), але містить додаткові параметри, відокремлені комами (щось схоже на '''sql_mode=strict_trans_tables,strict_all_tables, ...etc'''). Додайте позначку коментування до коротшого рядка з ''sql_mode=...'' і зніміть цю позначку з довшого.
 
Якщо це так, у тому самому файлі знайдіть рядок, що починається подібно до попереднього (того, коментування якого ви вже зняли), але містить додаткові параметри, відокремлені комами (щось схоже на '''sql_mode=strict_trans_tables,strict_all_tables, ...etc'''). Додайте позначку коментування до коротшого рядка з ''sql_mode=...'' і зніміть цю позначку з довшого.
 
У ''openSUSE 11.2'' проблему допоможе вирішити команда


У openSUSE 11.2 проблему допоможе вирішити команда
      <!--T:106-->
<code>mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/</code>
{{input|1=mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/}}


=== Оновлення Kubuntu до версії 10.4 ===
У ''Archlinux'':


Будь ласка, не користуйтеся цією ненадійною системою. Тут наведено відомості для тих сміливців, які оновили версію Kubuntu 9.10 до 10.4 і які користувалися особистими архівами пакунків (PPA) для виправлення вад у версії пакунків KDE 4.3.
{{input|1=mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/ --basedir=/usr}}


Встановіть потрібні залежності. Вилучіть попередній кеш akonadi. Запустіть службу akonadi. Встановіть базу даних. Оновіть базу даних. Зупиніть і перезапустіть службу akonadi.
=== Оновлення Kubuntu до версії 10.04 ===
{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
 
|sudo apt-get install virtuoso-server mysql-server-5.1
Будь ласка, не користуйтеся цією ненадійною системою. Тут наведено відомості для тих сміливців, які оновили версію Kubuntu 9.10 до 10.0004 і які користувалися особистими архівами пакунків (PPA) для виправлення вад у версії пакунків KDE 4.3.
|-
 
|rm -r $HOME/.local/share/akonadi
Встановіть потрібні залежності. Вилучіть попередній кеш '''akonadi'''. Запустіть службу '''akonadi'''. Встановіть базу даних. Оновіть базу даних. Зупиніть і перезапустіть службу '''akonadi'''.
|-
{{input|1=sudo apt-get install virtuoso-server mysql-server-5.1
|akonadictl start
rm -r $HOME/.local/share/akonadi
|-
akonadictl start
|mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/
mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/
|-
mysql_upgrade --socket=$HOME/.local/share/akonadi/db_misc/mysql.socket
|mysql_upgrade --socket=$HOME/.local/share/akonadi/db_misc/mysql.socket
akonadictl stop
|-
akonadictl start}}
|akonadictl stop
|-
|akonadictl start
|}


У відповідь на наведену вище команду mysql_install_db може бути виведено такі повідомлення, які ви можете безпечно проігнорувати:
У відповідь на наведену вище команду mysql_install_db може бути виведено такі повідомлення, які ви можете безпечно проігнорувати:
<code>Installing MySQL system tables...
 
100501 18:04:30 [Warning] Can't create test file /home/[userid]/.local/share/akonadi/db_data/[hostname].lower-test</code>
<!--T:108-->
{{output|1=Installing MySQL system tables...
100501 18:04:30 [Warning] Can't create test file  
/home/[userid]/.local/share/akonadi/db_data/[hostname].lower-test}}


Посилання:
Посилання:
Line 248: Line 282:
=== Оновлення KAddressBook ===
=== Оновлення KAddressBook ===


Окрім вад у Kubuntu 10.4, наведених нижче, може виникнути проблема з додаванням каталогу Vcard, яка може вимагати виконання
Окрім вад у ''Kubuntu 10.04'', наведених нижче, може виникнути проблема з додаванням ''каталогу Vcard'', яка може вимагати виконання наведеної нижче команди після завершення роботи Akonadi.
{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
{{input|1=rm -rf $HOME/.config/akonadi}}
|rm -rf $HOME/.config/akonadi
|}
після завершення роботи Akonadi.


=== Не вдалося ініціалізувати набір символів latin1 ===
=== Не вдалося ініціалізувати набір символів latin1 ===


Під час запуску Akonadi може бути показано такі повідомлення про помилку:
Якщо під час запуску Akonadi було показано показано наведені нижче повідомлення про помилки, ймовірно, у системі встановлено сервер MySQL версії >5.1.42.


<code>Character set 'latin1' is not a compiled character set and is not specified in
<!--T:84-->
the '/usr/share/mysql/charsets/Index.xml' file
{{output|1=Character set 'latin1' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
Nepomuk QueryServer interface not available!
Nepomuk QueryServer interface not available!
Connecting to deprecated signal
Connecting to deprecated signal
Line 273: Line 304:
Last driver error: "QMYSQL: Unable to connect"
Last driver error: "QMYSQL: Unable to connect"
Last database error: "Can't initialize character set latin1 (path:
Last database error: "Can't initialize character set latin1 (path:
/usr/share/mysql/charsets/)"</code>
/usr/share/mysql/charsets/)"}}


Ймовірно, ви є користувачем сервера MySQL версії > 5.1.42.
У MySQL 5.1.43 і 5.1.44 внесено вади, які на дають MySQL запуститися.  
У MySQL 5.1.43 і 5.1.44 внесено вади, які на дають MySQL запуститися.  


Line 281: Line 311:




=== Restarting after a previous error ===
=== Перезапуск після попередньої помилки ===


If you had problems starting Akonadi and fixed those (such as a missing package or the Apparmor problem) make sure that the Akonadi server is completely shut down before trying to start it again, by calling '''akonadictl stop''' on the command line. You can confirm that it was indeed shut down completely by running '''akonadictl status'''.
Якщо у вас виникають проблеми з '''Akonadi''' і ви намагаєтеся вирішити їх (зокрема встановити потрібні пакунки або змінити налаштування '''Apparmor''') у один з описаних вище способів, перед повторним запуском сервера '''Akonadi''' переконайтеся, що роботу попереднього екземпляра сервера було повністю завершено. Для цього виконайте команду
{{input|1=akonadictl stop}}
Підтвердити те, що роботу сервера повністю завершено, вам допоможе команда
{{input|1=akonadictl status}}


Under some circumstances the Akonadi server can be stuck in a partially running state after a failure which will prevent the next attempt to start it to fail as well. Please file a bug report if you run into this problem including the self-test report of the initial problem.
За певних обставин сервер '''Akonadi''' може зациклитися у частково запущеному стані після помилки. Такий напівзапущений сервер зашкодить наступним спробам запуску сервера. Якщо ви зіткнулися з подібною проблемою, будь ласка, надішліть авторам програми повідомлення про ваду з докладним звітом автоматичного тестування щодо початкової проблеми.


=== The so-called "Gentoo-Assert" ===
=== Так званий "Gentoo-Assert" ===


That's an especially nasty problem that so far only affects users of source-based distributions, most prominently Gentoo. It is named after MySQL assertions like the following example and is most likely caused by a MySQL protocol mismatch between the MySQL server and the client library or the Qt MySQL driver.
Це особливо неприємна проблема, яка стосується передусім користувачів дистрибутивів, зібраних безпосередньо з вихідних кодів. Основним дистрибутивом такого типу є ''Gentoo''. Проблема отримала свою назву від формального синтаксичного виразу MySQL (assertion), подібного до наведеного у прикладі нижче. Найімовірніше причиною є невідповідність протоколів MySQL сервера MySQL і клієнтської бібліотеки або драйвера MySQL Qt.


{|style="width:98%; border:2px dotted #BCBCBC; background:#EEEEEE;"
<!--T:92-->
|akonadiserver: libmysql.c:4301: setup_one_fetch_function: Assertion
{{output|1=akonadiserver: libmysql.c:4301: setup_one_fetch_function: Assertion
|-
`param->buffer_length != 0' failed.}}
|`param->buffer_length != 0' failed.
|}


It is extremely hard to diagnose as the assertion mentioned above are only triggered sometimes. Instead you'll get a wide range of weird symptoms:
Дуже важко виявити причину помилки, оскільки повідомлення про неї з’являється за певних нез’ясованих обставин. Замість повідомлення про помилку ви можете зіштовхнутися з широким діапазоном дивних симптомів:
* ASAP protocol logs show successful creation of objects which are supposedly no longer available when the next commands accesses them again.
* Тільки-но у журналах протоколу з’являться повідомлення про успішне вилучення об’єктів, які б мали припинити своє існування, як у наступних командах відбувається спроба отримати доступ до цих об’єктів.
* SQL protocol logs show INSERT or UPDATE commands with values that mismatch the corresponding column types and nevertheless succeed.
* У журналах протоколу SQL можна побачити повідомлення про успішне виконання команд INSERT або UPDATE зі значеннями, які не збігаються з типами відповідних стовпчиків таблиці.
* SQL protocol logs showing large apparently random record ids which are nevertheless considered valid.
* У журналах протоколу SQL можна побачити записи великих ідентифікаторів (закономірність назв яких важко вловити), які програма вважає коректними.


References:
Посилання:
* http://forum.kde.org/viewtopic.php?f=20&t=61738
* http://forum.kde.org/viewtopic.php?f=20&t=61738
* http://bugs.gentoo.org/show_bug.cgi?id=267513
* http://bugs.gentoo.org/show_bug.cgi?id=267513
* https://bugs.kde.org/202623 (contains a possible solution)
* https://bugs.kde.org/202623 (містить можливе вирішення)
* http://bbs.archlinux.org/viewtopic.php?id=78358
* http://bbs.archlinux.org/viewtopic.php?id=78358


Possible solution: Rebuild the Qt MySQL driver after upgrading MySQL (which most likely caused this problem in the first place).
Можливе вирішення: перезберіть драйвер MySQL Qt після оновлення MySQL (він є основним підозрюваним у виникненні проблем).
 
=== Відновлення початкових налаштувань nepomuk та системи akonadi у KMail 2 ===
 
Не варто виконувати всі ці дії, якщо у вас немає резервної копії важливих для вас даних.
 
Після впровадження KMail 2 до kdepim, з версії KDE 4.6.x, для пошуку у повідомленнях електронної пошти і адресних книгах слід позначити пункт у програмі <menuchoice>Системні параметри -> Стільничний пошук -> Увімкнути семантичну стільницю Nepomuk</menuchoice>, також позначте пункт <menuchoice>Увімкнути індексування пошти</menuchoice>.
 
Якщо virtuoso-t використовує майже 100% ресурсів процесора, а система майже непрацездатна, варто відновити початкові параметри роботи Nepomuk.
 
Для виконання загального відновлення початкового стану вам слід виконати описані нижче дії.
{{Warning_(uk)|1=Буде відновлено початкових стан налаштувань Kontact і KDE PIM, поштові повідомлення, ресурси Akonadi (облікові записи та адресні книги), профілі KMail, фільтри і архіви вилучено не буде. Втім, буде втрачено оцінки та інші метадані. Також існує ризик втрати даних під час відбудови налаштувань.}}
 
{{Input|1=akonadictl stop
rm -rf  ~/.local/share/akonadi/db_data/*
akonadictl start
# слід спорожнити теки тимчасових даних KDE перед запуском KMail
rm -rf /var/tmp/kdecache-$USER /tmp/ksocket-$USER /tmp/kde-$USER
}}
 
Далі, слід перевірити, чи правильно встановлено теку «Надіслані» на сторінці <menuchoice>Параметри -> Налаштувати KMail -> Профілі</menuchoice>. Іноді можливі помилки.
 
Перевірте, чи правильно вказано теку «Вхідні» на сторінці <menuchoice>Параметри -> Налаштувати KMail -> Облікові записи</menuchoice>. Можливі помилки.
 
Перевірте, чи правильно вказано фільтри до отримання нових повідомлень. Варто вимкнути всі фільтри, оскільки можливі помилки з теками, що призведуть до помилкової обробки або втрати пошти.
 
Також, якщо у системі є тека застарілої пошти, варто перевірити всі теки, щоб теку отримання пошти було встановлено належним чином. Якщо позначено пункт <menuchoice>Вилучити остаточно</menuchoice>, ви можете втратити важливі повідомлення, оскільки архівування працюватиме з помилковою текою.
 
За допомогою сторінки <menuchoice>контекстне меню теки -> Властивості теки</menuchoice> перевірте, чи правильно вказано профіль, оскільки профіль може бути змінено або втрачено. 
 
Після цього можна [[Akonadi_4.4/Troubleshooting#You_experience_long_delays_when_sending_mail|спорожняти сховище даних Nepomuk]] перед вмиканням семантичної стільниці Nepomuk.
 
Після вилучення пошкоджених даних, якщо ви все ще не можете прочитати вашу пошту, вам слід вийти з сеансу KDE і увійти до нього знову, щоб повторно ініціалізувати усі процеси.  


[[Category:System]]
[[Category:Система/uk]]

Latest revision as of 16:59, 13 February 2013

Вступ

Цю сторінку в основному присвячено усуванню проблем, пов’язаних з Akonadi, оскільки на початкових кроках переходу до нової системи завжди виникають труднощі. Більшість користувачів вперше зіткнуться з роботою Akonadi у KDE 4.4, багато з них залишаться незадоволені роботою системи. Короткий опис призначення Akonadi можна знайти у цьому записі глосарія. Крім того, у тексті статті ви знайдете інші корисні посилання. Після подолання прикрих проблем з Akonadi ця система стане справжнім рушієм роботи багатьох програм.

Про структуру даних системи

Звичайно ж, ви можете скористатися Kontact для керування всіма вашими адресними книгами, але якщо ви користуєтеся, наприклад, системою резервного копіювання даних, вам варто знати, де зберігаються ваші дані, та як програма їх обробляє. У цьому вам допоможе сторінка Akonadi_and_AddressBook.

Підказки з усування проблем

  • Якщо ви повідомляєте про помилки, пов’язані з сервером Akonadi, завжди додавайте до повідомлень звіти з автоматично самотестування системи. Дані цього звіту можна отримати за допомогою діалогового вікна автоматичного тестування, яке сервер Akonadi відкриває у разі невдалої спроби запуску. Крім того, доступ до діалогового вікна автоматичного тестування можна отримати за допомогою модуля Центру керування, доступ до якого можна отримати за допомогою команди
kcmshell4 kcm_akonadi
  • Запуск сервера Akonadi вручну за допомогою командного рядка може надати вам додаткову корисну інформацію. Здійснити подібний запуск можна за допомогою команди
akonadictl start

Зупинити роботу сервера Akonadi можна за допомогою команди

akonadictl stop

У відповідь на цю команду буде виведено додаткові корисні відомості:

akonadictl status

Типові проблеми

Не запускається Kontact — при цьому програма не повідомляє ні про які помилки

Якщо Kontact не запускається і не повідомляє ні про які помилки, перевірте, чи запущено Akonadi. За запитом Akonadi має бути запущено, але у поточній версії цього не відбувається. Вам доведеться запустити сервер до запуску Kontact, якщо ресурси вашої системи було перетворено (найімовірніше, ресурси KAddressBook). Для запуску сервера скористайтеся піктограмою системного лотка Akonadi.

Kontact не запускається, інша причина

Оновлення роблять Kontact непрацездатним. Якщо таке сталося з вашою копією програми, спробуйте запустити KMail, KOrganizer або будь-яку іншу складову за допомогою KRunner (або Konsole). Ймовірно, ці програми залишаться працездатними, і ви зможете перечекати до наступного оновлення, яке може виправити ситуацію. Все це, в основному стосується, версії 4.4.0.

Не знайдено теки: «/Local»

Про таку помилку повідомляють багато користувачів, яким не вдалося запустити Kontact. У ранніх версіях серії 4.4 була помилка, програма KMail шукала локальні дані пошти у ~/.local/share/Local, каталозі, який не було заповнено даними. Щоб позбутися проблеми не намагайтеся виправити її вручну. Закрийте вікна KMail/Kontact, відкрийте консоль Akonadi:

  • натисніть комбінацію клавіш Alt-F2
  • або скористайтеся командою "akonadiconsole" у konsole

Вилучіть ресурс, який призначено для локальних поштових даних. Після цього Kontact або KMail мають запускатися у звичайному режимі, має бути створено новий ресурс, що вказує на каталог ~/.local/share/local-mail

У ~/.local/share/ з’являються якісь нові теки

Так і має бути. Якщо вашу адресну книгу перетворено належним чином, буде створено новий ресурс у ~/.local/share/contacts/.

Для чого призначено програми /usr/bin/akonadi_maildir_resource і /usr/bin/akonadi_maildispatcher_agent?

Файл akonadi_maildir_resource створюється автоматично програмою akonadi_maildispatcher_agent. Ця програма завжди запускається разом з сервером Akonadi, оскільки надає базові функціональні можливості (наприклад, надсилання пошти), якими користуються всі поштові програми, які засновано (або буде засновано) на Akonadi. Отже запуск цих двох програм є звичною справою, користувач не повинен цього взагалі помічати. Файл autogenerated akonadi_maildir_resource є символічним посиланням, яке завжди вказуватиме на ~/.local/share/local-mail/, обліковий запис ваших Локальних тек, де зберігатимуться дані ваших тек та повідомлень електронної пошти.

У поточній версії, KDE 4.4, поштові дані ще не перетворюються.

Допоміжні програми індексування Nepomuk вимкнено

Kontact працює, але ви бачите вікно з таким повідомленням:

Найпоширенішою причиною є те, що Nepomuk вимкнено у Системних параметрах. Будь ласка, спробуйте увімкнути систему на вкладці Додатково -> Стільничний пошук -> Основні параметри. Позначте пункт Увімкнути семантичну стільницю Nepomuk і натисніть кнопку Застосувати.

Якщо вмикання не допомагає (систему вже увімкнено), і ви користувалися тестовими випусками KDE 4.4, ймовірно причиною є зміна компонування бази даних (через оновлення сервера бази даних Virtuoso з версії 5 до версії 6). Змусити програми знову працювати можна такими командами:

qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
rm -r ~/.kde/share/apps/nepomuk
rm -r ~/.kde4/share/apps/nepomuk
nepomukserver

Зауважте, що наведені команди не призведуть до запуску системи після кожного перезавантаження. Для запуску системи вам варто скористатися Системними параметрами.

Для роботи Akonadi потрібен Nepomuk, а без Akonadi не працюватиме Kontact. Але для роботи зовсім не потрібен індексатор Strigi. Strigi використовується лише для пошуку файлів, його роботу не пов’язано з Kontact. Для належної роботи Kontact достатньо запуску Nepomuk.

У Kontact Nepomuk виконує різні функції від показу даних щодо днів народжень до обробки списку зайнятого часу і показу фотографій контактів. Якщо Nepomuk не буде запущено, деякими з функціональних можливостей Kontact не можна буде скористатися. Це зауваження наведено тут з метою попередити вас про те, що вимикання Nepomuk звузить можливості програм.

Перевірити, чи запущено Nepomuk, можна за допомогою команди

akonadictl status

Я хочу користуватися своїми старими адресною книгою та програмою керування особистими даними. Чи можу я це зробити?

Так. Якщо для додавання ресурсу ви скористалися консоллю Akonadi, ви зможете обрати варіант Стандартна адресна книга — вкажіть ваш файл std.vcf, і все запрацює. Перетворення цього файла не знищить дані вашої старої адресної книги. Ви можете продовжити користуватися нею, хоча втратите всі переваги, які колись зможе надати вам Akonadi. Крім того, ви можете користуватися одночасно адресною книгою Akonadi та вашою адресною книгою протягом перехідного періоду, якщо це надасть вам почуття безпеки.

Моя нова адресна книга не показує жодних додаткових даних записів

У поточній версії причину такої поведінки ще не вдалося виявити, але впоратися з цим дуже просто. Закрийте вікно Kontact і запустіть KAddressBook як окрему програму. Після закриття вікна адресної книги ви зможете користуватися нею і у Kontact. Здається, під час запуску Kontact не виконується якась додаткова дія, будемо сподіватися, що це буде виправлено найближчим часом (проблемною є версія 4.4.0).

Після натискання кнопки «Вибрати» записи контактів KMail не з’являються

Перейдіть на сторінку «Системних параметрів» Додатково -> Ресурси KDE. Переконайтеся, що Akonadi керує вказаними там адресними книгами, додайте потрібні адресні книги. Якщо хочете, створіть основну адресну книгу Akonadi, яка називається, зазвичай, «Особисті контакти», і зробіть її типовою. Докладніше про налаштування можна дізнатися зі сторінки тут.

Як відновити мою адресну книгу для групової роботи?

Можливі два вирішення: користуватися попередньою версією комплекту або перейти на нову.

Працездатний комплект. У консолі Akonadi додайте «Адресну книгу KDE (традиційну)». Вибір цього пункту означає, що для роботи у Akonadi буде налаштовано старі ресурси. У налаштуваннях пункту «Адресна книга KDE (традиційна)», ви можете вказати ресурс «IMAP через KMail» (у KMail має бути увімкнено можливості групової роботи). Подібні налаштування мають працювати для Kolab, eGroupware і подібних адресних книг, — вам слід уважно вивчити варіанти, щоб переконатися у правильності вибору.

Новий комплект (не перевірялося для серверів, відмінних від Kolab). У модулі налаштувань Akonadi додайте ресурс Сервер електронної пошти IMAP, вкажіть назву сервера, ім’я користувача і пароль, а потім натисніть кнопку «Автовиявлення». Вікно модуля налаштування можна відкрити командою:

kcmshell4 kcm_akonadi

Додайте ресурс Kolab. Дочекайтеся завершення синхронізації ресурсу imap, яка може тривати досить довго. Повідомлення про завершення можна буде бачити у модулі налаштувань Akonadi. Якщо нічого не станеться, спробуйте перезапустити akonadiserver. Якщо все вийде, адресні книги Kolab мають з’явитися у списку KAddressBook.

Під час надсилання пошти виникають тривалі затримки

Затримки супроводжуються зависаннями KMail на час до завершення обробки пошти.

У системі перевірки адрес Nepomuk виявлено вади, які спричиняють величезні затримки. Вади виправлено у KDE 4.4.1. Якщо ви не оновили систему до версії 4.4.1, можете скористатися тимчасовим вирішенням:

Закрийте вікно Kontact або вікна KMail і KAddressbook, якщо було запущено окремі програми. Вимкніть Strigi у Системних параметрах». Завершіть роботу Nepomuk, вилучіть базу даних і перезапустіть nepomukserver. Для цього слід виконати команди (від імені звичайного користувача):

qdbus org.kde.NepomukServer /nepomukserver org.kde.NepomukServer.quit
rm -r ~/.kde/share/apps/nepomuk
rm -r ~/.kde4/share/apps/nepomuk
nepomukserver

Після цього базу даних, звичайно ж, буде знищено, зокрема буде знищено всі додані вами мітки. Теоретично, можна виконати вибіркове вилучення бази даних. Настанови можна знайти на цій сторінці

Програма повідомляє про те, що ресурс IMAP постійно працює у автономному режимі

Хоча у системі встановлено з’єднання з Інтернетом, ресурс IMAP відмовляється виходити з автономного режиму.

Хоча систему з’єднано з інтернетом, ресурс IMAP не перемикається у стан «у мережі».

Цю ваду спричинено помилковими налаштуваннями NetworkManager у вашій системі. Віддайте команду таку команду:

qdbus --system org.freedesktop.NetworkManager /org/freedesktop/NetworkManager org.freedesktop.NetworkManager.state

У відповідь може бути отримане одне з таких значень:

  • 20 (у попередніх версіях 4), від’єднано. Якщо ви маєте доступ до інтернету, ваші налаштування NetworkManager є помилковими.
  • 70 (у попередніх версіях 3), з’єднано. Маємо проблеми у чомусь іншому.
    • Можливо, один або декілька мережевих інтерфейсів не керуються NetworkManager. Якщо це так, надайте змогу NetworkManager керувати цими інтерфейсами. Для цього може бути достатньо вилучити записи цих інтерфейсів з текстового файла (наприклад, /etc/network/interfaces). Докладнішу інформацію можна отримати з довідкових ресурсів вашого дистрибутива.

Неможливо прочитати подробиці щодо деяких повідомлень або під час читання виникають значні затримки

Якщо ви не можете прочитати частину повідомлень або бачите повідомлення програми «Будь ласка, зачекайте…», вам варто вийти з сеансу KDE і знову увійти до нього, щоб перезапустити всі процеси, — це може допомогти.

Технічні проблеми

Nepomuk

Починаючи з KDE 4.4, для належної роботи Akonadi потрібен Nepomuk. Akonadi перевірятиме запуск сервера Nepomuk і відкриватиме діалогове вікно з повідомленням про помилку, якщо сервер не запущено.

Nepomuk може працювати лише з сервером Virtuoso. Перевірити, чи працює Nepomuk з належним сервером можна за допомогою діалогового вікна автоматичного тестування Akonadi, спосіб відкриття якого описано вище.

Хоча для роботи Akonadi потрібен Nepomuk, ви можете вимкнути індексування файлів Strigi і позбутися найвибагливішої до ресурсів частини Nepomuk.

Apparmor

У деяких дистрибутивах (майже винятково, побудованих на Ubuntu) використовується Apparmor. Цю систему може бути налаштовано таким чином, що вона не дає Akonadi запустити вбудованих сервер бази даних. Це може призвести до різних повідомлень про помилки, зокрема таких:

unknown error 255 when running akonadictl
"DB error: 'Could not open required defaults file: /home/$username/.local/share/akonadi/mysql.conf"

Виправити ситуацію можна командою

aa-complain mysqld

У Kubuntu команди будуть такими:

sudo aa-complain mysqld
sudo /etc/init.d/apparmor reload

Зауважте, що у системі може бути використано Apparmor, навіть якщо ви не бачите відповідного пункту у списку процесів.

Крім того, вам варто знати, що деякі дистрибутиви постачаються з додатковим виконуваним файлом mysqld з назвою mysqld-akonadi. За допомогою цього файла можна належним чином налаштувати AppArmor. Якщо такий файл є у вашій системі, але його використання не допомагає у вирішенні проблеми, причин може бути дві:

  • Akonadi використовує mysqld, а не mysqld-akonadi. Змінити налаштування Akonadi можна на сторінці налаштувань Системні параметри -> Додатково -> Akonadi -> Налаштування сервера.
  • mysqld-akonadi не вдалося налаштувати AppArmor. Спробуйте виконати команду aa-complain, наведену вище, з використанням mysqld-akonadi замість mysqld.

---

Крім того, подібна проблема може виникати, якщо ви працюєте з зашифрованим encryptfs домашнім каталогом у поєднанні з AppArmor, оскільки профіль apparmor Akonadi не може у поточній версії працювати з шифрованими домашніми теками (типово для користувачів Ubuntu Jaunty). Повідомлення про помилки:

  • dmesg:
ecryptfs_do_create: Failure to create dentry in lower fs; rc = [-13]
ecryptfs_create: Failed to create file inlower filesystem
  • Akonadi показує такі повідомлення:
Akonadi server process not registered at D-Bus

Щоб виправити помилку, внесіть зміни до файла "/etc/apparmor.d/usr.sbin.mysqld-akonadi". Під рядком:

@{HOME}/.local/share/akonadi/** rwk,

Додайте новий рядок:

@{HOME}/.Private/** rwk,

Перезапустіть apparmor і akonadi.

Необхідні пакунки

Щоб користуватися Akonadi, вам слід встановити такі пакунки (назви можуть бути різними):

  • Сервер MySQL (у openSUSE називається mysql)
  • Додаток MySQL до Qt4 (у openSUSE називається libqt4-sql-mysql)

Якщо ви збираєте Qt4 власноруч, переконайтеся, що скрипту configure було передано параметр збирання додатка,

-plugin-sql-mysql

Якщо configure не вдається виявити потрібні файли коду клієнта MySQL (тобто скрипт повідомляє, що "MySQL support cannot be enabled due to functionality tests"), переконайтеся, що встановлено відповідний пакунок (типово називається [lib]mysql[client]-dev[el]). Крім того, залежно від місця встановлення файлів заголовків MySQL, можливо доведеться передати configure додаткові параметри (наприклад, -I /usr/include/mysql у openSUSE).

Якщо ви користуєтеся Qt4, звантаженим безпосередньо з сайта Nokia, наприклад, qt-sdk-linux-x86_64-opensource-2009.05.bin, у відповідь на команду "akonadictl start" ви побачити повдіомлення про помилку у Тесті 1:

Database driver not found.
Details: The QtSQL driver 'QMYSQL' is required by your current Akonadi server configuration.
The following drivers are installed: QSQLITE.
Make sure the required driver is installed.

Вам потрібен драйвер libqsqlmysql.so

На жаль, цього драйвера немає у відповідному пакунку (станом на січень 2010 року). Вам потрібно зібрати драйвер з початкових кодів. Звантажте відповідний файл, наприклад:

qt-everywhere-opensource-src-4.6.0.tar.bz

Виконайте скрипти configure і make. Команда make install не скопіює драйвер, вам потрібно зробити це власноруч:

cp <qt-src-dir>/qt-everywhere-opensource-src-4.6.0/plugins/sqldrivers/libqsqlmysql.so /usr/local/bin/sqldrivers/

Але у випуску 4.6.1, зокрема qt-sdk-linux-x86_64-opensource-2010.xx.bin, потрібний вам драйвер є. Ймовірно, якщо libmysqlclient.so було замінено новішою версією, доведеться повторно виконати прив’язку до libqsqlmysql.so.

Налаштування оточення

Сервер Akonadi шукатиме допоміжні програми Akonadi та ресурси за шляхами, визначеними за допомогою змінної середовища XDG_DATA_DIRS. Якщо Akonadi скаржиться на те, що не може знайти допоміжні програми (агенти) ао ресурси, перевірте, чи встановлено належним чином цю змінну. Крім того, пам’ятайте, що, навіть якщо цю змінну встановлено протягом поточного сеансу у консолі, на час запуску сервера її може бути не встановлено. Запуск сервера вручну за допомогою поточного сеансу надасть змогу вирішити проблему.

mysqld: unknown variable 'innodb_file_per_table=1'

Якщо у журналі сервера MySQL містяться наведені нижче повідомлення про помилки, ваш сервер MySQL було зібрано без підтримки InnoDB, яка потрібна для роботи Akonadi, або слід завантажити InnoDB за допомогою файла mysql.conf.

[ERROR] /usr/libexec/mysqld: unknown variable 'innodb_file_per_table=1'
[ERROR] Aborting

Спробуйте додати:

#sql_mode=strict_trans_tables <- Add underneath this line
#plugins
plugin_dir=usr/lib/mysql/plugin < - This may be a different path
plugin-load=ha_innodb.so

Не існує таблиці «mysql. servers» (Table 'mysql. servers' doesn't exist)

Якщо у журналі сервера MySQL містяться наведені нижче повідомлення про помилку, найімовірніше, файл налаштувань сервера MySQL розташовано у неналежному місці.

[ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
[ERROR] Cannot open mysql.db
[ERROR] Cannot open mysql.user
[ERROR] Cannot open mysql.event

Скопіюйте цей файл з /usr/share/config/akonadi/mysql-global.conf до ~/.config/akonadi/mysql-local.conf. (У користувачів debian і openSUSE цей файл розташовано за адресою /etc/akonadi/mysql-global.conf). Відкрийте цей файл у редакторі в зніміть позначку коментаря з sql_mode=strict_trans_tables. Якщо після цього ви побачите такі повідомлення про помики:

[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported table type: innodb
[ERROR] Aborting

Якщо це так, у тому самому файлі знайдіть рядок, що починається подібно до попереднього (того, коментування якого ви вже зняли), але містить додаткові параметри, відокремлені комами (щось схоже на sql_mode=strict_trans_tables,strict_all_tables, ...etc). Додайте позначку коментування до коротшого рядка з sql_mode=... і зніміть цю позначку з довшого.

У openSUSE 11.2 проблему допоможе вирішити команда

mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/

У Archlinux:

mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/ --basedir=/usr

Оновлення Kubuntu до версії 10.04

Будь ласка, не користуйтеся цією ненадійною системою. Тут наведено відомості для тих сміливців, які оновили версію Kubuntu 9.10 до 10.0004 і які користувалися особистими архівами пакунків (PPA) для виправлення вад у версії пакунків KDE 4.3.

Встановіть потрібні залежності. Вилучіть попередній кеш akonadi. Запустіть службу akonadi. Встановіть базу даних. Оновіть базу даних. Зупиніть і перезапустіть службу akonadi.

sudo apt-get install virtuoso-server mysql-server-5.1
rm -r $HOME/.local/share/akonadi
akonadictl start
mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data/
mysql_upgrade --socket=$HOME/.local/share/akonadi/db_misc/mysql.socket
akonadictl stop
akonadictl start

У відповідь на наведену вище команду mysql_install_db може бути виведено такі повідомлення, які ви можете безпечно проігнорувати:

Installing MySQL system tables...
100501 18:04:30 [Warning] Can't create test file 
/home/[userid]/.local/share/akonadi/db_data/[hostname].lower-test

Посилання: forum.kde.org Akonadi 1.2.1 — декілька вад

Оновлення KAddressBook

Окрім вад у Kubuntu 10.04, наведених нижче, може виникнути проблема з додаванням каталогу Vcard, яка може вимагати виконання наведеної нижче команди після завершення роботи Akonadi.

rm -rf $HOME/.config/akonadi

Не вдалося ініціалізувати набір символів latin1

Якщо під час запуску Akonadi було показано показано наведені нижче повідомлення про помилки, ймовірно, у системі встановлено сервер MySQL версії >5.1.42.

Character set 'latin1' is not a compiled character set and is not specified in the '/usr/share/mysql/charsets/Index.xml' file
Nepomuk QueryServer interface not available!
Connecting to deprecated signal
QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
DataStore::unhideAllPimItems()
Character set 'latin1' is not a compiled character set and is not specified in
the '/usr/share/mysql/charsets/Index.xml' file
Database error: Cannot open database.
Last driver error: "QMYSQL: Unable to connect"
Last database error: "Can't initialize character set latin1 (path:
/usr/share/mysql/charsets/)"
Database error: Cannot open database.
Last driver error: "QMYSQL: Unable to connect"
Last database error: "Can't initialize character set latin1 (path:
/usr/share/mysql/charsets/)"

У MySQL 5.1.43 і 5.1.44 внесено вади, які на дають MySQL запуститися.

Докладніші відомості можна знайти у цьому звіті щодо вади.


Перезапуск після попередньої помилки

Якщо у вас виникають проблеми з Akonadi і ви намагаєтеся вирішити їх (зокрема встановити потрібні пакунки або змінити налаштування Apparmor) у один з описаних вище способів, перед повторним запуском сервера Akonadi переконайтеся, що роботу попереднього екземпляра сервера було повністю завершено. Для цього виконайте команду

akonadictl stop

Підтвердити те, що роботу сервера повністю завершено, вам допоможе команда

akonadictl status

За певних обставин сервер Akonadi може зациклитися у частково запущеному стані після помилки. Такий напівзапущений сервер зашкодить наступним спробам запуску сервера. Якщо ви зіткнулися з подібною проблемою, будь ласка, надішліть авторам програми повідомлення про ваду з докладним звітом автоматичного тестування щодо початкової проблеми.

Так званий "Gentoo-Assert"

Це особливо неприємна проблема, яка стосується передусім користувачів дистрибутивів, зібраних безпосередньо з вихідних кодів. Основним дистрибутивом такого типу є Gentoo. Проблема отримала свою назву від формального синтаксичного виразу MySQL (assertion), подібного до наведеного у прикладі нижче. Найімовірніше причиною є невідповідність протоколів MySQL сервера MySQL і клієнтської бібліотеки або драйвера MySQL Qt.

akonadiserver: libmysql.c:4301: setup_one_fetch_function: Assertion
`param->buffer_length != 0' failed.

Дуже важко виявити причину помилки, оскільки повідомлення про неї з’являється за певних нез’ясованих обставин. Замість повідомлення про помилку ви можете зіштовхнутися з широким діапазоном дивних симптомів:

  • Тільки-но у журналах протоколу з’являться повідомлення про успішне вилучення об’єктів, які б мали припинити своє існування, як у наступних командах відбувається спроба отримати доступ до цих об’єктів.
  • У журналах протоколу SQL можна побачити повідомлення про успішне виконання команд INSERT або UPDATE зі значеннями, які не збігаються з типами відповідних стовпчиків таблиці.
  • У журналах протоколу SQL можна побачити записи великих ідентифікаторів (закономірність назв яких важко вловити), які програма вважає коректними.

Посилання:

Можливе вирішення: перезберіть драйвер MySQL Qt після оновлення MySQL (він є основним підозрюваним у виникненні проблем).

Відновлення початкових налаштувань nepomuk та системи akonadi у KMail 2

Не варто виконувати всі ці дії, якщо у вас немає резервної копії важливих для вас даних.

Після впровадження KMail 2 до kdepim, з версії KDE 4.6.x, для пошуку у повідомленнях електронної пошти і адресних книгах слід позначити пункт у програмі Системні параметри -> Стільничний пошук -> Увімкнути семантичну стільницю Nepomuk, також позначте пункт Увімкнути індексування пошти.

Якщо virtuoso-t використовує майже 100% ресурсів процесора, а система майже непрацездатна, варто відновити початкові параметри роботи Nepomuk.

Для виконання загального відновлення початкового стану вам слід виконати описані нижче дії.

Попередження

Буде відновлено початкових стан налаштувань Kontact і KDE PIM, поштові повідомлення, ресурси Akonadi (облікові записи та адресні книги), профілі KMail, фільтри і архіви вилучено не буде. Втім, буде втрачено оцінки та інші метадані. Також існує ризик втрати даних під час відбудови налаштувань.


akonadictl stop
rm -rf  ~/.local/share/akonadi/db_data/* 
akonadictl start 
# слід спорожнити теки тимчасових даних KDE перед запуском KMail
rm -rf /var/tmp/kdecache-$USER /tmp/ksocket-$USER /tmp/kde-$USER

Далі, слід перевірити, чи правильно встановлено теку «Надіслані» на сторінці Параметри -> Налаштувати KMail -> Профілі. Іноді можливі помилки.

Перевірте, чи правильно вказано теку «Вхідні» на сторінці Параметри -> Налаштувати KMail -> Облікові записи. Можливі помилки.

Перевірте, чи правильно вказано фільтри до отримання нових повідомлень. Варто вимкнути всі фільтри, оскільки можливі помилки з теками, що призведуть до помилкової обробки або втрати пошти.

Також, якщо у системі є тека застарілої пошти, варто перевірити всі теки, щоб теку отримання пошти було встановлено належним чином. Якщо позначено пункт Вилучити остаточно, ви можете втратити важливі повідомлення, оскільки архівування працюватиме з помилковою текою.

За допомогою сторінки контекстне меню теки -> Властивості теки перевірте, чи правильно вказано профіль, оскільки профіль може бути змінено або втрачено.

Після цього можна спорожняти сховище даних Nepomuk перед вмиканням семантичної стільниці Nepomuk.

Після вилучення пошкоджених даних, якщо ви все ще не можете прочитати вашу пошту, вам слід вийти з сеансу KDE і увійти до нього знову, щоб повторно ініціалізувати усі процеси.