Napraw aplikacje Flatpak, które nie respektują motywów GTK w Ubuntu 24.04

Jeśli aplikacja Flatpak uruchamia się za pomocą Adwaita, podczas gdy reszta Ubuntu 24.04 korzysta z Yaru, pliki motywu zainstalowane na pulpicie mogą być w porządku. Flatpak uruchamia aplikacje w piaskownicy, więc program nie odczytuje automatycznie każdego pliku motywu hosta. Rozwiązaniem jest zazwyczaj upewnienie się, że wybrany motyw jest dostępny dla środowiska wykonawczego Flatpak i że usługa ustawień pulpitu może komunikować aktywny wybór.

Ten przewodnik rozpoczyna się od prostych sprawdzeń, a następnie przechodzi do ukierunkowanego rozwiązywania problemów. Dotyczy on głównie aplikacji GTK 3. Aplikacje GTK 4 i libadwaita mogą stosować inne reguły stylistyczne, dlatego nie ma gwarancji, że motyw działający w Plikach lub innej aplikacji GTK 3 będzie działał w każdym oknie Flatpak.

Co musisz wiedzieć na początek

Motyw GTK kontroluje wygląd elementów interfejsu, takich jak przyciski i menu, w aplikacjach za pomocą GTK – zestawu narzędzi do tworzenia interfejsów graficznych. Środowisko wykonawcze Flatpak udostępnia biblioteki współdzielone używane przez aplikację w trybie piaskownicy. Piaskownica oddziela system plików aplikacji od systemu hosta. W rezultacie pliki motywu hosta w takich lokalizacjach /usr/share/themesnie są po prostu kopiowane do każdego Flatpak.

Obsługiwane przez Flatpak podejście do motywów GTK 3 to rozszerzenie o nazwie odpowiadającej motywowi, zazwyczaj po org.gtk.Gtk3theme.ThemeName. Jeśli to rozszerzenie istnieje w skonfigurowanym pilocie dla środowiska uruchomieniowego aplikacji, Flatpak może je zainstalować wraz z aplikacją lub podczas aktualizacji. Pulpit musi również udostępniać aktywne ustawienie: XSettings jest używane w X11, a portal Ustawienia udostępnia je w Wayland. Portal to usługa pulpitu, która zapewnia aplikacjom w trybie sandbox kontrolowany dostęp do wybranych funkcji i preferencji pulpitu.

Domyślny motyw Yaru w Ubuntu jest zainstalowany na hoście, ale sam ten fakt nie dowodzi, że odpowiednie rozszerzenie motywu Flatpak jest dostępne dla każdej aplikacji i środowiska wykonawczego. Dostępność może zależeć od nazwy motywu, skonfigurowanego zdalnego pulpitu Flatpak, gałęzi środowiska wykonawczego i zestawu narzędzi. Flatpak dokumentuje Adwaita jako rozwiązanie awaryjne w przypadku niedostępności motywu lub interfejsu ustawień.

Krok 1: Potwierdź motyw i sesję hosta

Najpierw sprawdź, czy motyw jest zastosowany do zwykłych aplikacji desktopowych. Otwórz Ustawienia → Wygląd , zanotuj wybrany styl i otwórz preinstalowaną aplikację GTK. Jeśli aplikacje hosta również wyglądają nieprawidłowo, popraw wygląd pulpitu przed zmianą ustawień Flatpak.

Nazwę motywu GTK można sprawdzić w Terminalu za pomocą polecenia:

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

Wynikiem jest nazwa w cudzysłowie, na przykład 'Yaru'. Zwróć uwagę na pisownię i wielkość liter. Flatpak dopasowuje nazwę motywu GTK wybranego przez hosta do rozszerzenia; wyszukiwanie podobnego motywu o innej nazwie może nie rozwiązać problemu niezgodności. Projekt Yaru w Ubuntu dokumentuje Yaru jako domyślny zestaw motywów GTK w Ubuntu.

Określ również, czy Twoja sesja to Wayland, czy X11. Na ekranie logowania wybierz swojego użytkownika i użyj menu koła zębatego, jeśli jest dostępne; nazwa sesji jest tam zazwyczaj wyświetlana. Jest to istotne, ponieważ ścieżka ustawień jest inna: Wayland korzysta z portalu, podczas gdy X11 używa XSettings. Domyślna sesja GNOME w Ubuntu 24.04 zazwyczaj korzysta z Wayland, ale użytkownicy mogą wybrać inną sesję.

Krok 2: Zaktualizuj Flatpak i sprawdź dostępność rozszerzeń motywu

Uruchom ogólną aktualizację Flatpak, aby odświeżyć zainstalowane aplikacje, środowiska uruchomieniowe i dostępne rozszerzenia:

flatpak update

Przejrzyj proponowane zmiany przed ich zatwierdzeniem. Następnie wyszukaj na skonfigurowanych pilotach rozszerzenia pasujące do zarejestrowanej nazwy motywu. Aby wybrać Yaru, spróbuj:

flatpak search org.gtk.Gtk3theme.Yaru

Jeśli wyszukiwanie zwróci pasujące rozszerzenie, zanotuj dokładny identyfikator aplikacji i wyświetlony pilot. Zainstaluj je tylko wtedy, gdy Flatpak nie zainstalował go wcześniej. Użyj identyfikatora i pilota dokładnie tak, jak jest to wyświetlone:

flatpak install REMOTE EXTENSION_ID

Zastąp oba wielkie symbole zastępcze rzeczywistymi wartościami. Nie kopiuj domniemanego identyfikatora rozszerzenia z niepowiązanego motywu lub gałęzi środowiska wykonawczego. Niektóre kompilacje rozszerzeń mogą być niedostępne dla danego środowiska wykonawczego; w takim przypadku aplikacja może nadal korzystać z Adwaity, mimo że host ma Yaru.

Własna dokumentacja integracji pulpitu Flatpak podaje, że pasujące rozszerzenia motywu GTK są automatycznie instalowane podczas instalacji lub aktualizacji aplikacji, jeśli są obecne w zdalnym urządzeniu. Dlatego jeśli rozszerzenie jest dostępne, ale niedostępne, aktualizacja aplikacji może być wystarczająca. Wyniki wyszukiwania mogą się różnić w zależności od zmian w zdalnych urządzeniach i pakietach, dlatego traktuj lokalne dane wyjściowe Flatpak jako bieżące sprawdzenie, a nie zakładaj nazwy pakietu.

Krok 3: Uruchom ponownie aplikację i odśwież usługę ustawień pulpitu

Zamknij całkowicie aplikację, której dotyczy problem, łącznie z wszelkimi wystąpieniami w tle, a następnie otwórz ją ponownie. Działający proces może zachować ustawienia wyglądu odczytane podczas uruchamiania.

Jeżeli używasz Wayland i kilka pakietów GTK Flatpak nadal ignoruje wybrany styl, sprawdź, czy zainstalowany jest pakiet back-end portalu GTK:

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

Poszukaj statusu zainstalowanego na liście pakietów. Dokumentacja Flatpak wyraźnie wskazuje, xdg-desktop-portal-gtkże jest on wymagany dla motywów i czcionek GTK. Jeśli go brakuje, zainstaluj pakiet Ubuntu z oficjalnego archiwum:

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

Najpierw zapisz pracę w otwartych aplikacjach. Następnie wyloguj się i zaloguj ponownie, co spowoduje ponowne uruchomienie sesji użytkownika i usług portalu. Jest to zazwyczaj najprostsza opcja dla początkujących. Zaawansowani użytkownicy mogą ponownie uruchomić swoje usługi użytkownika z poziomu terminala za pomocą systemctl --user restart xdg-desktop-portal.service xdg-desktop-portal-gtk.service, ale nazwy usług i sposób aktywacji mogą się różnić w zależności od instalacji. Jeśli to polecenie zgłosi, że jednostka nie jest załadowana, użyj wylogowania zamiast wielokrotnego ponownego uruchamiania usług.

Krok 4: Sprawdź, czy aplikacja obsługuje motyw

Otwórz ponownie ten sam Flatpak i porównaj jego przyciski, menu i zawartość okien z aplikacją GTK zainstalowaną z pakietów Ubuntu. Jeśli różni się tylko jeden Flatpak, problem może dotyczyć zestawu narzędzi, środowiska uruchomieniowego lub implementacji tej aplikacji. Na przykład niektóre aplikacje GTK 4 korzystają z biblioteki libadwaita, która celowo stosuje się do konwencji projektowych GNOME i nie obsługuje dowolnych motywów GTK w taki sam sposób, jak starsze aplikacje GTK 3. Rozszerzenia Flatpak dla GTK 3 również nie zmienią stylu aplikacji Qt.

Gdy aplikacja korzysta z najnowszego środowiska uruchomieniowego i obecne jest rozszerzenie motywu GTK 3, ustawienie pulpitu powinno zostać automatycznie zastosowane. Jeśli tak się nie dzieje, sprawdź środowisko uruchomieniowe aplikacji za pomocą:

flatpak info APP_ID

Zastąp APP_IDrzeczywistym identyfikatorem aplikacji. Dane wyjściowe pomogą Ci zidentyfikować środowisko wykonawcze i gałąź, które należy zgłosić w przypadku kontaktu z opiekunem aplikacji. Samo w sobie nie dowodzi to, czy aplikacja respektuje preferencje motywu GTK.

Typowe rozwiązania, których należy unikać

  • Nie udzielaj szerokiego dostępu do systemu plików hosta jako pierwszego rozwiązania. Dokumentacja Flatpak wskazuje, że udostępnianie plików motywu hosta może osłabić środowisko testowe i zmniejszyć przenośność. Preferuj utrzymywane rozszerzenie motywu i działającą integrację z pulpitem.
  • Nie zakładaj, że instalacja motywu za pomocą APT spowoduje jego instalację w każdym pakiecie Flatpak. APT zmienia hosta. Środowisko wykonawcze Flatpak nadal wymaga kompatybilnego rozszerzenia lub obsługiwanej ścieżki ustawień.
  • Nie należy mylić trybu ciemnego z motywem GTK. Preferencje dotyczące schematu kolorów pulpitu i pełny motyw GTK to powiązane, ale odrębne ustawienia. Aplikacja i jej środowisko uruchomieniowe muszą obsługiwać odpowiednie preferencje.
  • Nie resetuj wszystkich ustawień GNOME ani nie usuwaj folderów motywów. Takie działania mogą usunąć niepowiązane preferencje i nie dodadzą brakującego rozszerzenia Flatpak.
  • Nie należy używać nadpisywania zmiennych środowiskowych jako uniwersalnego rozwiązania. Nadpisywanie może się różnić w zależności od zestawu narzędzi i aplikacji, a także może ukrywać faktyczny brak rozszerzenia lub problem z portalem.

Sprawdź wynik

Po zaktualizowaniu lub zainstalowaniu odpowiedniego rozszerzenia i ponownym uruchomieniu sesji lub aplikacji należy sprawdzić trzy rzeczy: host nadal zgłasza oczekiwaną nazwę motywu GTK; odpowiednie rozszerzenie motywu pojawia się w zainstalowanych aplikacjach Flatpak; a kontrolki GTK danej aplikacji mają teraz oczekiwany wygląd. Listę zainstalowanych Flatpaków można wyświetlić za pomocą:

flatpak list --app

Jeśli motyw hosta jest poprawny, rozszerzenie jest niedostępne dla środowiska uruchomieniowego aplikacji, a tylko jedna aplikacja pozostaje wizualnie inna, ograniczenie może być specyficzne dla danej aplikacji, a nie wynikać z uszkodzonego motywu Ubuntu. Podczas zgłaszania należy uwzględnić identyfikator aplikacji Flatpak, gałąź środowiska uruchomieniowego, typ sesji, nazwę motywu i status odpowiedniego pakietu portalu. Dzięki temu osoby zarządzające projektem uzyskają szczegółowe informacje potrzebne do odróżnienia luki w pakiecie od problemu z ustawieniami pulpitu.

Oficjalne źródła

Zostaw komentarz

Napraw aplikacje Flatpak, które nie respektują motywów GTK w Ubuntu 24.04

Napraw aplikacje Flatpak, które nie respektują motywów GTK w Ubuntu 24.04

Dowiedz się, dlaczego aplikacje Flatpak mogą ignorować motywy Ubuntu 24.04 GTK, i wykonaj bezpieczne czynności, aby sprawdzić rozszerzenia motywów, odświeżyć aplikacje Flatpak i zdiagnozować problemy z portalem.

How to Dual-Boot Ubuntu 24.04 and Windows 11 With BitLocker Enabled

How to Dual-Boot Ubuntu 24.04 and Windows 11 With BitLocker Enabled

Install Ubuntu 24.04 alongside Windows 11 with BitLocker safely. Compare separate-drive and shared-drive paths, recovery keys, partitioning, and boot checks.

Jak naprawić problem braku ładowania sterowników Nvidia po aktualizacji jądra w systemie Ubuntu

Jak naprawić problem braku ładowania sterowników Nvidia po aktualizacji jądra w systemie Ubuntu

Diagnozuj awarie sterowników NVIDIA po aktualizacji jądra Ubuntu. Sprawdź DKMS i Secure Boot, przebuduj odpowiedni moduł, zarejestruj MOK i zweryfikuj poprawkę.

Jak naprawić rozłączanie Wi-Fi w Ubuntu 24.04 po zawieszeniu

Jak naprawić rozłączanie Wi-Fi w Ubuntu 24.04 po zawieszeniu

Napraw zrywanie połączenia Wi-Fi w systemie Ubuntu 24.04 po wstrzymaniu, sprawdzając NetworkManager, blokady radiowe, aktualizacje, oszczędzanie energii i sterowniki, a następnie weryfikując każde wznowienie.

Napraw wysokie użycie procesora przez Tracker-Miner-3 w Ubuntu GNOME

Napraw wysokie użycie procesora przez Tracker-Miner-3 w Ubuntu GNOME

Dowiedz się, dlaczego tracker-miner-fs-3 wykorzystuje dużą ilość procesora w systemie Ubuntu GNOME oraz jak sprawdzić indeksowanie, wykluczyć foldery, zaktualizować system Ubuntu lub bezpiecznie odbudować indeks wyszukiwania.

Napraw błąd „Nie znaleziono urządzenia startowego” po zainstalowaniu Debiana na UEFI

Napraw błąd „Nie znaleziono urządzenia startowego” po zainstalowaniu Debiana na UEFI

Napraw błąd rozruchu UEFI w systemie Debian, sprawdzając tryb rozruchu, partycję systemową EFI, pliki GRUB i kolejność rozruchu oprogramowania sprzętowego — bez konieczności wcześniejszej ponownej instalacji systemu Debian.

Jak skonfigurować połączenie Wi-Fi 7 w systemie Windows 11

Jak skonfigurować połączenie Wi-Fi 7 w systemie Windows 11

Dowiedz się, jak bezproblemowo skonfigurować Wi-Fi 7 w systemie Windows 11, aby uzyskać ultraszybki internet. Instrukcje krok po kroku, wskazówki i rozwiązania problemów, które zmaksymalizują prędkość i niezawodność połączenia.

Rozwiązywanie problemów z błędami Java Web Start w systemie Windows 11

Rozwiązywanie problemów z błędami Java Web Start w systemie Windows 11

Masz problemy z błędami Java Web Start w systemie Windows 11? Ten kompleksowy przewodnik przeprowadzi Cię przez typowe problemy, krok po kroku je rozwiąże i podpowie, jak sprawić, by Twoje aplikacje działały płynnie i bezproblemowo. Odkryj sprawdzone rozwiązania już dziś.

Jak naprawić szum tła mikrofonu w systemie Windows 11

Jak naprawić szum tła mikrofonu w systemie Windows 11

Masz problem z irytującym szumem tła w mikrofonie w systemie Windows 11? Odkryj sprawdzone, krok po kroku rozwiązania, które przywrócą krystalicznie czysty dźwięk podczas rozmów, nagrań i nie tylko. Nie potrzebujesz wiedzy technicznej!

Jak naprawić błąd programu uruchamiającego Genshin Impact w systemie Windows 11

Jak naprawić błąd programu uruchamiającego Genshin Impact w systemie Windows 11

Masz problemy z błędami programu uruchamiającego Genshin Impact w systemie Windows 11? Odkryj sprawdzone rozwiązania krok po kroku, aby wrócić do Teyvat bez frustracji. Zaktualizowano o najnowsze rozwiązania zapewniające płynną rozgrywkę.