Boostnote が起動しなくなった ~Mageia対応編~

突然、Boostnote がフリーズするようになりました。
起動はするのですが、直後にフリーズします。

原因の切り分け

まず、原因を探ります。

一般ユーザで起動

試しにシェルから起動してみます。

$ whereis boostnote
boostnote: /usr/bin/boostnote /usr/share/boostnote

$ /usr/bin/boostnote 
Gtk-Message: Failed to load module "canberra-gtk-module"

足りないモジュールを追加

"canberra-gtk-module"のロードエラーがでたので、導入します。

# dnf install lib64canberra-gtk0

================================================================================
 パッケージ              アーキテクチャ
                                     バージョン        リポジトリ         サイズ
================================================================================
インストール:
 lib64canberra-gtk0      x86_64      0.30-11.mga6      mageia-x86_64       22 k

再度シェルから起動してみたところ、エラーメッセージは表示されなくなりましたが変わらず Boostnote は起動後にフリーズします。

rootユーザで起動

$ whereis boostnote
boostnote: /usr/bin/boostnote /usr/share/boostnote

$ su -
# /usr/bin/boostnote 

root権限だと問題なく起動します。
試しに、Boostnoteディレクトリ以下の権限を'0777'に変更してみたりもしましたが、結果は変わりませんでした。
※フル権限だと気持ちが悪いので、アプリを削除・インストールしなおしました

# ls -lh /usr/bin/boostnote 
lrwxrwxrwx 1 root root 28 12月 22 14:09 /usr/bin/boostnote -> ../share/boostnote/Boostnote*
# ls -lh /usr/share/boostnote/
合計 122M
-rwxr-xr-x 1 root root  77M 12月 22 14:10 Boostnote*
-rw-r--r-- 1 root root 1.1K 12月 22 14:09 LICENSE
-rw-r--r-- 1 root root 1.7M 12月 22 14:09 LICENSES.chromium.html
-rw-r--r-- 1 root root  25K 12月 22 14:09 blink_image_resources_200_percent.pak
-rw-r--r-- 1 root root   15 12月 22 14:09 content_resources_200_percent.pak
-rw-r--r-- 1 root root 9.7M 12月 22 14:09 content_shell.pak
-rw-r--r-- 1 root root 9.7M 12月 22 14:09 icudtl.dat
-rw-r--r-- 1 root root 2.9M 12月 22 14:09 libffmpeg.so
-rwxr-xr-x 1 root root  20M 12月 22 14:10 libnode.so*
drwxr-xr-x 2 root root 4.0K  3月 10 23:10 locales/
-rw-r--r-- 1 root root 335K 12月 22 14:09 natives_blob.bin
-rw-r--r-- 1 root root 137K 12月 22 14:09 pdf_viewer_resources.pak
drwxr-xr-x 3 root root 4.0K  3月 10 23:10 resources/
-rw-r--r-- 1 root root 971K 12月 22 14:09 snapshot_blob.bin
-rw-r--r-- 1 root root 160K 12月 22 14:09 ui_resources_200_percent.pak
-rw-r--r-- 1 root root    7 12月 22 14:09 version
-rw-r--r-- 1 root root  59K 12月 22 14:09 views_resources_200_percent.pak

調査結果

おそらく、Boostnote が必要としているライブラリなどの読み込み権限が無いためだと思われます。
調査に時間がかかりそうなので、ひとまずroot権限で起動できるシェルを作成して対応することにしました。

シェル作成

一般ユーザにsudo権限付与

RPM系ディストリビューションでは、標準で一般ユーザにsudo権限がありません。
sudoを使えるように、visudoコマンドでsudoコマンドの設定ファイルを編集します。

バックアップ

念のため、事前にバックアップを取得します。

# cp /etc/sudoers /etc/sudoers_org20180310

編集

visudoコマンドで、対象ユーザ{username}を追記します。

実際には「/etc/sudoers」が変更されます。

# diff -u /etc/sudoers_org20180310 /etc/sudoers
--- /etc/sudoers_org20180310    2018-03-10 22:22:42.703179067 +0900
+++ /etc/sudoers    2018-03-10 22:24:05.884139162 +0900
@@ -74,6 +74,7 @@
 ##
 ## Allow root to run any commands anywhere 
 root   ALL=(ALL)   ALL
+{username} ALL=(ALL)   ALL

 ## Allows members of the 'sys' group to run networking, software, 
 ## service management apps and more.

シェル作成

root権限で起動させるため、sudoコマンドを使って作成します。

$ cat /home/{username}/デスクトップ/boostnote.sh 
sudo /usr/bin/boostnote

※シェルには実行権限が必要です

起動方法

対象シェルをダブルクリックして[端末で実行]を選択するとターミナルが起動するので、パスワードを入力すると Boostnote が起動します。