2022年8月13日土曜日

snap版アプリ不具合時の対応


背景

Ubuntu22.04からfirefoxやFreeCADなどのアプリケーション(プログラム)がaptコマンドからsnap(snapcraft)というソフトウェア管理プログラム経由での配信に変わりました。
firefoxに関してはaptコマンド経由でインストールするのに比べて不具合や不都合があるためaptコマンドでインストールするdeb版の利用を促すページを頻繁に見かけます。

致命的な不具合に遭遇したらdeb版に乗り換える方針で利用しつつ問題がある度に何とか解決しながら使えているので、備忘録を兼ねてsnap版アプリで発生した不具合と自分が行った対応を記事に残します。

使ったもの

ubuntu22.04

利用したsnapのバージョンはこちらです。
snap version
snap    2.56.2+22.04ubuntu1
snapd 2.56.2+22.04ubuntu1
series 16
ubuntu 22.04
kernel 5.15.0-46-generic

動作確認コマンド

snapのアプリケーションは下記のようなコマンドで実行できます。
snap run [アプリ名]

挙動がおかしい場合は上記コマンドで実行するとログが確認できて解決の糸口をつかめる場合があります。

snapアプリとOSの接続設定(interface, plug, slot)は下記のコマンドで確認できます。
snap connection [アプリ名]

起動しない: disable -> enable またはインストールしなおし

ubuntuのupdateを実行したら確認した範囲で全てのsnap版アプリ(firefox, chromium, slack, freecad, snap-store)が起動しない事態が発生しました。
snap run snap-store
/snap/snap-store/582/snap/command-chain/desktop-launch: line 52: /home/asuki/.config/user-dirs.dirs: Permission denied
sed: can't read /home/asuki/.config/user-dirs.dirs: Permission denied
/snap/snap-store/582/snap/command-chain/desktop-launch: line 261: /home/asuki/.config/user-dirs.dirs: Permission denied
cp: cannot stat '/snap/snap-store/582/gnome-platform/usr/share/mime': No such file or directory
Directory '/home/asuki/snap/snap-store/582/.local/share/mime/packages' does not exist!
/snap/snap-store/582/snap/command-chain/desktop-launch: line 20: /snap/snap-store/582/gnome-platform/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0: No such file or directory
ERROR: /snap/snap-store/582/gnome-platform/usr/lib/x86_64-linux-gnu/libgtk-3-0/gtk-query-immodules-3.0 exited abnormally with status 127
ERROR: update-mime-database /home/asuki/snap/snap-store/582/.local/share/mime exited abnormally with status 1
/snap/snap-store/582/usr/bin/snap-store: error while loading shared libraries: libappstream.so.4: cannot open shared object file: No such file or directory

アプリ名を指定してdisableとenableを呼べば起動可能になりました。

下記はsnap-storeの場合のコマンドです。
sudo snap disable snap-store
sudo snap enable snap-store

下記のコマンドでインストールしなおしでも直ることがありますが、ブラウザだとログイン情報などの設定が消えるので、disableとenableから試すのをお勧めします。

下記はsnap-storeをインストールし直す場合のコマンドです。
sudo snap remove snap-store
sudo snap install snap-store

firefoxでプラグインが使えない: firefox-bin版を利用

video download helperなど、OSにインストールプログラムと連携するプラグインは現状snap版では使えません。
しかしながら、snapでインストールされたファイルの中にsnapを通さず起動するfirefoxのファイルfirefox-binが含まれており、それを通して起動することでプラグインを利用できます。
/snap/firefox/current/usr/lib/firefox/firefox-bin

注意点として、firefox-binで起動した場合とsnap版firefoxは関連ファイルの置き場が異なるようで、各種設定(お気に入り、履歴、ログインセッション、インストールしたプラグインなど)が共有されない別のブラウザとして動作します。
そのため、snap版にプラグインをインストールしてもfirefox-bin版では呼び出せず再度インストールが必要です。

参考: Ubuntu 22.04 Video Download Helper can't (ever) find its Companion App

chromiumで日本語を入力できない: latest_versionファイルを削除して再起動

起動できない不具合が発生してdisable -> enableを行って起動可能にしたchromiumでibusが動作せず日本語が入力できない不具合が発生しました。
因果関係は不明なままですが、下記のコマンドでlatest_versionを削除した後の再起動したら日本語入力できるようになりました。
rm ~/snap/chromium/current/.last_revision

参考: [snap] After deleting the cache, chromium crashes when file picker is called to upload files or folders

終わり

snap版アプリの不具合に遭遇しつつも何とか使い続けられています。

0 件のコメント :