Si una aplicación Flatpak se abre con Adwaita mientras que el resto de Ubuntu 24.04 usa Yaru, es posible que los archivos de tema instalados en tu escritorio estén correctos. Flatpak ejecuta las aplicaciones en un entorno aislado, por lo que un programa no lee automáticamente todos los archivos de tema del sistema anfitrión. La solución suele consistir en asegurarse de que el tema seleccionado esté disponible para el entorno de ejecución de Flatpak y que el servicio de configuración del escritorio pueda comunicar la opción activa.
Esta guía comienza con comprobaciones sencillas y avanza hacia la resolución de problemas específicos. Se aplica principalmente a aplicaciones GTK 3. Las aplicaciones GTK 4 y libadwaita pueden seguir reglas de estilo diferentes, por lo que no se garantiza que un tema que funcione en Archivos u otra aplicación GTK 3 se aplique a todas las ventanas Flatpak.
Lo que necesitas saber primero
Un tema GTK controla la apariencia de elementos de la interfaz, como botones y menús, en aplicaciones que utilizan GTK, un conjunto de herramientas para crear interfaces gráficas. Un entorno de ejecución Flatpak proporciona bibliotecas compartidas utilizadas por una aplicación en un entorno aislado (sandbox). El entorno aislado mantiene el sistema de archivos de la aplicación separado del sistema anfitrión. Como resultado, los archivos de tema del sistema anfitrión ubicados en ciertas rutas /usr/share/themesno se copian simplemente en cada Flatpak.
El método compatible de Flatpak para los temas GTK 3 es una extensión con el nombre del tema, generalmente seguida de org.gtk.Gtk3theme.ThemeName. Si esa extensión existe en el repositorio remoto configurado para el entorno de ejecución de la aplicación, Flatpak puede instalarla junto con la aplicación o durante una actualización. El escritorio también debe exponer la configuración activa: XSettings se usa en X11, mientras que el portal Settings la proporciona en Wayland. Un portal es un servicio de escritorio que otorga a las aplicaciones aisladas acceso controlado a funciones y preferencias de escritorio seleccionadas.
El tema predeterminado de Ubuntu, Yaru, viene instalado en el sistema, pero esto no garantiza que exista una extensión de tema Flatpak correspondiente para cada aplicación y entorno de ejecución. La disponibilidad puede depender del nombre del tema, el repositorio remoto Flatpak configurado, la rama del entorno de ejecución y el kit de herramientas. Flatpak documenta Adwaita como la alternativa cuando no hay un tema o una interfaz de configuración disponible.
Paso 1: Confirme el tema y la sesión del anfitrión.
Primero, comprueba si el tema se aplica a las aplicaciones de escritorio habituales. Abre Ajustes → Apariencia , anota el estilo seleccionado y abre una aplicación GTK preinstalada. Si las aplicaciones anfitrionas también se ven mal, corrige la apariencia del escritorio antes de modificar la configuración de Flatpak.
Puedes inspeccionar el nombre del tema GTK desde la terminal con:
gsettings get org.gnome.desktop.interface gtk-theme
El resultado es un nombre entre comillas, por ejemplo 'Yaru'. Anote la ortografía y el uso de mayúsculas. Flatpak asocia el nombre del tema GTK seleccionado por el host con una extensión; buscar un tema similar pero con un nombre diferente podría no resolver la discrepancia. El proyecto Yaru de Ubuntu documenta a Yaru como el conjunto de temas GTK predeterminado de Ubuntu.
También debes identificar si tu sesión es Wayland o X11. En la pantalla de inicio de sesión, selecciona tu usuario y usa el menú de configuración (si está disponible); el nombre de la sesión suele aparecer allí. Esto es importante porque la ruta de configuración difiere: Wayland utiliza un portal, mientras que X11 usa XSettings. La sesión GNOME predeterminada de Ubuntu 24.04 suele usar Wayland, pero los usuarios pueden elegir otra sesión.
Paso 2: Actualiza Flatpak y comprueba la disponibilidad de la extensión del tema.
Ejecuta una actualización general de Flatpak para que se actualicen las aplicaciones instaladas, los entornos de ejecución y las extensiones disponibles:
flatpak update
Revise los cambios propuestos antes de confirmarlos. A continuación, busque en los controles remotos configurados extensiones que coincidan con el nombre del tema que registró. Para una selección de Yaru, pruebe lo siguiente:
flatpak search org.gtk.Gtk3theme.Yaru
Si la búsqueda arroja una extensión coincidente, anote el ID de la aplicación y el control remoto exactos que se muestran. Instálela solo si Flatpak no la ha instalado previamente. Utilice el ID y el control remoto tal como se muestran:
flatpak install REMOTE EXTENSION_ID
Sustituya ambos marcadores de posición en mayúsculas por los valores reales. No copie un ID de extensión supuesto de un tema o rama de ejecución no relacionada. Es posible que algunas compilaciones de extensiones no estén disponibles para un entorno de ejecución determinado; en ese caso, la aplicación puede seguir utilizando Adwaita aunque el host tenga Yaru.
La documentación de integración de escritorio de Flatpak indica que las extensiones de temas GTK compatibles se instalan automáticamente durante la instalación o actualización de la aplicación si están presentes en el repositorio remoto. Por lo tanto, si la extensión está disponible pero no aparece, actualizar la aplicación puede ser suficiente. Los resultados de la búsqueda pueden variar según los cambios en los repositorios remotos y los paquetes, así que considere la salida local de Flatpak como la comprobación actual en lugar de asumir un nombre de paquete.
Paso 3: Reinicie la aplicación y actualice el servicio de configuración del escritorio.
Cierra completamente la aplicación afectada, incluyendo cualquier instancia en segundo plano, y luego ábrela de nuevo. Un proceso en ejecución puede conservar la configuración de apariencia que leyó al iniciarse.
Si utiliza Wayland y varios paquetes GTK Flatpak siguen ignorando el estilo seleccionado, compruebe si el backend del portal GTK está instalado:
dpkg -l xdg-desktop-portal xdg-desktop-portal-gtk
Busque el estado de instalación en la lista de paquetes. La documentación de Flatpak lo identifica específicamente xdg-desktop-portal-gtkcomo necesario para los temas y fuentes GTK. Si no aparece, instale el paquete de Ubuntu desde el repositorio oficial:
sudo apt update
sudo apt install xdg-desktop-portal-gtk
Primero, guarda tu trabajo en las aplicaciones abiertas. Luego, cierra sesión y vuelve a iniciarla, lo que reiniciará correctamente la sesión del usuario y sus servicios del portal. Esta suele ser la opción más clara para un principiante. Los usuarios avanzados pueden reiniciar sus servicios desde la Terminal con systemctl --user restart xdg-desktop-portal.service xdg-desktop-portal-gtk.service, pero los nombres de los servicios y el comportamiento de activación pueden variar según la instalación. Si ese comando indica que una unidad no está cargada, usa la opción de cerrar sesión en lugar de reiniciar los servicios repetidamente.
Paso 4: Compruebe si la aplicación es compatible con el tema.
Vuelve a abrir el mismo Flatpak y compara sus botones, menús y contenido de ventana con una aplicación GTK instalada desde los paquetes de Ubuntu. Si solo un Flatpak difiere, el problema podría deberse al kit de herramientas, el entorno de ejecución o la implementación de esa aplicación. Por ejemplo, algunas aplicaciones GTK 4 usan libadwaita, que sigue intencionadamente las convenciones de diseño de GNOME y no admite temas GTK arbitrarios como las aplicaciones GTK 3 más antiguas. Las extensiones Flatpak para GTK 3 tampoco modifican el estilo de una aplicación Qt.
Cuando una aplicación utiliza un entorno de ejecución reciente y tiene presente una extensión de tema GTK 3, la configuración de escritorio debería aplicarse automáticamente. Si no es así, compruebe el entorno de ejecución de la aplicación con:
flatpak info APP_ID
Sustituye APP_IDcon el ID real de la aplicación. El resultado te ayuda a identificar el entorno de ejecución y la rama que debes reportar si contactas al responsable del mantenimiento de la aplicación. Por sí solo, no demuestra si la aplicación respeta las preferencias de tema GTK.
Soluciones comunes que se deben evitar
- No otorgue acceso amplio al sistema de archivos del host como primera solución. La documentación de Flatpak indica que exponer los archivos de tema del host puede debilitar el entorno aislado y reducir la portabilidad. Es preferible una extensión de tema con mantenimiento y una integración funcional en el escritorio.
- No asuma que al instalar un tema con APT se instalará en todos los Flatpak. APT cambia el host. El entorno de ejecución de Flatpak aún necesita una extensión compatible o una ruta de configuración compatible.
- No confunda el modo oscuro con un tema GTK. La preferencia de esquema de color del escritorio y un tema GTK completo son configuraciones relacionadas, pero distintas. La aplicación y su entorno de ejecución deben ser compatibles con la preferencia correspondiente.
- No restablezcas todos los ajustes de GNOME ni elimines las carpetas de temas. Estos pasos pueden eliminar preferencias no relacionadas y no añadir una extensión Flatpak que falte.
- No utilice la anulación de variables de entorno como solución universal. Una anulación puede variar según el conjunto de herramientas y la aplicación, y podría ocultar el problema real de la extensión faltante o del portal.
Verificar el resultado
Después de actualizar o instalar la extensión correspondiente y reiniciar la sesión o la aplicación, confirme tres cosas: el host sigue informando el nombre del tema GTK esperado; la extensión de tema relevante aparece en las aplicaciones instaladas de Flatpak; y los controles GTK de la aplicación afectada ahora siguen la apariencia esperada. Puede listar los Flatpaks instalados con:
flatpak list --app
Si el tema del host es correcto, la extensión no está disponible para el entorno de ejecución de la aplicación y solo una aplicación presenta diferencias visuales, la limitación podría deberse a la aplicación en sí, en lugar de a un problema con el tema de Ubuntu. Al enviar un informe, incluya el ID de la aplicación Flatpak, la rama de ejecución, el tipo de sesión, el nombre del tema y el estado del paquete del portal correspondiente. Esto proporciona a los responsables del mantenimiento la información necesaria para distinguir entre un problema de empaquetado y un problema de configuración del escritorio.
Referencias oficiales