![해결책](https://linux55.com/image/135653/%ED%95%B4%EA%B2%B0%EC%B1%85.png)
좋은 메일/연락처/캘린더 등의 응용 프로그램을 찾는 동안 KDE를 사용해 보았습니다.연락처 정보거의 모든 번들 애플리케이션(kmail, korganiser 등)을 실행하는 동안 다음 문제에 직면했습니다. 애플리케이션은 그림 1과 같이 로딩 화면을 표시한 다음 The Akonadi personal information management service is not operational.
그림 2와 같은 오류, 지침 또는 유사한 내용을 표시합니다.
제가 제공한 시스템 정보는 다음과 같습니다 screenfetch
.
OS: KDE neon 5.12
Kernel: x86_64 Linux 4.13.0-45-generic
Uptime: 4h 37m
Packages: 2060
Shell: bash 4.3.48
Resolution: 1280x800
DE: KDE 5.47.0 / Plasma 5.13.1
WM: KWin
GTK Theme: Breeze [GTK2/3]
Icon Theme: breeze
Font: Noto Sans Regular
CPU: Intel Core2 Duo P8700 @ 2x 2.534GHz [36.0°C]
GPU: intel
RAM: 1802MiB / 2946MiB
Kontact 제품군을 제거(및 재설치)해 보았습니다( --purge
매개변수 포함 및 제외 apt
).무슨 이유인지 에러 화면에 나오는 "상세보기" 버튼을 눌렀는데 아무 일도 안 일어나는 것 같아요.
나는 저장했다자체 테스트 보고서내 데스크탑에 파일을 저장했는데 거기(내 편집자)가 있다는 것을 잊어버렸습니다.
답변1
해결책
오류 로그에는 mysql
이러한 K* 애플리케이션에 필요한 akonadi 버전의 서버가 에 액세스하려고 시도하고 있지만 ~/.local/share/akonadi/db_data/
존재 db_data
하지 않으므로 발생하는 오류가 발생 함을 보여줍니다 touch ~/nonexistent_dir/file.txt
.
이 문제를 해결하려면 다음 명령을 실행하십시오.
cd ~/.local/share/akonadi/; mkdir db_data
설명하다
인터넷에서 많은 정보를 검색한 후(많은 정보가 있지만 대부분은 Akonadi와 유사하지만 동일하지 않은 문제에 대한 불완전/해결되지 않은 포럼 스레드입니다) 찾을 수 있었습니다.이것KDE에서 제공한 Akonadi의 일반 요약은 내 조사를 위한 좋은 출발점이 되었습니다.
링크에 언급된 명령을 사용한 후 다음과 같은 출력을 얻었습니다(편집).
$ 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-test\n2018-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-test\n2018-06-21T19:34:19.006549Z 0 [Warning] Can't create test file /home/[my username]/.local/share/akonadi/db_data/[my hostname].lower-test\n2018-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] Aborting\n\n2018-06-21T19:34:19.006658Z 0 [Note] Binlog end\n2018-06-21T19:34:19.006726Z 0 [Note] /usr/sbin/mysqld: Shutdown complete\n\n"
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...
이것은 몇 가지 흥미로운 선을 만듭니다. 문제는 입니다 . 프로그램이 액세스할 수 없는 디렉토리에 쓰려고 시도하고 오류가 발생하는 것처럼 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)
보입니다 .touch ~/nonexistent_dir/file.txt
그래서 달려가서 cd ~/.local/share/akonadi/; mkdir db_data
다시 시도했습니다. 붐, 효과가 있었어요.
답변2
비슷한 문제, 다른 해결책. 내 진단은 다음과 같습니다.
$ 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
해결책,다음에 추가mysqld의 의류 구성 파일에 다음 두 줄을 추가합니다:
$ sudo nano /etc/apparmor.d/usr.sbin.mysqld
/{,var/}run/user/[0-9]*/akonadi/** rw,
/home/*/.local/share/akonadi/** rwk,
다음은:
$ sudo systemctl restart apparmor.service
$ akonadictl --verbose start