Saltar al contenido

Las aplicaciones de KDE Kontact no se inician. El servicio de gestión de información personal de Akonadi no está operativo

Solución:

Solución

Los registros de errores muestran que la versión akonadi del mysql servidor que requieren estas aplicaciones K * está intentando acceder ~/.local/share/akonadi/db_data/ excepto db_data no existe, por lo que arroja un error muy parecido a touch ~/nonexistent_dir/file.txt haría.

Para resolverlo, simplemente ejecute los siguientes comandos.
cd ~/.local/share/akonadi/; mkdir db_data


Explicacion

Después de investigar mucho en Internet (había una cantidad decente de información, pero la mayoría eran hilos de foro incompletos / sin resolver sobre problemas similares pero no idénticos con Akonadi) pude encontrar este resumen general de Akonadi de KDE que fue un excelente punto de partida para mi propia investigación.

Después de jugar con los comandos mencionados en el enlace, obtuve el siguiente resultado (redacciones mías):

$ akonadictl start
$ Connecting to deprecated signal QDBusConnectionInterface::serviceOwnerChanged(QString,QString,QString)
mysqld: [ERROR] Could not open required defaults file: /home/[my username]/.config/akonadi/
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
org.kde.pim.akonadiserver: database server stopped unexpectedly
org.kde.pim.akonadiserver: Database process exited unexpectedly during initial connection!
org.kde.pim.akonadiserver: executable: "/usr/sbin/mysqld-akonadi"
org.kde.pim.akonadiserver: arguments: ("--defaults-file=/home/[my username]/.local/share/akonadi/mysql.conf", "--datadir=/home/[my username]/.local/share/akonadi/db_data/", "--socket=/tmp/akonadi-[my username].UXCgLp/mysql.socket", "--pid-file=/tmp/akonadi-[my username].UXCgLp/mysql.pid")
org.kde.pim.akonadiserver: stdout: ""
org.kde.pim.akonadiserver: stderr: "mysqld: Can't change dir to '/home/[my username]/.local/share/akonadi/db_data/' (Errcode: 2 - No such file or directory)n2018-06-21T19:34:18.989616Z 0 [Warning] The syntax '--log_warnings/-W' is deprecated and will be removed in a future release. Please use '--log_error_verbosity' instead.n2018-06-21T19:34:18.989703Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).n2018-06-21T19:34:18.991172Z 0 [Warning] Can't create test file /home/[my username]/.local/share/akonadi/db_data/[my hostname].lower-testn2018-06-21T19:34:18.992274Z 0 [Note] /usr/sbin/mysqld (mysqld 5.7.22-0ubuntu0.16.04.1) starting as process 11859 ...n2018-06-21T19:34:19.006500Z 0 [Warning] Can't create test file /home/[my username]/.local/share/akonadi/db_data/[my hostname].lower-testn2018-06-21T19:34:19.006549Z 0 [Warning] Can't create test file /home/[my username]/.local/share/akonadi/db_data/[my hostname].lower-testn2018-06-21T19:34:19.006623Z 0 [ERROR] failed to set datadir to /home/[my username]/.local/share/akonadi/db_data/n2018-06-21T19:34:19.006632Z 0 [ERROR] Abortingnn2018-06-21T19:34:19.006658Z 0 [Note] Binlog endn2018-06-21T19:34:19.006726Z 0 [Note] /usr/sbin/mysqld: Shutdown completenn"
org.kde.pim.akonadiserver: exit code: 1
org.kde.pim.akonadiserver: process error: "Unknown error"
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/akonadi-[my username].UXCgLp/mysql.socket' (2)'
Check that mysqld is running and that the socket: '/tmp/akonadi-[my username].UXCgLp/mysql.socket' exists!
org.kde.pim.akonadiserver: Failed to remove runtime connection config file
org.kde.pim.akonadicontrol: Application 'akonadiserver' exited normally...

Esto produce un par de líneas interesantes. El problemático es org.kde.pim.akonadiserver: stderr: "mysqld: Can't change dir to '/home/[my username]/.local/share/akonadi/db_data/' (Errcode: 2 - No such file or directory). Para mí, esto parecía que el programa estaba tratando de escribir en un directorio al que no tenía acceso y estaba arrojando un error, muy parecido a touch ~/nonexistent_dir/file.txt haría.

Así que corrí cd ~/.local/share/akonadi/; mkdir db_data y lo volvió a intentar. Bam funcionó.

Problema similar, solución diferente. El mío fue diagnosticado como tal:

$ akonadictl --verbose start                                      
....
org.kde.pim.akonadiserver: Executing: "/usr/sbin/mysqld-akonadi" "--defaults-file=/home/dargaud/.local/share/akonadi/mysql.conf --datadir=/home/dargaud/.local/share/akonadi/db_data/ --socket=/run/user/10705/akonadi/mysql.socket --pid-file=/run/user/10705/akonadi/mysql.pid"
org.kde.pim.akonadiserver: database server stopped unexpectedly

$ tail /var/log/syslog                      
audit: type=1400 audit(1593423663.888:404): apparmor="DENIED" operation="mknod" profile="/usr/sbin/mysqld" name="/home/dargaud/.local/share/akonadi/db_data/mysqld_tmp_file_case_insensitive_test.lower-test" pid=156675 comm="mysqld-akonadi" requested_mask="c" denied_mask="c" fsuid=10705 ouid=10705

Solución, agregando las siguientes dos líneas al archivo de configuración apparmor para mysqld:

$ sudo nano /etc/apparmor.d/usr.sbin.mysqld
/{,var/}run/user/[0-9]*/akonadi/** rw,
/home/*/.local/share/akonadi/** rwk,

Seguido por:

$ sudo systemctl restart apparmor.service
$ akonadictl --verbose start 
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *