GNU/Linux >> Linux の 問題 >  >> Linux

Flatpakアプリは場違いに見えますか? FlatpakアプリケーションにGTKテーマを適用する方法は次のとおりです

一部のユーザーがFlatpakアプリのインストールを回避する理由の1つは、ほとんどのFlatpakアプリが現在のシステムテーマに従って外観を変更しないことです。これにより、アプリケーションは他の点では美しいセットアップの場所から外れて見えます。

GTKテーマをFlatpakアプリに適用する公式の方法は、目的のテーマをFlatpakとしてインストールすることです。ただし、FlatpakとしてインストールできるGTKテーマはごくわずかです。

これは、美しいGTKテーマを見つけた場合でも、Flatpakアプリケーションはデフォルトの外観を使用し続けることを意味します。ちょっと待って!回避策があります。

このチュートリアルでは、flatpakアプリに外部GTKテーマを認識させる方法を紹介します。

GTKテーマをFlatpakアプリケーションに適用する(中級レベル)

先に進む前に、flatpakアプリがこの動作をする理由を理解しましょう。

Flatpakアプリは「コンテナ」内で実行されるため、適切な権限を明示的に設定しない限り、ホストファイルシステム、ネットワーク、または物理デバイスにアクセスすることはできません。これが私たちが行うことです。

前に述べたように、これは回避策であり、完璧な解決策ではありません。 システムテーマを変更するときに、Flatpakアプリのテーマが自動的に変更されることを期待しないでください。 ただし、1つのコマンドですべてのFlatpakアプリの変更を行うことができます。

それを達成する方法を見てみましょう。このチュートリアルでは、Linuxコマンドラインに少し精通している必要があり、ターミナルを操作する方法を見つけることができることに注意してください。

ステップ1:FlatpakアプリにGTKテーマの場所へのアクセスを許可する

GTKテーマは、すべてのユーザーの場合は/ usr / share / themesにあり、特定のユーザーの場合は〜/.themesにあります。

すべてのflatpakパッケージに許可を与える 〜/ .themesにアクセスするには、次のコマンドを実行します。

sudo flatpak override --filesystem=$HOME/.themes

flatpakのドキュメントによると、ブラックリストに掲載されているため、/ usr / share/themesへのアクセスを許可できないことに注意してください。

または 、アプリケーションごとにこれを行うこともできます。テーマを変更するアプリケーションIDを指定する必要があります。

sudo flatpak override org.gnome.Calculator --filesystem=$HOME/.themes

ステップ2:使用するテーマをFlatpakアプリに指示する

このディレクトリには複数のテーマが含まれている可能性があるため、〜/.themesへのアクセスを許可するだけでは不十分です。使用するGTKテーマをflatpakに指示するには、最初に目的のテーマの名前を取得してから、次のコマンドを適用します。

sudo flatpak override --env=GTK_THEME=my-theme 

下のスクリーンショットでわかるように、Ant-BloodyとOrchis-darkの2つのテーマを利用できます。 正確なテーマ名をコピーして貼り付けます 上記のコマンドの場合:

または、個々のアプリケーションについて、次を実行します:

sudo flatpak override org.gnome.Calculator --env=GTK_THEME=my-theme 

my-themeを、適用するテーマのフォルダー名に置き換えます(〜/ .themesにある必要があります)。

ステップ3:Flatpakアプリを実行してテーマの変更をテストする

アプリケーションがすでに実行されている場合は、アプリケーションを閉じて再起動する必要があります。新しく起動したアプリケーションが、以前に指定したテーマを使用していることがわかります。

上記の手順の前のGNOME計算機とGNOMEビルダー(Flatpakバージョン)のスクリーンショットは次のとおりです。

上記の手順の後(Canta GTKテーマを使用):

いいですよね?さて、ここにあなたを残すことができますが、変更を元に戻すための手順について言及するのが適切でしょう。

変更を元に戻す

すべてのオーバーライドを一度にリセットすることで、変更をリセットできます。これにより、明示的に設定した以前のオーバーライドがリセットされることに注意してください。

sudo flatpak override --reset

または、パッケージレベルで権限をリセットすることもできます:

sudo flatpak override --reset org.example.app

以前に「flatpakoverride」リセットを使用して特定のFlatpakパッケージのGTK_THEMEまたはファイルシステムをオーバーライドしたことがある場合は、リセットすると再設定に役立ちます。

追加情報

通常のGTKアプリケーションはgsettingsで指定されたGTKテーマをロードします。次のコマンドを実行して、現在適用されているGTKテーマを取得できます。

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

GTKテーマを設定するには、次のコマンドを実行します:

gsettings set org.gnome.desktop.interface gtk-theme my-theme

Flatpakで上記を行うには、次のコマンドを実行して、目的のアプリケーションのコンテナ内でシェルセッションに入る必要があります。

flatpak run --command=bash org.gnome.Calculator 

そして、このセッション内で、上記のコマンドを実行します:

gsettings set org.gnome.desktop.interface gtk-theme my-theme

しかし、それは私にはうまくいかなかったので、デバッグ目的で使用されることになっているGTK_THEME環境変数を使用することにしました。 gsettingsを機能させることができた場合は、コメントで教えてください。

自動化されたソリューションではないことはわかっていますが、少なくとも、いくつかのコマンドを使用してFlatpakアプリケーションのテーマを変更するオプションがあります。このようにして、Flatpakアプリケーションをシステムの他の部分と統合することができます。

これがお役に立てば幸いです。問題が発生した場合は、コメントにその旨を記載してください。

元の記事


Linux
  1. 実行しているLinuxバージョンは何ですか?調べる方法は次のとおりです

  2. LinuxでFlatpakをインストールして使用する方法

  3. Firefoxのビンがどこにあるかを知る方法は?

  1. Ubuntu 15.04にGtkテーマをインストールする方法は?

  2. Minicondaを使用してPythonアプリケーションをDocker化する方法

  3. Flatpak アプリで適切な Gtk テーマを使用する方法

  1. Linux上のFlatpak:それは何であり、それを使ってアプリをインストールする方法

  2. アプリケーションの終了コードを検索する方法は?

  3. GtkとQtアプリケーションの違いは?