良いメール/連絡先/カレンダーなどのアプリケーションを探している間、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 *アプリケーションに必要なサーバーのaconadiバージョンがアクセスしようとしていますが、存在しないために発生する~/.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の衣類設定ファイルに次の2行を追加します。
$ 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