GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Flatpak-Apps sehen fehl am Platz aus? So wenden Sie GTK-Designs auf Flatpak-Anwendungen an

Einer der Gründe, warum einige Benutzer die Installation von Flatpak-Apps vermeiden, ist, dass die meisten Flatpak-Apps ihr Aussehen nicht gemäß dem aktuellen Systemdesign ändern. Dadurch sehen die Anwendungen in Ihrer ansonsten schönen Einrichtung fehl am Platz aus.

Der offizielle Weg, GTK-Designs auf Flatpak-Apps anzuwenden, besteht darin, das gewünschte Design als Flatpak zu installieren. Es gibt jedoch nur wenige GTK-Designs, die als Flatpak installiert werden können.

Das bedeutet, dass Ihre Flatpak-Anwendungen, wenn Sie ein schönes GTK-Design gefunden haben, immer noch ihr Standard-Erscheinungsbild verwenden. Aber warte! Es gibt eine Problemumgehung.

In diesem Tutorial stelle ich Ihnen eine Möglichkeit vor, Flatpak-Apps auf externe GTK-Designs aufmerksam zu machen.

Anwenden von GTK-Designs auf Flatpak-Anwendungen (mittleres Niveau)

Bevor wir fortfahren, wollen wir verstehen, warum Flatpak-Apps dieses Verhalten aufweisen.

Flatpak-Apps werden in einem „Container“ ausgeführt, sodass sie keinen Zugriff auf das Host-Dateisystem, das Netzwerk oder physische Geräte haben, ohne explizit die entsprechende Berechtigung festzulegen, und genau das werden wir tun.

Wie ich bereits sagte, ist dies eine Problemumgehung, keine fehlerfreie Lösung. Erwarten Sie nicht, dass es die Designs von Flatpak-Apps automatisch ändert, wenn Sie das Systemdesign ändern. Sie können es jedoch für alle Flatpak-Apps mit einem einzigen Befehl ändern.

Mal sehen, wie man das erreicht. Bitte beachten Sie, dass dieses Tutorial erfordert, dass Sie mit der Linux-Befehlszeile vertraut sind und sich im Terminal zurechtfinden.

Schritt 1:Flatpak-Apps Zugriff auf den Speicherort von GTK-Designs gewähren

GTK-Designs befinden sich für alle Benutzer in /usr/share/themes und für einen bestimmten Benutzer in ~/.themes.

Um allen Flatpak-Paketen die Erlaubnis zu erteilen Um auf ~/.themes zuzugreifen, führen Sie den folgenden Befehl aus:

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

Beachten Sie, dass Sie keinen Zugriff auf /usr/share/themes gewähren können, da sie laut Flatpak-Dokumentation auf der schwarzen Liste stehen.

Alternativ , können Sie dies auch auf Anwendungsbasis tun. Sie müssen die Anwendungs-ID angeben, für die Sie das Design ändern werden.

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

Schritt 2:Flatpak-Apps mitteilen, welches Design verwendet werden soll

Der Zugriff auf ~/.themes reicht nicht aus, da dieses Verzeichnis mehrere Designs enthalten kann. Um flatpak mitzuteilen, welches GTK-Design verwendet werden soll, rufen Sie zuerst den Namen des gewünschten Designs ab und wenden Sie dann den folgenden Befehl an:

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

Wie Sie im Screenshot unten sehen können, sind zwei Themen verfügbar, Ant-Bloody und Orchis-dark. Kopieren Sie den genauen Designnamen und fügen Sie ihn ein im obigen Befehl:

Führen Sie alternativ für eine individuelle Anwendung Folgendes aus:

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

und ersetzen Sie my-theme durch den Ordnernamen des Designs, das Sie anwenden möchten (und es muss sich in ~/.themes befinden).

Schritt 3:Testen Sie die Designänderung, indem Sie eine Flatpak-App ausführen

Wenn die Anwendung bereits ausgeführt wurde, müssen Sie sie schließen und erneut starten. Sie werden sehen, dass die neu gestartete Anwendung das Design verwendet, das Sie zuvor angegeben haben.

Hier ist ein Screenshot des GNOME-Rechners und des GNOME-Builders (Flatpak-Version) vor den obigen Schritten:

Und nach den obigen Schritten (mit Canta GTK-Design):

Das ist besser, oder? Jetzt könnte ich Sie hier lassen, aber es wäre angebracht, die Schritte zum Zurücksetzen der Änderungen zu erwähnen.

Änderungen rückgängig machen

Sie können die Änderungen zurücksetzen, indem Sie alle Überschreibungen auf einmal zurücksetzen. Bitte beachten Sie, dass dadurch alle vorherigen Überschreibungen zurückgesetzt werden, die Sie explizit festgelegt haben.

sudo flatpak override --reset

Alternativ können Sie Berechtigungen auch auf Paketebene zurücksetzen:

sudo flatpak override --reset org.example.app

Wenn Sie zuvor das GTK_THEME oder Dateisystem für ein bestimmtes Flatpak-Paket mit „Flatpak-Überschreibung“ überschrieben haben, hilft Ihnen das Zurücksetzen, es erneut festzulegen.

Zusätzliche Informationen

Normale GTK-Anwendungen laden das von gsettings angegebene GTK-Design. Sie können den folgenden Befehl ausführen, um aktuell angewendete GTK-Designs abzurufen:

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

Und um das GTK-Design festzulegen, führen Sie Folgendes aus:

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

Um dies mit Flatpak zu tun, müssen Sie eine Shell-Sitzung innerhalb des Containers der gewünschten Anwendung eingeben, indem Sie Folgendes ausführen:

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

Führen Sie in dieser Sitzung den obigen Befehl aus:

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

Aber das hat bei mir nicht funktioniert, also habe ich auf die Umgebungsvariable GTK_THEME zurückgegriffen, die für Debugging-Zwecke verwendet werden soll. Wenn Sie es geschafft haben, gsettings zum Laufen zu bringen, teilen Sie es mir in den Kommentaren mit.

Ich weiß, dass es keine automatisierte Lösung ist, aber zumindest gibt es Ihnen die Möglichkeit, die Themen für die Flatpak-Anwendungen mit ein paar Befehlen zu ändern. Auf diese Weise können Sie die Flatpak-Anwendung in den Rest des Systems integrieren.

Ich hoffe, das hat dir geholfen. Wenn Sie auf Probleme stoßen, erwähnen Sie diese bitte in den Kommentaren.

Originalartikel


Linux
  1. Flatpak unter Linux:Was es ist und wie man Apps damit installiert

  2. Wie kann ich Exit-Codes für Anwendungen nachschlagen?

  3. So finden Sie heraus, wo sich der Firefox-Bin befindet

  4. So erhalten Sie Flatpak-Apps, um das richtige Gtk-Design zu verwenden

  5. Wie erstellt und wendet man einen SVN-Patch an?

So installieren Sie Designs oder Symbole in einem elementaren Betriebssystem

So konfigurieren Sie ganz einfach Flatpak-App-Berechtigungen mit Flatseal

So deinstallieren Sie WINE-Anwendungen

So ändern Sie Designs in Linux Mint

So wenden Sie das MacOS-Design auf Ubuntu 22.04 an

Wie entwickelt man OpenGL ES (GLES) 2.0-Anwendungen unter Linux?