いつものように、Arch Linux + swayのマシンでDropboxをCLIから起動しようとしました。
$ dropbox
すると、起動できず以下のようなエラーが出力されてしまいました!
dropbox: load fq extension '/opt/dropbox/cryptography.hazmat.bindings._openssl.abi3.so' dropbox: load fq extension '/opt/dropbox/cryptography.hazmat.bindings._padding.abi3.so' dropbox: load fq extension '/opt/dropbox/apex._apex.abi3.so' dropbox: load fq extension '/opt/dropbox/psutil._psutil_linux.cpython-38-x86_64-linux-gnu.so' dropbox: load fq extension '/opt/dropbox/psutil._psutil_posix.cpython-38-x86_64-linux-gnu.so' dropbox: load fq extension '/opt/dropbox/tornado.speedups.cpython-38-x86_64-linux-gnu.so' dropbox: load fq extension '/opt/dropbox/wrapt._wrappers.cpython-38-x86_64-linux-gnu.so' dropbox: load fq extension '/opt/dropbox/PyQt5.QtCore.so' dropbox: load fq extension '/opt/dropbox/PyQt5.sip.so' dropbox: load fq extension '/opt/dropbox/PyQt5.QtGui.so' dropbox: load fq extension '/opt/dropbox/PyQt5.QtWidgets.so' dropbox: load fq extension '/opt/dropbox/PyQt5.QtDBus.so' ==== AUTHENTICATING FOR org.freedesktop.policykit.exec ==== Authentication is needed to run `/bin/sh /tmp/tmp4w886vq0' as the super user Authenticating as: root Password: ==== AUTHENTICATION FAILED ====
メッセージの最後の方を読むとpolkit
が原因でエラーが出ているようなので、
まず、自分のシステムにインストールされているpolkit
関係のパッケージを調べることにしました。
$ pacman -Q | grep polkit
結果としてpolkit
とpolkit-gnome
がインストールされていることがわかりました。
Arch wikiでpolkitを調べてみると以下のように特定のデスクトップ環境でははじめからインストールされていて、自動で起動するようになっているようです。
グラフィカル環境を使っている場合、グラフィカルな認証エージェントをインストールし、(xinitrc を使うなどして) ログイン時に自動で実行されるようにしてください。 Cinnamon、Deepin、GNOME、GNOME Flashback、KDE、LXDE、LXQt、MATE、theShell、Xfce には初めから認証エージェントが入っています。 他のデスクトップ環境を使っているときは、以下の実装からどれか一つを選ぶ必要があります:
筆者の環境はswayであるので、polkit-gnome
が起動時に自動で起動するように設定をすることが必要そうにみえます。
sway自動起動する設定は基本的に~/.config/sway/config
に以下の形式で書き込むので、以下のように書き足しました。
# polkit exec /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
この後でこのマシンを再起動してdropboxを起動させると前のようにちゃんと起動するようになりました。