Si une application Flatpak s'ouvre avec Adwaita alors que le reste d'Ubuntu 24.04 utilise Yaru, les fichiers de thème installés sur votre bureau sont peut-être corrects. Flatpak exécute les applications dans un environnement isolé (sandbox), ce qui signifie qu'un programme ne lit pas automatiquement tous les fichiers de thème de l'hôte. La solution consiste généralement à vérifier que le thème sélectionné est accessible à l'environnement d'exécution Flatpak et que le service des paramètres du bureau peut communiquer le choix actif.
Ce guide commence par des vérifications simples et aborde ensuite le dépannage ciblé. Il s'applique principalement aux applications GTK 3. Les applications GTK 4 et libadwaita peuvent suivre des règles de style différentes ; par conséquent, un thème fonctionnant dans l'application Fichiers ou une autre application GTK 3 ne s'appliquera pas nécessairement à toutes les fenêtres Flatpak.
Ce que vous devez savoir en premier
Un thème GTK contrôle l'apparence des éléments d'interface, tels que les boutons et les menus, dans les applications utilisant GTK, une boîte à outils pour la création d'interfaces graphiques. Un environnement d'exécution Flatpak fournit les bibliothèques partagées utilisées par une application exécutée dans un bac à sable. Ce bac à sable isole le système de fichiers de l'application du système hôte. Par conséquent, les fichiers de thème de l'hôte, situés à des emplacements tels que `/etc/thème`, /usr/share/themesne sont pas simplement copiés dans chaque Flatpak.
La méthode prise en charge par Flatpak pour les thèmes GTK 3 consiste en une extension portant le nom du thème, généralement suivie de `< org.gtk.Gtk3theme.ThemeNamenom_de_l'extension>`. Si cette extension existe dans le dépôt distant configuré pour l'environnement d'exécution de l'application, Flatpak peut l'installer avec l'application ou lors d'une mise à jour. Le bureau doit également exposer le paramètre actif : XSettings est utilisé sous X11, tandis que le portail de paramètres le fournit sous Wayland. Un portail est un service de bureau qui permet aux applications exécutées dans un environnement isolé (sandbox) d'accéder de manière contrôlée à certaines fonctions et préférences du bureau.
Le thème Yaru par défaut d'Ubuntu est installé sur le système, mais cela ne garantit pas la disponibilité d'une extension de thème Flatpak correspondante pour chaque application et environnement d'exécution. La disponibilité peut dépendre du nom du thème, du dépôt Flatpak distant configuré, de la branche d'exécution et de la boîte à outils. Flatpak indique qu'Adwaita est utilisé par défaut lorsqu'un thème ou une interface de configuration est indisponible.
Étape 1 : Confirmer le thème et la session de l’hôte
Vérifiez d'abord si le thème est appliqué aux applications de bureau classiques. Ouvrez Paramètres → Apparence , notez le style sélectionné et ouvrez une application GTK préinstallée. Si les applications hôtes présentent également un affichage incorrect, corrigez l'apparence du bureau avant de modifier les paramètres Flatpak.
Vous pouvez inspecter le nom du thème GTK depuis le Terminal avec :
gsettings get org.gnome.desktop.interface gtk-theme
Le résultat est un nom entre guillemets, par exemple «'Yaru' . ». Notez l'orthographe et la casse. Flatpak associe le nom du thème GTK sélectionné par l'hôte à une extension ; la recherche d'un thème similaire mais portant un nom différent peut ne pas résoudre le problème. Le projet Yaru d'Ubuntu décrit Yaru comme la suite de thèmes GTK par défaut d'Ubuntu.
Vérifiez également si votre session utilise Wayland ou X11. Sur l'écran de connexion, sélectionnez votre utilisateur et utilisez le menu (icône d'engrenage) s'il est disponible ; le nom de la session y est généralement indiqué. Ceci est important car le chemin d'accès aux paramètres diffère : Wayland utilise un portail, tandis que X11 utilise XSettings. La session GNOME par défaut d'Ubuntu 24.04 utilise généralement Wayland, mais les utilisateurs peuvent choisir une autre session.
Étape 2 : Mettez à jour Flatpak et vérifiez la disponibilité des extensions de thème.
Lancez une mise à jour générale de Flatpak afin que les applications installées, les environnements d'exécution et les extensions disponibles puissent être actualisés :
flatpak update
Vérifiez les modifications proposées avant de confirmer. Ensuite, recherchez dans les dépôts distants configurés les extensions correspondant au nom du thème que vous avez noté. Pour une sélection Yaru, essayez :
flatpak search org.gtk.Gtk3theme.Yaru
Si la recherche renvoie une extension correspondante, notez l'identifiant exact de l'application et le chemin du serveur distant affichés. Installez-la uniquement si Flatpak ne l'a pas déjà installée. Utilisez l'identifiant et le chemin du serveur distant exactement tels qu'ils apparaissent :
flatpak install REMOTE EXTENSION_ID
Remplacez les deux espaces réservés en majuscules par leurs valeurs réelles. Ne copiez pas un ID d'extension deviné provenant d'un thème ou d'une branche d'exécution non liée. Certaines versions d'extension peuvent être indisponibles pour un environnement d'exécution donné ; dans ce cas, l'application peut continuer à utiliser Adwaita même si l'hôte utilise Yaru.
La documentation d'intégration de Flatpak indique que les extensions de thème GTK correspondantes sont automatiquement installées lors de l'installation ou de la mise à jour de l'application si elles sont présentes sur le dépôt distant. Par conséquent, si l'extension est disponible mais absente, la mise à jour de l'application peut suffire. Les résultats de recherche peuvent varier en fonction des modifications apportées aux dépôts distants et aux paquets ; il est donc conseillé de considérer la sortie de Flatpak locale comme la référence actuelle plutôt que de se fier au nom du paquet.
Étape 3 : Redémarrez l’application et actualisez le service des paramètres de bureau
Fermez complètement l'application concernée, y compris toutes les instances en arrière-plan, puis rouvrez-la. Un processus en cours d'exécution peut conserver les paramètres d'apparence qu'il a lus au démarrage.
Si vous utilisez Wayland et que plusieurs Flatpaks GTK ignorent toujours le style sélectionné, vérifiez si le backend du portail GTK est installé :
dpkg -l xdg-desktop-portal xdg-desktop-portal-gtk
Vérifiez si le paquet est installé dans la liste des paquets. La documentation Flatpak indique explicitement xdg-desktop-portal-gtkqu'il est requis pour les thèmes et les polices GTK. S'il est absent, installez le paquet Ubuntu depuis les archives officielles :
sudo apt update
sudo apt install xdg-desktop-portal-gtk
Commencez par enregistrer votre travail dans les applications ouvertes. Déconnectez-vous ensuite, puis reconnectez-vous ; cela redémarrera proprement votre session utilisateur et ses services de portail. C'est généralement la solution la plus simple pour un débutant. Les utilisateurs avancés peuvent redémarrer leurs services utilisateur depuis le Terminal avec la commande `restart` systemctl --user restart xdg-desktop-portal.service xdg-desktop-portal-gtk.service, mais les noms des services et le comportement lors de leur activation peuvent varier selon l'installation. Si cette commande indique qu'une unité n'est pas chargée, déconnectez-vous plutôt que de redémarrer les services à plusieurs reprises.
Étape 4 : Vérifiez si l’application prend en charge le thème
Rouvrez le même Flatpak et comparez ses boutons, menus et le contenu de ses fenêtres avec une application GTK installée depuis les paquets Ubuntu. Si une seule instance de Flatpak diffère, le problème peut être spécifique à la boîte à outils, à l'environnement d'exécution ou à l'implémentation de cette application. Par exemple, certaines applications GTK 4 utilisent libadwaita, qui suit volontairement les conventions de conception de GNOME et ne prend pas en charge les thèmes GTK personnalisés comme le font les anciennes applications GTK 3. Les extensions Flatpak pour GTK 3 ne modifieront pas non plus l'apparence d'une application Qt.
Lorsqu'une application utilise un environnement d'exécution récent et qu'une extension de thème GTK 3 est présente, les paramètres de bureau devraient normalement être appliqués automatiquement. Si ce n'est pas le cas, vérifiez l'environnement d'exécution de l'application avec :
flatpak info APP_ID
Remplacez APP_IDpar l'identifiant réel de l'application. Le résultat vous aide à identifier l'environnement d'exécution et la branche à signaler si vous contactez le responsable de l'application. Il ne prouve pas à lui seul si l'application respecte les préférences de thème GTK.
Solutions courantes à éviter
- N'accordez pas un accès étendu au système de fichiers hôte comme première solution. La documentation Flatpak indique que l'exposition des fichiers de thème hôte peut affaiblir l'environnement isolé et réduire la portabilité. Privilégiez une extension de thème maintenue et une intégration fonctionnelle au bureau.
- N'oubliez pas que l'installation d'un thème via APT ne l'installe pas automatiquement dans chaque Flatpak. APT modifie l'hôte. L'environnement d'exécution Flatpak nécessite toujours une extension compatible ou un chemin de configuration pris en charge.
- Ne confondez pas le mode sombre avec un thème GTK. Le schéma de couleurs du bureau et un thème GTK complet sont deux paramètres distincts, bien que liés. L'application et son environnement d'exécution doivent prendre en charge le paramètre correspondant.
- Ne réinitialisez pas tous les paramètres GNOME et ne supprimez pas les dossiers de thèmes. Ces actions peuvent supprimer des préférences sans rapport avec le problème et n'ajoutent pas une extension Flatpak manquante.
- N’utilisez pas les substitutions de variables d’environnement comme solution universelle. Une substitution peut varier selon l’outil et l’application, et peut masquer le véritable problème d’extension manquante ou de portail.
Vérifier le résultat
Après avoir mis à jour ou installé l'extension correspondante et redémarré la session ou l'application, vérifiez trois points : l'hôte affiche toujours le nom de thème GTK attendu ; l'extension de thème concernée apparaît dans les applications Flatpak installées ; et les contrôles GTK de l'application concernée s'affichent désormais correctement. Vous pouvez lister les Flatpaks installés avec :
flatpak list --app
Si le thème hôte est correct, que l'extension est indisponible pour l'environnement d'exécution de l'application et qu'une seule application présente une différence visuelle, la limitation est probablement liée à l'application elle-même plutôt qu'à un thème Ubuntu défectueux. Lors de la création d'un rapport, veuillez inclure l'identifiant Flatpak de l'application, la branche d'exécution, le type de session, le nom du thème et l'état du paquet concerné sur le portail. Ces informations permettront aux responsables de la maintenance de distinguer un problème de packaging d'un problème de configuration du bureau.
Références officielles