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

Krótki przewodnik: co zazwyczaj naprawia niedopasowanie

Jeśli aplikacja Flatpak w Ubuntu 24.04 otwiera się z Adwaitą lub jasnym interfejsem, a pulpit jest ustawiony na ciemny, najpierw sprawdź, czy aplikacja korzysta z GTK 3, czy GTK 4/libadwaita. Następnie zaktualizuj Flatpak, udostępnij pasujące rozszerzenie motywu GTK 3 i upewnij się, że portal pulpitu jest zainstalowany. Aplikacje Flatpak działają w środowisku testowym, więc nie odczytują automatycznie każdego pliku motywu zainstalowanego na hoście Ubuntu.

Co widziszPrawdopodobna przyczynaPierwsza akcja
Aplikacja GTK 3 używa Adwaita zamiast YaruBrak aktywnego rozszerzenia motywu lub nie jest ono widoczne dla środowiska wykonawczego aplikacjiZaktualizuj Flatpak i zainstaluj pasujące rozszerzenie motywu
Flatpak ignoruje mroczny styl UbuntuProblem z portalem, ustawieniem schematu kolorów lub obsługą aplikacjiSprawdź wygląd, pakiety portalu i uruchom ponownie aplikację
Tylko jedna aplikacja wygląda inaczejAplikacja może używać GTK 4/libadwaita, Qt, Electron lub niestandardowego styluPrzed zmianą ustawień systemowych zidentyfikuj zestaw narzędzi

Te kroki dotyczą aplikacji Flatpak w Ubuntu 24.04, zwłaszcza tych zainstalowanych z Flathuba. Nie wymuszają one na każdej aplikacji korzystania z pełnego stylu pulpitu Ubuntu. Rozszerzenia motywu GTK 3, ustawienia jasności/ciemności, ikony i style specyficzne dla aplikacji to osobne elementy.

Jak działa dopasowywanie motywów Flatpak

Aplikacja Flatpak korzysta z własnego środowiska uruchomieniowego, a nie z bibliotek systemowych i katalogów motywów hosta. Flatpak nie może po prostu udostępnić Ubuntu /usr/share/themesjako źródła motywu aplikacji: sandbox ma własny system plików środowiska uruchomieniowego, a motywy mogą zależeć od konkretnej wersji GTK. Dlatego Flatpak dystrybuuje obsługiwane motywy GTK 3 jako rozszerzenia środowiska uruchomieniowego.

Flatpak może odczytać nazwę aktywnego motywu GTK hosta i zainstalować odpowiednie rozszerzenie, jeśli jest ono dostępne w pilocie aplikacji. Motyw musi jednak zostać udostępniony aplikacji. W systemie X11 GTK 3 może pobrać wybrany motyw za pośrednictwem XSettings. W systemie Wayland GTK odczytuje odpowiednie ustawienia wyglądu za pośrednictwem portalu ustawień pulpitu. Jeśli brakuje rozszerzenia motywu lub odpowiedniej ścieżki integracji, aplikacja może skorzystać z Adwaita.

Panel ustawień Ubuntu 24.04 oferuje jasny i ciemny styl pulpitu. Ta preferencja nie jest równoznaczna z koniecznością używania motywu Yaru GTK 3 w każdej aplikacji. Aplikacje GTK 4 stworzone z wykorzystaniem libadwaita zazwyczaj korzystają z obsługiwanych preferencji wyglądu systemu, ale niekoniecznie akceptują dowolne nadpisania motywów GTK ze starszych wersji. Rozszerzenie motywu Flatpak o nazwie GTK 3 nie zmieni stylu każdej aplikacji GTK 4 ani libadwaita.

Aby zapoznać się z ogólnym zarysem technicznym, zapoznaj się z dokumentacją dotyczącą integracji pulpitu i motywów Flatpak oraz dokumentacją pomocy technicznej portalu GTK .

1. Potwierdź styl pulpitu i nazwę motywu

Otwórz Ustawienia > Wygląd i wybierz żądany styl Jasny lub Ciemny. Wybór zostanie natychmiast zastosowany do pulpitu. Jeśli używasz GNOME Tweaks lub innego narzędzia do wyboru własnego motywu GTK, zanotuj jego dokładną nazwę; nazwy pakietów i nazwy motywów mogą się różnić wielkością liter lub sufiksami.

Nazwę aktywnego motywu GTK i preferencje dotyczące schematu kolorów można odczytać w Terminalu:

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

Pierwsze polecenie zwraca nazwę motywu zapisaną w ustawieniach GNOME; drugie zwraca preferowany schemat jasny/ciemny, jeśli jest obsługiwany. Te polecenia sprawdzają tylko wartości. Unikaj ustawiania nazwy motywu skopiowanej z samouczka, chyba że motyw jest zainstalowany i zamierzasz go używać. Po zmianie ustawień wyglądu uruchom ponownie aplikację, której dotyczy problem, ponieważ wiele programów odczytuje swój motyw podczas uruchamiania.

2. Zaktualizuj Flatpak i zainstaluj pasujące rozszerzenie motywu

Najpierw odśwież zainstalowane aplikacje i środowiska wykonawcze. Udokumentowana integracja motywów Flatpak umożliwia automatyczną instalację odpowiedniego rozszerzenia podczas instalacji lub aktualizacji, gdy motyw jest dostępny ze skonfigurowanego pilota.

flatpak update

Jeśli aplikacja nadal korzysta z motywu zapasowego, wypisz rozszerzenia motywu GTK udostępnione przez Flathub:

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

Wybierz rozszerzenie, którego nazwa pasuje do wybranego motywu GTK 3. Flathub obecnie wyświetla warianty motywu Yaru, w tym org.gtk.Gtk3theme.Yaru-light. Na przykład zainstaluj ten wariant tylko wtedy, gdy pasuje do wybranego motywu:

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

W katalogu motywów Yaru-light na Flathubie jest on identyfikowany jako pakiet motywów GTK. Nazwa pasującego motywu zależy od ustawień hosta i tego, co aktualnie publikuje zdalny serwer. Jeśli używasz innej wersji Yaru lub motywu innej firmy, użyj flatpak searchlub w katalogu zdalnym, aby znaleźć dokładny identyfikator rozszerzenia; nie zakładaj sufiksu pakietu z jego nazwy wizualnej.

Jeśli motyw jest zainstalowany, ale aplikacja była już uruchomiona, zamknij wszystkie jej okna i otwórz ją ponownie. W przypadku problemów z motywem, przeprowadź ponowną aktualizację po upewnieniu się, że rozszerzenie i aplikacja pochodzą z tej samej instalacji Flatpak:

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

Flatpak rozróżnia instalacje na użytkownika i instalacje systemowe. Jeśli aplikacja została zainstalowana za pomocą programu, --userale rozszerzenie zostało zainstalowane w całym systemie lub odwrotnie, aplikacja może nie widzieć rozszerzenia tam, gdzie powinno. W miarę możliwości należy zachować ten sam zakres instalacji aplikacji i rozszerzenia. Instalację konkretnej aplikacji można sprawdzić za pomocą programu flatpak info APP_ID.

3. Sprawdź portal pulpitu w Ubuntu 24.04

Dokumentacja portalu GTK Flatpak stwierdza, że xdg-desktop-portal-gtk​​jest to wymagane dla motywów i czcionek GTK. Ubuntu publikuje ten pakiet dla wersji Noble (24.04 LTS). Jeśli pakiet jest niedostępny, zainstaluj go z repozytoriów Ubuntu:

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

Ubuntu GNOME również korzysta z zaplecza portalu GNOME do obsługi funkcji portalowych specyficznych dla środowiska graficznego. Zainstalowanie zaplecza GTK nie oznacza konieczności usunięcia lub zastąpienia zaplecza GNOME. Zachowaj pakiety portalu dostarczone dla środowiska graficznego. Po instalacji wyloguj się i zaloguj ponownie lub uruchom ponownie usługę portalu użytkownika, a następnie ponownie uruchom aplikację, której dotyczy problem:

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

Jeśli systemd zgłosi, że jednostka jest niedostępna, wyloguj się i zaloguj ponownie. Szczegóły aktywacji portalu mogą się różnić w zależności od sesji i stanu pakietu. Lista pakietów Ubuntu potwierdza, że ​​pakiet xdg-desktop-portal-gtk jest dostępny dla Ubuntu 24.04 .

4. Zdecyduj, czy aplikacja może używać motywu

Jeśli to możliwe, przetestuj więcej niż jeden pakiet GTK 3 Flatpak. Jeśli kilka aplikacji GTK 3 korzysta teraz z motywu, ale jedna nie, problem może być związany z tą aplikacją lub jej środowiskiem uruchomieniowym. Jeśli aplikacje GTK 3 działają, ale nowoczesna aplikacja GNOME nadal ma inny kolor akcentu lub wygląd widżetu, można się tego spodziewać: rozszerzenia motywu GTK 3 nie działają w ten sam sposób w GTK 4/libadwaita.

Niektóre aplikacje korzystają z bibliotek Qt, Electron lub własnego zestawu narzędzi interfejsu, nawet jeśli wyglądają podobnie do aplikacji GNOME. W takim przypadku rozszerzenie motywu GTK może nie przynieść żadnych efektów. Przed zmianą uprawnień Flatpak sprawdź oficjalną dokumentację aplikacji pod kątem obsługiwanych opcji wyglądu. W przypadku Flatpak zainstalowanego z Flathuba, sprawdź identyfikator aplikacji i środowisko uruchomieniowe za pomocą:

flatpak info APP_ID

Zastąp APP_IDidentyfikatorem aplikacji pokazanym przez flatpak list --app. Dane wyjściowe pomagają zidentyfikować środowisko wykonawcze i zakres instalacji; nie zawsze wskazują zestaw narzędzi, dlatego w razie potrzeby sprawdź zestaw narzędzi w dokumentacji aplikacji lub na stronie projektu.

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

  • Nie udzielaj szerokiego dostępu do systemu plików hosta tylko po to, by skopiować wygląd. Flatpak dokumentuje rozszerzenia motywów i integrację portalu/XSettings jako standardowe podejście. Szeroki dostęp osłabia izolację piaskownicy i nadal może się nie powieść, gdy wersje hosta i środowiska wykonawczego GTK różnią się.
  • Nie używaj rozszerzenia motywu GTK 3 jako uniwersalnego przełącznika trybu ciemnego. Zawiera ono pliki motywu dla zgodnych aplikacji GTK 3; obsługa schematu kolorów systemu to osobne ustawienie, które aplikacja i portal muszą rozumieć.
  • Nie instaluj ponownie aplikacji przed sprawdzeniem jej rozszerzeń i środowiska uruchomieniowego. Ponowna instalacja może przywrócić to samo środowisko uruchomieniowe bez zmiany brakującego motywu lub stanu portalu.
  • Nie zmieniaj konfiguracji portalu globalnego na początku. Wybór zaplecza w Ubuntu GNOME jest zależny od sesji. Zmiana preferencji portalu może wpłynąć na selektory plików i integrację z innymi elementami pulpitu, wykraczającą poza motyw.

Lista kontrolna weryfikacji

  • Ustawienia Ubuntu pokazują zamierzony styl Jasny lub Ciemny.
  • Nazwa motywu GTK hosta jest znana, a pasujące rozszerzenie GTK 3 jest dostępne dla Flatpak.
  • flatpak updateukończone, a aplikacja i rozszerzenie motywu znajdują się w kompatybilnym zakresie instalacji.
  • Pakiet xdg-desktop-portal-gtkzostał zainstalowany; po wprowadzeniu zmian sesja użytkownika lub portal zostaną uruchomione ponownie.
  • Dotknięta problemem aplikacja została całkowicie zamknięta i ponownie otwarta.
  • Porównałeś aplikacje według zestawu narzędzi: GTK 3, GTK 4/libadwaita, Qt i Electron mogą reagować inaczej.

Jeśli lista kontrolna zostanie zaliczona, a jedna aplikacja pozostanie niezmieniona, najskuteczniejszym kolejnym krokiem będzie sprawdzenie jej w systemie śledzenia problemów lub dokumentacji, podając identyfikator Flatpak, środowisko uruchomieniowe, typ sesji Ubuntu (Wayland lub X11) oraz wynik dwóch gsettingspoleceń tylko do odczytu. Pomaga to odróżnić wybór stylu specyficzny dla aplikacji od brakującego komponentu integracji pulpitu bez osłabiania środowiska testowego.

Aktualny podręcznik użytkownika Ubuntu opisuje sterowanie jasnością/ciemnością w Ustawieniach > Wygląd . Zachowanie Flatpak może się różnić w zależności od wersji, środowiska uruchomieniowego aplikacji, zaplecza portalu, zestawu narzędzi i zdalnych metadanych; jeśli aktywny motyw nie jest spakowany dla środowiska uruchomieniowego, aplikacja może nadal używać własnego, domyślnego wyglądu.

Zostaw komentarz

Jak bezpiecznie odzyskać utracone partycje i dane z dysku twardego

Jak bezpiecznie odzyskać utracone partycje i dane z dysku twardego

Dowiedz się, jak odzyskać utracone partycje i pliki za pomocą TestDisk i PhotoRec. Zabezpiecz dysk źródłowy, przeskanuj go bezpiecznie i zapisz odzyskane dane na innym dysku.

Jak skanować kody QR na komputerze stacjonarnym z systemem Linux

Jak skanować kody QR na komputerze stacjonarnym z systemem Linux

Skanuj kody QR w systemie Linux za pomocą CoBang, używając kamery internetowej lub pliku obrazu. Zobacz opcje instalacji, kroki konfiguracji i poprawki dotyczące dostępu do kamery Flatpak.

Jak zmienić ustawienia kamery internetowej w systemie Linux za pomocą Cameractrls

Jak zmienić ustawienia kamery internetowej w systemie Linux za pomocą Cameractrls

Zmień ustawienia kamery internetowej w systemie Linux za pomocą narzędzia Cameractrls: dostosuj ekspozycję, kolor, redukcję migotania i inne obsługiwane elementy sterujące, a następnie sprawdź zgodne tryby wideo.

Jak zainstalować PhpStorm na Linuksie: Toolbox, Tar.gz, Snap i AUR

Jak zainstalować PhpStorm na Linuksie: Toolbox, Tar.gz, Snap i AUR

Zainstaluj PhpStorm na Linuksie za pomocą JetBrains Toolbox lub samodzielnego archiwum tar.gz, a także opcji Snap i Arch AUR. Java jest już dołączona.

Jak wyciąć obraz w systemie Linux za pomocą programu GIMP

Jak wyciąć obraz w systemie Linux za pomocą programu GIMP

Usuń tło zdjęcia w systemie Linux za pomocą programu GIMP: narysuj obiekt, usuń wybrane tło, zachowaj przezroczystość i wyeksportuj plik PNG, który można ponownie wykorzystać.

Jak wykonać kopię zapasową płyty CD-ROM w postaci obrazu ISO w systemie Linux

Jak wykonać kopię zapasową płyty CD-ROM w postaci obrazu ISO w systemie Linux

Utwórz obraz ISO płyty CD-ROM w systemie Linux za pomocą GNOME Disks lub dd. Zidentyfikuj napęd optyczny, monitoruj kopiowanie, zweryfikuj obraz i dowiedz się, kiedy uszkodzona płyta lub płyta audio wymaga użycia innego narzędzia.

Jak skonfigurować dwa panele w środowisku XFCE 4

Jak skonfigurować dwa panele w środowisku XFCE 4

Utwórz oddzielny panel XFCE 4 dla każdego wyświetlacza, przypisz drugi panel do odpowiedniego wyjścia, określ jego położenie i rozmiar, a następnie dodaj potrzebne elementy uruchamiające i statusu.

Jak zainstalować Cisco Packet Tracer w systemie Linux

Jak zainstalować Cisco Packet Tracer w systemie Linux

Pobierz Cisco Packet Tracer 9.0.1 dla systemu Ubuntu 64-bit, zainstaluj pakiet DEB za pomocą APT, zaakceptuj licencję w terminalu i zaloguj się, aby rozpocząć laboratorium.

Pobierz FlightGear za darmo: Oficjalny przewodnik instalacji

Pobierz FlightGear za darmo: Oficjalny przewodnik instalacji

Pobierz FlightGear za darmo z oficjalnej strony. Porównaj pakiety dla systemów Windows, macOS i Linux, zainstaluj pliki danych i rozpocznij swój pierwszy lot.

OKSampler: darmowy, prosty sampler muzyczny do rytmów klawiszowych

OKSampler: darmowy, prosty sampler muzyczny do rytmów klawiszowych

OKSampler mapuje klipy MP3 na klawisze klawiatury i umożliwia zapętlanie dźwięku. Dowiedz się, co robi ten starszy, darmowy program, gdzie kończą się jego stare funkcje i co sprawdzić przed pobraniem.