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

クイックリファレンス:通常、不一致を修正する方法

Ubuntu 24.04 で Flatpak アプリが Adwaita またはライト インターフェースで起動し、デスクトップがダーク に設定されている場合は、まずアプリが GTK 3 または GTK 4/libadwaita を使用しているかどうかを確認してください。次に Flatpak を更新し、対応する GTK 3 テーマ拡張機能を利用可能にし、デスクトップ ポータルがインストールされていることを確認してください。Flatpak アプリはサンドボックス内で実行されるため、Ubuntu ホストにインストールされているすべてのテーマ ファイルを自動的に読み込むわけではありません。

あなたが見るもの考えられる原因最初のアクション
GTK 3アプリはYaruの代わりにAdwaitaを使用しますアクティブなテーマ拡張機能が見つからないか、アプリのランタイムから見えません。Flatpakをアップデートし、対応するテーマ拡張機能をインストールしてください。
FlatpakはUbuntuのダークスタイルを無視しますポータル、カラースキーム設定、またはアプリのサポートに関する問題外観、ポータルパッケージを確認し、アプリを再起動してください。
アプリ1つだけ見た目が違うアプリは、GTK 4/libadwaita、Qt、Electron、またはカスタムスタイルを使用する場合があります。システム設定を変更する前にツールキットを確認してください

これらの手順は、Ubuntu 24.04 上の Flatpak アプリケーション、特に Flathub からインストールされたアプリケーションに適用されます。ただし、すべてのアプリケーションに Ubuntu のデスクトップ スタイルを強制的に適用するわけではありません。GTK 3 テーマ拡張機能、ライト/ダーク設定、アイコン、およびアプリケーション固有のスタイルは、それぞれ独立した要素です。

Flatpakのテーママッチングの仕組み

Flatpakアプリケーションは、ホストのシステムライブラリやテーマディレクトリではなく、独自のランタイムを使用します。FlatpakはUbuntuのテーマをそのまま/usr/share/themesアプリケーションのテーマソースとして公開することはできません。サンドボックスには独自のランタイムファイルシステムがあり、テーマは特定のGTKバージョンに依存する可能性があるためです。そのため、FlatpakはサポートされているGTK 3テーマをランタイム拡張機能として配布しています。

Flatpak はホストのアクティブな GTK テーマ名を読み取り、アプリのリモートに該当する拡張機能があればインストールできます。ただし、テーマはアプリに公開する必要があります。X11 では、GTK 3 は XSettings を介して選択されたテーマを受け取ることができます。Wayland では、GTK はデスクトップ設定ポータルを介して関連する外観設定を読み取ります。テーマ拡張機能または適切な統合パスが見つからない場合、アプリは Adwaita にフォールバックできます。

Ubuntu 24.04 の設定パネルには、ライトとダークのデスクトップスタイルが用意されています。この設定は、すべてのアプリケーションで Yaru GTK 3 テーマを使用するようにするのとは異なります。libadwaita で構築された GTK 4 アプリケーションは、一般的にサポートされているシステムの外観設定に従いますが、任意のレガシー GTK テーマの上書きを必ずしも受け入れるわけではありません。GTK 3 という名前の Flatpak テーマ拡張機能は、すべての GTK 4 または libadwaita アプリケーションをリスタイルするわけではありません。

技術的な概要については、Flatpakのデスクトップ統合およびテーマ設定に関するドキュメント、およびGTKポータルサポートに関するドキュメントを参照してください。

1. デスクトップスタイルとテーマ名を確認してください。

設定 > 外観を開き、ライトまたはダークのスタイルを選択してください。選択内容はデスクトップに即座に反映されます。GNOME Tweaksなどのツールを使用してカスタムGTKテーマを選択した場合は、そのテーマ名を正確にメモしておいてください。パッケージ名とテーマ名は、大文字小文字の区別や接尾辞が異なる場合があります。

ターミナルで、現在アクティブなGTKテーマ名とカラースキームの設定を確認できます。

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

最初のコマンドはGNOME設定に保存されているテーマ名を報告し、2番目のコマンドはサポートされている場合に優先されるライト/ダークスキームを報告します。これらのコマンドは値のみを検査します。チュートリアルからコピーしたテーマ名は、そのテーマがインストールされていて使用する予定がない限り設定しないでください。外観設定を変更した後は、影響を受けるアプリケーションを再起動してください。多くのプログラムは起動時にテーマを読み込むためです。

2. Flatpakを更新し、対応するテーマ拡張機能をインストールします。

まず、インストール済みのアプリケーションとランタイムを更新してください。Flatpakのドキュメントに記載されているテーマ統合機能を使用すると、設定済みのリモートからテーマが利用可能な場合、インストールまたは更新時に一致する拡張機能を自動的にインストールできます。

flatpak update

アプリがまだフォールバックテーマを使用している場合は、Flathub によって公開されている GTK テーマ拡張機能を一覧表示します。

flatpak remote-ls --columns=application flathub | grep '^org.gtk.Gtk3theme'

選択したGTK 3テーマと名前が一致する拡張機能を選択してください。Flathubには現在、Yaruテーマのバリアントがリストされていますorg.gtk.Gtk3theme.Yaru-light。たとえば、目的のテーマと一致する場合にのみ、そのバリアントをインストールしてください。

flatpak install flathub org.gtk.Gtk3theme.Yaru-light

FlathubのYaru-lightテーマリストでは、 GTKテーマパッケージとして識別されます。一致するテーマ名は、ホストの設定とリモートが現在公開している内容によって異なります。別のYaruバリアントやサードパーティ製テーマを使用する場合は、flatpak searchリモートリストを使用して正確な拡張子IDを確認してください。パッケージの接尾辞は、視覚的な名前から推測しないでください。

テーマがインストールされているにもかかわらずアプリが既に実行中の場合は、アプリのすべてのウィンドウを閉じてから再度開いてください。それでも解決しない場合は、拡張機能とアプリケーションが同じ Flatpak インストールから来ていることを確認してから、もう一度アップデートしてください。

flatpak list --app
flatpak list --runtime | grep -i theme
flatpak update

Flatpak は、ユーザーごとのインストールとシステム全体のインストールを区別します。アプリを でインストールした--userが拡張機能をシステム全体にインストールした場合、またはその逆の場合、アプリは期待どおりに拡張機能を認識できない可能性があります。可能な限り、アプリと拡張機能を同じインストール範囲に含めてください。特定のアプリのインストールは で確認できますflatpak info APP_ID。

3. Ubuntu 24.04 のデスクトップポータルを確認します。

GTKのFlatpakポータルのドキュメントによると、xdg-desktop-portal-gtkGTKテーマとフォントにはこれが必要です。UbuntuはこのバックエンドをNoble(24.04 LTS)リリース向けに公開しています。パッケージが存在しない場合は、Ubuntuのリポジトリからインストールしてください。

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

Ubuntu GNOME は、デスクトップ固有のポータル機能のために GNOME ポータル バックエンドも使用しています。GTK バックエンドをインストールしても、GNOME バックエンドを削除または置き換える必要はありません。デスクトップ環境用に提供されているポータル パッケージはそのままにしておいてください。インストール後、一度ログアウトして再度ログインするか、ユーザー ポータル サービスを再起動してから、影響を受けるアプリを再起動してください。

systemctl --user restart xdg-desktop-portal.service

systemd がユニットが利用できないと報告する場合は、代わりにサインアウトして再度サインインしてください。ポータルの有効化の詳細は、セッションとパッケージの状態によって異なる場合があります。Ubuntu のパッケージ一覧では、xdg-desktop-portal-gtk が Ubuntu 24.04 で利用可能であることが確認されています。

4. アプリがテーマを使用できるかどうかを判断する

可能であれば、複数の GTK 3 Flatpak をテストしてください。複数の GTK 3 アプリがテーマに従うのに、1 つのアプリが従わない場合は、残りの問題はそのアプリまたはそのランタイムに固有のものである可能性があります。GTK 3 アプリは動作するが、最新の GNOME アプリのアクセントカラーやウィジェットの外観が異なる場合は、GTK 3 のテーマ拡張機能が GTK 4/libadwaita に同じように適用されないため、これは想定内の動作です。

一部のアプリは、見た目がGNOMEアプリケーションに似ていても、Qt、Electron、または独自のインターフェースツールキットを使用しています。その場合、GTKテーマ拡張機能は効果がない可能性があります。Flatpakのパーミッションを変更する前に、アプリの公式ドキュメントでサポートされている外観オプションを確認してください。FlathubからインストールしたFlatpakの場合は、以下のコマンドでアプリIDとランタイムを調べてください。

flatpak info APP_ID

APP_IDを で表示されるアプリケーション ID に置き換えてくださいflatpak list --app。この出力は、実行時とインストール範囲を特定するのに役立ちますが、必ずしもツールキットを示すとは限らないため、必要に応じてアプリのドキュメントまたはプロジェクトページでツールキットを確認してください。

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

  • 見た目をコピーするためだけに、ホストファイルシステムへの広範なアクセス権限を付与しないでください。Flatpakのドキュメントでは、テーマの拡張やポータル/XSettingsの統合が通常のアプローチとして示されています。広範なアクセス権限はサンドボックスの分離を弱め、ホストとランタイムのGTKバージョンが異なる場合にも失敗する可能性があります。
  • GTK 3テーマ拡張機能を汎用的なダークモード切り替えスイッチとして使用しないでください。この拡張機能には、互換性のあるGTK 3アプリ用のテーマファイルが含まれています。システムカラースキームのサポートは、アプリとポータルが理解する必要のある別の設定です。
  • アプリケーションの拡張子とランタイムを確認する前に、アプリケーションを再インストールしないでください。再インストールすると、不足しているテーマやポータルの状態が変更されないまま、同じランタイムが取得される可能性があります。
  • まず最初に、グローバルポータル設定を変更しないでください。Ubuntu GNOMEのバックエンド選択はセッションごとに異なります。ポータルの設定を変更すると、テーマ設定だけでなく、ファイルピッカーやその他のデスクトップ統合機能にも影響が出る可能性があります。

検証チェックリスト

  • Ubuntuの設定画面には、意図したライトモードまたはダークモードが表示されます。
  • ホストGTKテーマ名は既知であり、Flatpakには対応するGTK 3拡張機能が利用可能です。
  • flatpak update完了しました。アプリとテーマ拡張機能は互換性のあるインストール範囲内にあります。
  • パッケージxdg-desktop-portal-gtkがインストールされました。変更後、ユーザーセッションまたはポータルが再起動されました。
  • 影響を受けたアプリケーションは完全に閉じられ、その後再開されました。
  • あなたはツールキット(GTK 3、GTK 4/libadwaita、Qt、Electronなど)ごとにアプリを比較しましたが、それらは異なる動作をする可能性があります。

チェックリストの項目がすべてクリアされ、変更されていないアプリが1つだけ残っている場合は、そのアプリのFlatpak ID、ランタイム、Ubuntuセッションタイプ(WaylandまたはX11)、および2つの読み取り専用コマンドの出力結果を参照して、アプリの課題トラッカーまたはドキュメントを確認するのがgsettings最も有効な次のステップです。これにより、サンドボックスの脆弱性を損なうことなく、アプリ固有のスタイル設定とデスクトップ統合コンポーネントの欠落を区別することができます。

Ubuntuの最新ユーザーガイドでは、設定 > 外観にあるライト/ダーク設定について説明しています。Flatpakの動作は、バージョン、アプリのランタイム、ポータルバックエンド、ツールキット、リモートメタデータによって異なる場合があります。アクティブなテーマがランタイム用にパッケージ化されていない場合、アプリは独自のデフォルトの外観を引き続き使用する可能性があります。

コメントを残す

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使ってLinuxでウェブカメラの設定を変更する方法

Cameractrlsを使用してLinux上でウェブカメラの設定を変更しましょう。露出、色、フリッカー低減などのサポートされているコントロールを調整し、互換性のあるビデオモードを確認できます。

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールする方法:ツールボックス、Tar.gz、Snap、およびAUR

LinuxにPhpStormをインストールするには、JetBrains Toolboxを使用するか、スタンドアロンのtar.gzアーカイブを使用するか、SnapおよびArch AURオプションを選択してください。Javaは既にバンドルされています。

LinuxにCisco Packet Tracerをインストールする方法

LinuxにCisco Packet Tracerをインストールする方法

Cisco Packet Tracer 9.0.1 を Ubuntu 64 ビット版にダウンロードし、APT を使用して DEB パッケージをインストールし、ターミナルでライセンスに同意してサインインすると、ラボを開始できます。

LinuxでCD-ROMをISOイメージとしてバックアップする方法

LinuxでCD-ROMをISOイメージとしてバックアップする方法

Linux上でGNOME Disksまたはddコマンドを使用してCD-ROM ISOイメージを作成します。光学ドライブを識別し、コピーを監視し、イメージを検証し、破損したディスクやオーディオディスクに別のツールが必要な場合を把握できます。

XFCE 4でデュアルパネルを設定する方法

XFCE 4でデュアルパネルを設定する方法

各ディスプレイごとに個別のXFCE 4パネルを作成し、2番目のパネルを右側の出力に割り当て、位置とサイズを調整し、必要なランチャーとステータス項目を追加します。

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って画像を切り抜く方法

LinuxでGIMPを使って写真の背景を削除する方法:被写体をトレースし、選択した背景を削除し、透明度を保持して、再利用可能なPNG形式でエクスポートします。

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearを無料でダウンロード:公式インストールガイド

FlightGearは公式サイトから無料でダウンロードできます。Windows、macOS、Linuxの各パッケージを比較し、データファイルをインストールして、最初のフライトを開始しましょう。

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSampler:キーボードビートのための無料かつシンプルな音楽サンプラー

OKSamplerはMP3クリップをキーボードのキーにマッピングし、音声をループ再生できます。この旧型フリーウェアの機能、旧機能が失われた箇所、ダウンロード前に確認すべき点について解説します。

Googleタスクのデスクトップアプリケーション:パソコンでの使い方

Googleタスクのデスクトップアプリケーション:パソコンでの使い方

Googleタスクをブラウザで開き、Chromeショートカットやアプリスタイルの起動機能を追加し、カレンダーとGmailを通じて期日が過ぎたタスクを管理できます。

LinuxでDon't Starve Togetherをプレイする方法

LinuxでDon't Starve Togetherをプレイする方法

Steam経由でDon't Starve TogetherのLinux版をインストールし、ワールドを開始したり、友達と合流したりするには、以下のセットアップとトラブルシューティングの手順に従ってください。