Guida rapida: cosa risolve solitamente il problema della discrepanza
Se un'applicazione Flatpak su Ubuntu 24.04 si apre con Adwaita o un'interfaccia chiara mentre il desktop è impostato su scuro, verifica innanzitutto se l'applicazione utilizza GTK 3 o GTK 4/libadwaita. Dopodiché, aggiorna Flatpak, rendi disponibile l'estensione del tema GTK 3 corrispondente e verifica che il portale del desktop sia installato. Le applicazioni Flatpak vengono eseguite in un ambiente sandbox, quindi non leggono automaticamente tutti i file di tema installati sul sistema host Ubuntu.
| Ciò che vedi | Probabile causa | Prima azione |
| L'applicazione GTK 3 utilizza Adwaita al posto di Yaru. | L'estensione del tema attivo risulta mancante o non visibile in fase di esecuzione dell'app. | Aggiorna Flatpak e installa l'estensione del tema corrispondente. |
| Flatpak ignora lo stile oscuro di Ubuntu | Problema relativo al portale, alle impostazioni della combinazione di colori o al supporto dell'app. | Controlla l'aspetto, i pacchetti del portale e riavvia l'app. |
| Solo un'app ha un aspetto diverso | L'app potrebbe utilizzare GTK 4/libadwaita, Qt, Electron o uno stile personalizzato. | Identifica gli strumenti necessari prima di modificare le impostazioni di sistema. |
Questi passaggi si applicano alle applicazioni Flatpak su Ubuntu 24.04, in particolare a quelle installate da Flathub. Non obbligano ogni applicazione a utilizzare lo stile desktop completo di Ubuntu. Le estensioni del tema GTK 3, la preferenza chiaro/scuro, le icone e gli stili specifici delle applicazioni sono elementi separati.
Come funziona l'abbinamento dei temi di Flatpak
Un'applicazione Flatpak utilizza il proprio ambiente di runtime anziché le librerie di sistema e le directory dei temi dell'host. Flatpak non può semplicemente esporre Ubuntu /usr/share/themescome sorgente dei temi dell'applicazione: l'ambiente di runtime ha un proprio filesystem e i temi possono dipendere da una specifica versione di GTK. Pertanto, Flatpak distribuisce i temi GTK 3 supportati come estensioni di runtime.
Flatpak è in grado di leggere il nome del tema GTK attivo dell'host e installare un'estensione corrispondente, se disponibile nel repository remoto dell'app. Il tema deve comunque essere esposto all'app. Su X11, GTK 3 può ricevere il tema selezionato tramite XSettings. Su Wayland, GTK legge le impostazioni di aspetto pertinenti tramite un portale di impostazioni desktop. Se l'estensione del tema o un percorso di integrazione adeguato non sono disponibili, un'app può ripiegare su Adwaita.
Il pannello Impostazioni di Ubuntu 24.04 offre stili desktop chiaro e scuro. Questa preferenza non equivale a imporre a tutte le applicazioni l'utilizzo del tema Yaru GTK 3. Le applicazioni GTK 4 create con libadwaita generalmente seguono le preferenze di aspetto del sistema supportate, ma non accettano necessariamente override arbitrari dei temi GTK legacy. Un'estensione per temi Flatpak denominata per GTK 3 non modificherà lo stile di tutte le applicazioni GTK 4 o libadwaita.
Per una panoramica tecnica, consultare la documentazione di Flatpak sull'integrazione con il desktop e la personalizzazione dei temi, nonché la documentazione sul supporto del portale GTK .
1. Conferma lo stile del desktop e il nome del tema
Apri Impostazioni > Aspetto e seleziona lo stile desiderato, Chiaro o Scuro. La scelta verrà applicata immediatamente al desktop. Se utilizzi GNOME Tweaks o un altro strumento per selezionare un tema GTK personalizzato, prendi nota del nome esatto del tema; i nomi dei pacchetti e i nomi dei temi possono differire per maiuscole/minuscole o suffissi.
È possibile leggere il nome del tema GTK attivo e la preferenza della combinazione di colori nel Terminale:
gsettings get org.gnome.desktop.interface gtk-theme
gsettings get org.gnome.desktop.interface color-scheme
Il primo comando riporta il nome del tema memorizzato nelle impostazioni di GNOME; il secondo riporta lo schema chiaro/scuro preferito, se supportato. Questi comandi si limitano a esaminare i valori. Evitate di impostare un nome di tema copiato da un tutorial, a meno che quel tema non sia installato e non intendiate utilizzarlo. Riavviate l'applicazione interessata dopo aver modificato le impostazioni di aspetto, poiché molti programmi leggono il tema all'avvio.
2. Aggiorna Flatpak e installa l'estensione del tema corrispondente.
Innanzitutto, aggiorna le applicazioni e i runtime installati. L'integrazione dei temi documentata da Flatpak può installare automaticamente un'estensione corrispondente durante un'installazione o un aggiornamento, qualora il tema sia disponibile dal repository remoto configurato.
flatpak update
Se l'app utilizza ancora il tema di fallback, elenca le estensioni del tema GTK esposte da Flathub:
flatpak remote-ls --columns=application flathub | grep '^org.gtk.Gtk3theme'
Scegli un'estensione il cui nome corrisponda al tema GTK 3 che hai selezionato. Flathub attualmente elenca le varianti del tema Yaru, tra cui org.gtk.Gtk3theme.Yaru-light. Ad esempio, installa quella variante solo se corrisponde al tema che desideri:
flatpak install flathub org.gtk.Gtk3theme.Yaru-light
La descrizione del tema Yaru-light su Flathub lo identifica come un pacchetto di temi GTK. Il nome del tema corrispondente dipende dalle impostazioni dell'host e da ciò che il repository remoto pubblica attualmente. Se si utilizza una variante diversa di Yaru o un tema di terze parti, consultare flatpak searchla documentazione del repository remoto per trovare l'ID di estensione esatto; non dedurre il suffisso del pacchetto dal suo nome visivo.
Se il tema è installato ma l'applicazione era già in esecuzione, chiudi tutte le finestre e riaprila. In caso di problemi persistenti, esegui nuovamente l'aggiornamento dopo aver verificato che l'estensione e l'applicazione provengano dalla stessa installazione di Flatpak.
flatpak list --app
flatpak list --runtime | grep -i theme
flatpak update
Flatpak distingue tra installazioni per utente e installazioni di sistema. Se hai installato l'app con --userma hai installato l'estensione a livello di sistema, o viceversa, l'app potrebbe non trovare l'estensione dove previsto. Mantieni l'app e l'estensione nello stesso ambito di installazione, ove possibile. Puoi ispezionare l'installazione di una specifica app con flatpak info APP_ID.
3. Controlla il portale desktop su Ubuntu 24.04
La documentazione del portale Flatpak di GTK afferma che xdg-desktop-portal-gtkè necessario per i temi e i font GTK. Ubuntu pubblica questo backend per la release Noble (24.04 LTS). Se il pacchetto non è presente, installalo dai repository di Ubuntu:
sudo apt update
sudo apt install xdg-desktop-portal-gtk
Anche Ubuntu GNOME utilizza il backend del portale GNOME per le funzionalità specifiche dell'ambiente desktop. L'installazione del backend GTK non implica la rimozione o la sostituzione del backend GNOME. Mantieni i pacchetti del portale forniti per il tuo ambiente desktop. Dopo l'installazione, disconnettiti e accedi di nuovo, oppure riavvia il servizio del portale utente e quindi riavvia l'applicazione interessata.
systemctl --user restart xdg-desktop-portal.service
Se systemd segnala che l'unità non è disponibile, disconnettiti e accedi di nuovo. I dettagli di attivazione del portale possono variare a seconda della sessione e dello stato del pacchetto. L'elenco dei pacchetti di Ubuntu conferma che xdg-desktop-portal-gtk è disponibile per Ubuntu 24.04 .
4. Decidi se l'app può utilizzare il tema
Se possibile, prova più di un Flatpak GTK 3. Se diverse app GTK 3 ora seguono il tema ma una no, il problema rimanente potrebbe essere specifico di quell'app o del suo runtime. Se le app GTK 3 funzionano ma un'app GNOME moderna presenta ancora un colore di accento o un aspetto dei widget diverso, è normale: le estensioni del tema GTK 3 non si applicano a GTK 4/libadwaita allo stesso modo.
Alcune app utilizzano Qt, Electron o un proprio toolkit di interfaccia anche se hanno un aspetto simile alle applicazioni GNOME. In tal caso, un'estensione per il tema GTK potrebbe non avere alcun effetto. Prima di modificare i permessi di Flatpak, consulta la documentazione ufficiale dell'app per verificare le opzioni di aspetto supportate. Per un Flatpak installato da Flathub, controlla l'ID dell'app e il runtime con:
flatpak info APP_ID
Sostituire APP_IDcon l'ID dell'applicazione mostrato da flatpak list --app. L'output aiuta a identificare il suo runtime e l'ambito di installazione; non sempre indica il toolkit, quindi, se necessario, conferma il toolkit dalla documentazione dell'app o dalla pagina del progetto.
Soluzioni comuni da evitare
- Non concedere un accesso esteso al filesystem dell'host solo per copiare l'aspetto. Flatpak documenta le estensioni del tema e l'integrazione con il portale/XSettings come approcci standard. Un accesso esteso indebolisce l'isolamento della sandbox e può comunque fallire se le versioni di GTK dell'host e dell'ambiente di runtime differiscono.
- Non utilizzare un'estensione per temi GTK 3 come interruttore universale per la modalità scura. Contiene file di tema per app GTK 3 compatibili; il supporto per la combinazione di colori di sistema è un'impostazione separata che l'app e il portale devono riconoscere.
- Non reinstallare l'applicazione prima di averne verificato l'estensione e il runtime. La reinstallazione potrebbe scaricare lo stesso runtime senza risolvere il problema del tema mancante o della condizione del portale.
- Non modificare la configurazione globale del portale come primo passo. La selezione del backend di Ubuntu GNOME è specifica per la sessione. La sostituzione delle preferenze del portale può influire sui selettori di file e su altre integrazioni del desktop, oltre al tema.
Lista di controllo per la verifica
- Le impostazioni di Ubuntu mostrano lo stile desiderato, chiaro o scuro.
- Il nome del tema GTK host è noto ed è disponibile un'estensione GTK 3 corrispondente per Flatpak.
flatpak updateL'installazione è completata e l'app e l'estensione del tema sono in un ambito di installazione compatibile.
- Il
xdg-desktop-portal-gtkpacchetto è stato installato; dopo le modifiche, la sessione utente o il portale sono stati riavviati.
- L'applicazione interessata è stata completamente chiusa e riaperta.
- Hai confrontato le app in base al toolkit: GTK 3, GTK 4/libadwaita, Qt o Electron possono rispondere in modo diverso.
Se la checklist viene superata e un'app rimane invariata, il passo successivo più utile è consultare il sistema di tracciamento dei bug o la documentazione di quell'applicazione, indicando il suo ID Flatpak, il runtime, il tipo di sessione Ubuntu (Wayland o X11) e l'output dei due gsettingscomandi di sola lettura. Questo aiuta a distinguere una scelta di stile specifica dell'app da un componente di integrazione desktop mancante, senza compromettere la sandbox.
La guida utente di Ubuntu descrive i controlli per la modalità chiara/scura in Impostazioni > Aspetto . Il comportamento di Flatpak può variare a seconda della versione, del runtime dell'applicazione, del backend del portale, del toolkit e dei metadati remoti; se il tema attivo non è incluso nel pacchetto del runtime, l'applicazione potrebbe continuare a utilizzare il proprio aspetto predefinito.