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 widzisz | Prawdopodobna przyczyna | Pierwsza akcja |
| Aplikacja GTK 3 używa Adwaita zamiast Yaru | Brak aktywnego rozszerzenia motywu lub nie jest ono widoczne dla środowiska wykonawczego aplikacji | Zaktualizuj Flatpak i zainstaluj pasujące rozszerzenie motywu |
| Flatpak ignoruje mroczny styl Ubuntu | Problem z portalem, ustawieniem schematu kolorów lub obsługą aplikacji | Sprawdź wygląd, pakiety portalu i uruchom ponownie aplikację |
| Tylko jedna aplikacja wygląda inaczej | Aplikacja może używać GTK 4/libadwaita, Qt, Electron lub niestandardowego stylu | Przed 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-gtkjest 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.