Debian12(Bookworm)でTauri(v1)アプリがそのままでは開かない場合の対策


※ 当ページには【広告/PR】を含む場合があります。
2024/07/26
個人的Debian11(Bullseye)から12(Bookworm)へのお引越しメモ

最近まで、独自にビルドしたTauri(v1)アプリをDebian12で問題なく使えていたのですが、このほどTauriアプリの開発環境でしばらくやっていなかったaptアップデートをかけると、以下のように真っ白になってGUIがクラッシュするようになりました。

合同会社タコスキングダム|蛸壺の技術ブログ

こうなるといかなる操作も受付ないようになっているようです。

コンソールから立ち上げたとき、以下のような警告が出ています。

            
            ** (app:4277): WARNING **: 10:58:51.832:
webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.
        
どうやらWebkitに起因する不具合のようですが、解決の糸口が『webkit_settings_set_enable_offline_web_application_cache』ということしか分かりません。

今回は、とりあえずこれをヒントに解決策を模索したときの防備録として記事に残します。


合同会社タコスキングダム|蛸壺の技術ブログ【効果的学習法レポート】シェルスクリプトをこれから学びたい人のためのオススメ書籍&教材特集

解決策〜ホストOS側でWebkit2の起動設定で対応する

まずは原因のちょっとした考察を行います。

警告の文面通り、

            
            webkit_settings_set_enable_offline_web_application_cache is deprecated and does nothing.
        
は、Webkit2の組み込みメソッドの「webkit_settings_set_enable_offline_web_application_cache」が非推奨となり、このメソッドを使ってもオフライン用のアプリケーションキャッシュが有効にならない、ということのようです。

既にTauri v2がリリースされているため、そちらにアプリケーションごと移行できるようにすればそのまま動きそうですが、移行作業に時間がかかるのも手間です。

できればこれまで通りTauri v1系を動かしたい場合、
こちらでディスカッションされているように、ホストOS側の環境変数を設定してあげると良いようです。

例えば、ビルドしたアプリケーション名が
tauri-appだった場合に、実行バイナリのあるディレクトリからTauriアプリを起動したい場合、以下のようにします。

            
            $ WEBKIT_DISABLE_COMPOSITING_MODE=1 ./tauri-app
        
すると、問題なく起動するようになります。

合同会社タコスキングダム|蛸壺の技術ブログ

ただし、起動のたびに
WEBKIT_DISABLE_COMPOSITING_MODE=1 ...を書いてあげるのも大変ですので、.bashrc等にこの環境変数を追記しておくと良いでしょう。

            
            echo 'export WEBKIT_DISABLE_COMPOSITING_MODE=1' >> ~/.bashrc
        

合同会社タコスキングダム|蛸壺の技術ブログ【効果的学習法レポート】シェルスクリプトをこれから学びたい人のためのオススメ書籍&教材特集

まとめ

今回はTauri(v1)アプリがうまく表示されなくなったときの対処法を紹介してみました。

もはやTauri(v1)アプリを使う必要がなければ、Tauri(v2)へ開発環境を完全移行しても良いとは思います。

ただし、Tauriのビルドに必要なWebKitのバージョンが、v1ではWebKit2-4.0系、v2ではWebKit2-4.1系と異なるため、古いLinuxカーネルほどTauri(v2)アプリが動作しなくなるでしょう。

結局、古いOS上でTauriアプリを動かすことが難しくなるので、これを機に新しいOSバージョンへアップグレードするのも検討してみてください。
記事を書いた人

記事の担当:taconocat

ナンデモ系エンジニア

主にAngularでフロントエンド開発することが多いです。 開発環境はLinuxメインで進めているので、シェルコマンドも多用しております。 コツコツとプログラミングするのが好きな人間です。

合同会社タコスキングダム|蛸壺の技術ブログ【効果的学習法レポート】シェルスクリプトをこれから学びたい人のためのオススメ書籍&教材特集