GNU/Linux >> Znalost Linux >  >> Linux

Aplikace Flatpak vypadají nepatřičně? Zde je návod, jak aplikovat motivy GTK na aplikace Flatpak

Jedním z důvodů, proč se někteří uživatelé vyhýbají instalaci aplikací Flatpak, je to, že většina aplikací Flatpak nemění svůj vzhled podle aktuálního systémového motivu. Díky tomu vypadají aplikace ve vašem jinak krásném nastavení.

Oficiální způsob, jak použít témata GTK na aplikace Flatpak, je nainstalovat požadované téma jako flatpak. Existuje však pouze několik témat GTK, které lze nainstalovat jako Flatpak.

To znamená, že pokud jste našli krásné téma GTK, vaše aplikace Flatpak budou stále používat svůj výchozí vzhled. Ale počkej! Existuje řešení.

V tomto tutoriálu vám představím způsob, jak aplikace flatpak upozornit na externí témata GTK.

Použití motivů GTK na aplikace Flatpak (střední úroveň)

Než budeme pokračovat, pojďme pochopit, proč aplikace flatpak mají toto chování.

Aplikace Flatpak běží uvnitř ‚kontejneru‘, takže nemají přístup k hostitelskému souborovému systému, síti nebo fyzickým zařízením bez explicitního nastavení příslušných oprávnění, a to je to, co uděláme.

Jak jsem řekl dříve, toto je řešení, nikoli bezchybné řešení. Neočekávejte, že automaticky změní motivy aplikací Flatpak, když změníte motiv systému. Můžete jej však změnit pro všechny aplikace Flatpak jedním příkazem.

Podívejme se, jak toho dosáhnout. Upozorňujeme, že tento tutoriál vyžaduje, abyste byli trochu obeznámeni s příkazovým řádkem Linuxu a dokázali se v terminálu zorientovat.

Krok 1:Poskytněte aplikacím Flatpak přístup k umístění motivů GTK

Motivy GTK jsou umístěny v /usr/share/themes pro všechny uživatele a v ~/.themes pro konkrétního uživatele.

Chcete-li udělit oprávnění všem balíčkům flatpak pro přístup k ~/.themes spusťte následující příkaz:

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

Všimněte si, že nemůžete udělit přístup k /usr/share/themes, protože podle dokumentace flatpak jsou na černé listině.

Alternativně , můžete to udělat také v rámci jednotlivých aplikací. Musíte zadat ID aplikace, pro kterou se chystáte změnit téma.

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

Krok 2:Řekněte aplikacím Flatpak, které téma má použít

Poskytnutí přístupu k ~/.themes nestačí, protože tento adresář může obsahovat více témat. Chcete-li flatpaku říci, které téma GTK má použít, nejprve získejte název požadovaného motivu a poté použijte následující příkaz:

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

Jak můžete vidět na níže uvedeném snímku obrazovky, k dispozici jsou dvě témata, Ant-Bloody a Orchis-dark. Zkopírujte a vložte přesný název motivu ve výše uvedeném příkazu:

Případně pro individuální aplikaci spusťte:

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

a nahraďte my-theme názvem složky motivu, který chcete použít (a musí být umístěn v ~/.themes).

Krok 3:Otestujte změnu motivu spuštěním aplikace Flatpak

Pokud již byla aplikace spuštěna, budete ji muset zavřít a znovu spustit. Uvidíte, že nově spuštěná aplikace používá motiv, který jste zadali dříve.

Zde je snímek obrazovky kalkulačky GNOME a tvůrce GNOME (verze Flatpak) před výše uvedenými kroky:

A po výše uvedených krocích (s motivem Canta GTK):

To je lepší, ne? Nyní bych vás zde mohl nechat, ale bylo by vhodné zmínit kroky pro vrácení změn.

Vrátit změny

Změny můžete resetovat resetováním všech přepsání najednou. Vezměte prosím na vědomí, že to resetuje všechna předchozí přepsání, která jste explicitně nastavili.

sudo flatpak override --reset

Případně můžete také resetovat oprávnění na úrovni balíčku:

sudo flatpak override --reset org.example.app

Pokud jste dříve přepsali GTK_THEME nebo souborový systém pro konkrétní balíček Flatpak pomocí „přepisu Flatpak“, resetování vám pomůže jej znovu nastavit.

Další informace

Normální aplikace GTK načítají téma GTK určené v gsettings, můžete spustit následující příkaz a získat aktuálně použitá témata GTK:

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

A pro nastavení motivu GTK spusťte:

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

Chcete-li provést výše uvedené s Flatpakem, musíte zadat relaci prostředí uvnitř kontejneru požadované aplikace spuštěním:

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

A uvnitř této relace spusťte výše uvedený příkaz:

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

Ale to se mnou nefungovalo, takže jsem se uchýlil k použití proměnné prostředí GTK_THEME, která má být použita pro účely ladění. Pokud se vám podařilo zprovoznit gsettings, řekněte mi to v komentářích.

Vím, že to není automatické řešení, ale alespoň vám to dává možnost změnit témata pro aplikace Flatpak pomocí několika příkazů. Tímto způsobem můžete zajistit integraci aplikace Flatpak se zbytkem systému.

Doufám, že vám to pomohlo. Pokud narazíte na nějaké problémy, uveďte je prosím v komentářích.

Původní článek


Linux
  1. Jakou verzi Linuxu používám? Zde je návod, jak to zjistit

  2. Jak vyhledat výstupní kódy pro aplikace?

  3. Rozdíl mezi Gtk a Qt aplikacemi?

  1. Jak nainstalovat a používat Flatpak v Linuxu

  2. Jak zjistit, kde je koš Firefoxu?

  3. Jak nainstalovat téma Gtk na Ubuntu 15.04?

  1. Flatpak na Linuxu:Co to je a jak s ním instalovat aplikace

  2. Jak získat aplikace Flatpak, aby používaly správné téma Gtk

  3. Jak vyrobit a aplikovat SVN patch?