Ubuntu 24.04でFlatpakアプリがGTKテーマを尊重しない問題を修正する

FlatpakアプリがAdwaitaで起動し、Ubuntu 24.04の他の部分はYaruを使用している場合でも、デスクトップにインストールされているテーマファイルには問題がない可能性があります。Flatpakはサンドボックス内でアプリを実行するため、プログラムはホストのテーマファイルをすべて自動的に読み込むわけではありません。通常、解決策は、選択されたテーマがFlatpakランタイムで利用可能であること、およびデスクトップ設定サービスがアクティブな選択を伝達できることを確認することです。

このガイドは、簡単なチェックから始まり、具体的なトラブルシューティングへと進みます。主にGTK 3アプリケーションを対象としています。GTK 4およびlibadwaitaアプリケーションは異なるスタイルルールに従う可能性があるため、ファイルや他のGTK 3アプリケーションで機能するテーマが、すべてのFlatpakウィンドウに適用されるとは限りません。

まず知っておくべきこと

GTKテーマは、グラフィカルインターフェース構築ツールキットであるGTKを使用するアプリのボタンやメニューなどのインターフェース要素の外観を制御します。Flatpakランタイムは、サンドボックス化されたアプリで使用される共有ライブラリを提供します。サンドボックスは、アプリのファイルシステムをホストシステムから分離します。そのため、などの場所にあるホストテーマファイルは、/usr/share/themesすべてのFlatpakに単純にコピーされるわけではありません。

Flatpak がサポートする GTK 3 テーマのアプローチは、テーマ名にちなんだ拡張機能で、通常は に続きますorg.gtk.Gtk3theme.ThemeName。アプリのランタイム用に構成されたリモートにその拡張機能が存在する場合、Flatpak はアプリと一緒に、または更新時にそれをインストールできます。デスクトップはアクティブな設定も公開する必要があります。X11 では XSettings が使用され、Wayland では設定ポータルが提供されます。ポータルは、サンドボックス化されたアプリに選択されたデスクトップ機能と設定への制御されたアクセスを提供するデスクトップ サービスです。

UbuntuのデフォルトテーマであるYaruはホストにインストールされていますが、それだけでは、すべてのアプリとランタイムに対応するFlatpakテーマ拡張機能が利用可能であるとは限りません。利用可能かどうかは、テーマ名、設定されているFlatpakリモート、ランタイムブランチ、およびツールキットによって異なります。Flatpakのドキュメントでは、テーマまたは設定インターフェースが利用できない場合の代替手段としてAdwaitaが挙げられています。

ステップ1:ホストテーマとセッションを確認する

まず、テーマが通常のデスクトップアプリにも適用されているかどうかを確認してください。[設定] → [外観] を開き、選択されているスタイルをメモしておき、プリインストールされているGTKアプリを開いてください。ホストアプリの表示もおかしい場合は、Flatpakの設定を変更する前にデスクトップの外観を修正してください。

ターミナルからGTKテーマ名を調べるには、以下のコマンドを使用します。

gsettings get org.gnome.desktop.interface gtk-theme

結果は引用符付きの名前になります'Yaru'。たとえば、 。スペルと大文字小文字を記録してください。 Flatpak はホストで選択された GTK テーマ名を拡張機能に一致させます。類似しているが名前が異なるテーマを検索しても、不一致は解決しない場合があります。 Ubuntu の Yaru プロジェクトでは、Yaru を Ubuntu のデフォルトの GTK テーマ スイートとして文書化しています。

また、セッションがWaylandかX11かを確認してください。ログイン画面でユーザーを選択し、利用可能な場合は歯車アイコンのメニューを使用します。通常、そこにセッション名が表示されます。設定パスが異なるため、これは重要です。Waylandはポータルに依存しますが、X11はXSettingsを使用します。Ubuntu 24.04のデフォルトのGNOMEセッションは通常Waylandを使用しますが、ユーザーは別のセッションを選択することもできます。

ステップ2:Flatpakを更新し、テーマ拡張機能の利用可能性を確認します。

Flatpakの一般的なアップデートを実行して、インストール済みのアプリ、ランタイム、および利用可能な拡張機能を更新します。

flatpak update

確定する前に、提案された変更内容を確認してください。次に、設定済みのリモートから、記録したテーマ名に一致する拡張機能を検索します。Yaru の選択の場合は、以下を試してください。

flatpak search org.gtk.Gtk3theme.Yaru

検索結果に一致する拡張機能が見つかった場合は、表示されたアプリケーションIDとリモートを正確にメモしてください。Flatpakが既にインストールしていない場合にのみインストールしてください。IDとリモートは、表示されているとおりに正確に使用してください。

flatpak install REMOTE EXTENSION_ID

大文字で始まるプレースホルダーは両方とも実際の値に置き換えてください。無関係なテーマやランタイムブランチから推測した拡張機能IDをコピーしないでください。特定のランタイムでは一部の拡張機能ビルドが利用できない場合があります。その場合、ホストにYaruがインストールされていても、アプリはAdwaitaを引き続き使用できます。

Flatpakのデスクトップ統合に関するドキュメントによると、リモートに存在するGTKテーマ拡張機能は、アプリのインストールまたは更新時に自動的にインストールされます。したがって、拡張機能が利用可能であるにもかかわらず存在しない場合は、アプリを更新するだけで十分な場合があります。リモートやパッケージの変更に伴い検索結果が変わる可能性があるため、パッケージ名を前提とするのではなく、ローカルのFlatpakの出力を最新のチェックとして扱ってください。

ステップ3:アプリを再起動し、デスクトップ設定サービスを更新します。

影響を受けているアプリを、バックグラウンドで実行されているインスタンスも含めて完全に終了し、再度起動してください。実行中のプロセスは、起動時に読み取った外観設定を保持している場合があります。

Waylandを使用しているにもかかわらず、複数のGTK Flatpakが選択したスタイルを無視する場合は、GTKポータルバックエンドがインストールされているかどうかを確認してください。

dpkg -l xdg-desktop-portal xdg-desktop-portal-gtk

パッケージ一覧でインストール済みかどうかを確認してください。Flatpakのドキュメントでは、xdg-desktop-portal-gtkGTKテーマとフォントに必須であると明記されています。インストールされていない場合は、公式アーカイブからUbuntuパッケージをインストールしてください。

sudo apt update
sudo apt install xdg-desktop-portal-gtk

まず、開いているアプリケーションの作業内容を保存してください。次に、サインアウトして再度サインインすると、ユーザーセッションとポータルサービスが正常に再起動されます。これは通常、初心者にとって最も分かりやすい方法です。上級ユーザーは、ターミナルから を使ってユーザーサービスを再起動できますsystemctl --user restart xdg-desktop-portal.service xdg-desktop-portal-gtk.serviceが、サービス名やアクティベーションの動作はインストール環境によって異なる場合があります。このコマンドでユニットがロードされていないと報告された場合は、サービスを繰り返し再起動するのではなく、サインアウトしてください。

ステップ4:アプリケーションがテーマをサポートしているかどうかを確認します

同じ Flatpak を再度開き、そのボタン、メニュー、ウィンドウの内容を、Ubuntu のパッケージからインストールした GTK アプリと比較してください。どちらか一方の Flatpak のみが異なる場合は、そのアプリのツールキット、ランタイム、または実装に問題がある可能性があります。たとえば、一部の GTK 4 アプリは libadwaita を使用していますが、これは GNOME のデザイン規約に意図的に従っており、古い GTK 3 アプリのように任意の GTK テーマをサポートしていません。また、GTK 3 用の Flatpak 拡張機能では Qt アプリのスタイルを変更することはできません。

アプリが最新のランタイムを使用し、GTK 3テーマ拡張機能が存在する場合、デスクトップ設定は通常自動的に適用されます。適用されない場合は、アプリのランタイムを以下で確認してください。

flatpak info APP_ID

APP_ID実際のアプリIDに置き換えてください。この出力は、アプリのメンテナに問い合わせる際に報告すべきランタイムとブランチを特定するのに役立ちます。ただし、これだけではアプリケーションがGTKテーマの設定を尊重しているかどうかは証明されません。

避けるべき一般的な修正方法

  • 最初の対策として、ホストファイルシステムへの広範なアクセス権限を付与しないでください。Flatpakのドキュメントには、ホストのテーマファイルを公開するとサンドボックスが弱体化し、移植性が低下する可能性があると記載されています。メンテナンスされたテーマ拡張機能と正常に動作するデスクトップ統合を優先してください。
  • APTを使ってテーマをインストールすれば、すべてのFlatpakパッケージ内にテーマがインストールされるとは限りません。APTはホストを変更するため、Flatpakランタイムには互換性のある拡張機能またはサポートされている設定パスが必要です。
  • ダークモードとGTKテーマを混同しないでください。デスクトップの配色設定とGTKテーマは、関連性はあるものの、それぞれ異なる設定です。アプリとそのランタイムは、該当する設定をサポートしている必要があります。
  • GNOMEの設定をすべてリセットしたり、テーマフォルダを削除したりしないでください。そのような操作を行うと、無関係な設定が削除されたり、不足しているFlatpak拡張機能が追加されなかったりする可能性があります。
  • 環境変数による上書きを万能な解決策として使用しないでください。上書き方法はツールキットやアプリケーションによって異なる場合があり、実際の拡張機能の欠落やポータルの問題を隠蔽してしまう可能性があります。

結果を確認する

該当する拡張機能を更新またはインストールし、セッションまたはアプリを再起動した後、次の3点を確認してください。ホストが期待どおりのGTKテーマ名を報告していること、関連するテーマ拡張機能がFlatpakのインストール済みアプリケーションに表示されていること、影響を受けるアプリのGTKコントロールが期待どおりの外観になっていること。インストール済みのFlatpakの一覧は、次のコマンドで確認できます。

flatpak list --app

ホストテーマが正しく、アプリの実行時に拡張機能が利用できず、視覚的に異なるアプリケーションが1つだけ残っている場合、制限の原因はUbuntuテーマの不具合ではなく、アプリ固有のものである可能性があります。報告の際には、FlatpakアプリID、実行時ブランチ、セッションタイプ、テーマ名、および関連するポータルパッケージの状態を含めてください。これにより、メンテナーはパッケージングの不備とデスクトップ設定の問題を区別するために必要な詳細情報を得ることができます。

公式資料

コメントを残す

Ubuntu 24.04でFlatpakアプリがGTKテーマを尊重しない問題を修正する

Ubuntu 24.04でFlatpakアプリがGTKテーマを尊重しない問題を修正する

FlatpakアプリがUbuntu 24.04 GTKテーマを無視する理由を理解し、安全な手順に従ってテーマ拡張機能を確認し、Flatpakアプリを更新し、ポータルの問題を診断してください。

BitLockerを有効にした状態でUbuntu 24.04とWindows 11をデュアルブートする方法

BitLockerを有効にした状態でUbuntu 24.04とWindows 11をデュアルブートする方法

BitLockerを有効にしたWindows 11と並行してUbuntu 24.04を安全にインストールします。別ドライブと共有ドライブのパス、回復キー、パーティション分割、ブートチェックなどを比較します。

Ubuntuでカーネルアップデート後にNvidiaドライバーが読み込まれない問題を解決する方法

Ubuntuでカーネルアップデート後にNvidiaドライバーが読み込まれない問題を解決する方法

Ubuntuカーネルのアップデート後に発生するNVIDIAドライバの不具合を診断します。DKMSとセキュアブートを確認し、該当するモジュールを再構築し、MOKを登録して、修正が反映されていることを確認します。

Ubuntu 24.04でサスペンド後にWi-Fiが切断される問題を解決する方法

Ubuntu 24.04でサスペンド後にWi-Fiが切断される問題を解決する方法

NetworkManager、無線ブロック、アップデート、省電力、ドライバをチェックし、各復帰を検証することで、Ubuntu 24.04 のサスペンド後の Wi-Fi 切断を修正します。

Fix High CPU Usage by Tracker-Miner-3 in Ubuntu GNOME

Fix High CPU Usage by Tracker-Miner-3 in Ubuntu GNOME

Learn why tracker-miner-fs-3 uses high CPU in Ubuntu GNOME and how to check indexing, exclude folders, update Ubuntu, or safely rebuild the search index.

UEFI環境でDebianをインストールした後に発生する「起動可能なデバイスが見つかりません」というエラーを修正する

UEFI環境でDebianをインストールした後に発生する「起動可能なデバイスが見つかりません」というエラーを修正する

Debianを再インストールすることなく、ブートモード、EFIシステムパーティション、GRUBファイル、ファームウェアのブート順序を確認することで、DebianのUEFIブートエラーを修正します。

PC向け最高の写真整理ソフト TOP 5

PC向け最高の写真整理ソフト TOP 5

PCのハードドライブに数千枚の写真が溜まり、フォルダ名がめちゃくちゃで欲しい写真を探すのが大変なら、本当にストレスですよね。全体のアルバムを漁るのも時間の無駄です。専門の写真整理プログラムがこの問題を完璧に解決してくれます。

ゲームバーのショートカット Win+G が機能しない問題のトラブルシューティング

ゲームバーのショートカット Win+G が機能しない問題のトラブルシューティング

Windows で Win+G ショートカットが機能しないのは困りものですか? 簡単な再起動から高度な解決策まで、ゲーム バーの問題に関する実証済みのトラブルシューティング手順を見つけて、ゲーム ツールバーを簡単に復元しましょう。

Windows 11 ネットワーク ブリッジ エラーのトラブルシューティング

Windows 11 ネットワーク ブリッジ エラーのトラブルシューティング

Windows 11のネットワークブリッジエラーでお困りですか?この包括的なガイドでは、接続の問題を解決し、ネットワーク設定を最適化して、迅速にオンライン状態に戻るための実証済みのトラブルシューティング手順をご案内します。シームレスなブリッジ接続のための専門家のヒントもご覧ください。

Windows 11 Android Studio エミュレータのエラーのトラブルシューティング

Windows 11 Android Studio エミュレータのエラーのトラブルシューティング

Windows 11 で Android Studio エミュレータのエラーに悩まされていませんか?クラッシュ、ブラックスクリーン、HAXM​​ のエラーといったよくある問題に対する実証済みの解決策をご紹介します。今すぐ開発環境をスムーズに稼働させましょう。