Risolvere il problema delle app Flatpak che non rispettano i temi GTK in Ubuntu 24.04

Se un'applicazione Flatpak si apre con Adwaita mentre il resto di Ubuntu 24.04 utilizza Yaru, i file del tema installati sul desktop potrebbero essere corretti. Flatpak esegue le applicazioni in un ambiente isolato, quindi un programma non legge automaticamente tutti i file del tema dell'host. La soluzione consiste solitamente nell'assicurarsi che il tema selezionato sia disponibile per l'ambiente di runtime di Flatpak e che il servizio delle impostazioni del desktop possa comunicare la scelta attiva.

Questa guida inizia con semplici verifiche e passa poi alla risoluzione mirata dei problemi. Si applica principalmente alle applicazioni GTK 3. Le applicazioni GTK 4 e libadwaita potrebbero seguire regole di stile diverse, quindi un tema che funziona in File o in un'altra applicazione GTK 3 non è garantito che si applichi a tutte le finestre di Flatpak.

Cosa devi sapere prima

Un tema GTK controlla l'aspetto degli elementi dell'interfaccia, come pulsanti e menu, nelle app che utilizzano GTK, un toolkit per la creazione di interfacce grafiche. Un runtime Flatpak fornisce librerie condivise utilizzate da un'app in ambiente sandbox. La sandbox mantiene il filesystem dell'app separato dal sistema host. Di conseguenza, i file del tema host in posizioni come /usr/share/themesnon vengono semplicemente copiati in ogni Flatpak.

L'approccio supportato da Flatpak per i temi GTK 3 è un'estensione con lo stesso nome del tema, solitamente dopo org.gtk.Gtk3theme.ThemeName. Se tale estensione esiste nel repository remoto configurato per il runtime dell'app, Flatpak può installarla insieme all'app o durante un aggiornamento. Il desktop deve inoltre esporre l'impostazione attiva: XSettings viene utilizzato su X11, mentre il portale Impostazioni la fornisce su Wayland. Un portale è un servizio desktop che fornisce alle app in ambiente sandbox un accesso controllato a determinate funzioni e preferenze del desktop.

Il tema Yaru predefinito di Ubuntu è installato sul sistema host, ma questo fatto da solo non dimostra che sia disponibile un'estensione del tema Flatpak corrispondente per ogni applicazione e runtime. La disponibilità può dipendere dal nome del tema, dal repository Flatpak configurato, dal ramo del runtime e dal toolkit. Flatpak documenta Adwaita come soluzione di ripiego quando un tema o un'interfaccia di impostazioni non sono disponibili.

Passaggio 1: Conferma il tema e la sessione dell'host

Innanzitutto, verifica se il tema viene applicato alle normali applicazioni desktop. Apri Impostazioni → Aspetto , prendi nota dello stile selezionato e apri un'applicazione GTK preinstallata. Se anche le applicazioni host presentano un aspetto errato, correggi l'aspetto del desktop prima di modificare le impostazioni di Flatpak.

È possibile controllare il nome del tema GTK dal Terminale con:

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

Il risultato è un nome tra virgolette, ad esempio 'Yaru'. Registra l'ortografia e l'uso delle maiuscole. Flatpak associa il nome del tema GTK selezionato dall'host a un'estensione; la ricerca di un tema simile ma con un nome diverso potrebbe non risolvere l'incongruenza. Il progetto Yaru di Ubuntu documenta Yaru come la suite di temi GTK predefinita di Ubuntu.

Verifica inoltre se la tua sessione è Wayland o X11. Nella schermata di accesso, seleziona il tuo utente e, se disponibile, utilizza il menu a forma di ingranaggio; il nome della sessione viene solitamente visualizzato lì. Questo è importante perché il percorso delle impostazioni è diverso: Wayland si basa su un portale, mentre X11 utilizza XSettings. La sessione GNOME predefinita di Ubuntu 24.04 utilizza comunemente Wayland, ma gli utenti possono scegliere un'altra sessione.

Passaggio 2: Aggiorna Flatpak e verifica la disponibilità dell'estensione del tema

Esegui un aggiornamento generale di Flatpak in modo che le app installate, i runtime e le estensioni disponibili vengano aggiornati:

flatpak update

Esamina le modifiche proposte prima di confermare. Successivamente, cerca tra i remote configurati le estensioni corrispondenti al nome del tema che hai registrato. Per una selezione Yaru, prova:

flatpak search org.gtk.Gtk3theme.Yaru

Se la ricerca restituisce un'estensione corrispondente, annota l'ID dell'applicazione e il telecomando esatti visualizzati. Installala solo se Flatpak non l'ha già installata. Utilizza l'ID e il telecomando esattamente come visualizzati:

flatpak install REMOTE EXTENSION_ID

Sostituisci entrambi i segnaposto in maiuscolo con i valori effettivi. Non copiare un ID di estensione presunto da un tema o un ramo di runtime non correlato. Alcune build di estensione potrebbero non essere disponibili per un determinato runtime; in tal caso, l'app può continuare a utilizzare Adwaita anche se l'host ha Yaru.

La documentazione di Flatpak sull'integrazione con il desktop afferma che le estensioni del tema GTK corrispondenti vengono installate automaticamente durante l'installazione o l'aggiornamento dell'app, se presenti nel repository remoto. Pertanto, se l'estensione è disponibile ma non presente, potrebbe essere sufficiente aggiornare l'app. I risultati della ricerca possono variare in base ai repository remoti e ai pacchetti, quindi è consigliabile considerare l'output locale di Flatpak come riferimento corrente, anziché presumere il nome del pacchetto.

Passaggio 3: riavvia l'app e aggiorna il servizio delle impostazioni desktop

Chiudi completamente l'applicazione interessata, comprese tutte le istanze in background, quindi riaprila. Un processo in esecuzione potrebbe conservare le impostazioni di aspetto lette all'avvio.

Se utilizzi Wayland e diversi Flatpak GTK continuano a ignorare lo stile selezionato, verifica se il backend del portale GTK è installato:

dpkg -l xdg-desktop-portal xdg-desktop-portal-gtk

Verifica lo stato di installazione nell'elenco dei pacchetti. La documentazione di Flatpak specifica xdg-desktop-portal-gtkche è necessario per i temi e i font GTK. Se non è presente, installa il pacchetto Ubuntu dall'archivio ufficiale:

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

Salva prima il lavoro nelle applicazioni aperte. Quindi disconnettiti e accedi di nuovo, in modo da riavviare correttamente la sessione utente e i relativi servizi del portale. Questa è solitamente l'opzione più chiara per un principiante. Gli utenti esperti possono riavviare i propri servizi utente dal Terminale con systemctl --user restart xdg-desktop-portal.service xdg-desktop-portal-gtk.service, ma i nomi dei servizi e il comportamento di attivazione possono variare a seconda dell'installazione. Se il comando segnala che un'unità non è caricata, disconnettiti invece di riavviare ripetutamente i servizi.

Passaggio 4: Verifica se l'applicazione supporta il tema

Riapri lo stesso Flatpak e confronta i suoi pulsanti, menu e contenuto della finestra con un'applicazione GTK installata tramite i pacchetti di Ubuntu. Se solo un Flatpak presenta delle differenze, il problema potrebbe essere specifico del toolkit, del runtime o dell'implementazione di quell'applicazione. Ad esempio, alcune applicazioni GTK 4 utilizzano libadwaita, che segue intenzionalmente le convenzioni di progettazione di GNOME e non supporta temi GTK arbitrari nello stesso modo in cui lo facevano le vecchie applicazioni GTK 3. Anche le estensioni Flatpak per GTK 3 non modificano lo stile di un'applicazione Qt.

Quando un'app utilizza un runtime recente ed è presente un'estensione del tema GTK 3, l'impostazione desktop dovrebbe normalmente essere applicata automaticamente. In caso contrario, verifica il runtime dell'app con:

flatpak info APP_ID

Sostituisci APP_IDcon l'ID effettivo dell'app. L'output ti aiuta a identificare il runtime e il ramo da segnalare se contatti il ​​manutentore dell'app. Non dimostra di per sé se l'applicazione rispetta le preferenze del tema GTK.

Soluzioni comuni da evitare

  • Non concedere un accesso esteso al filesystem dell'host come prima soluzione. La documentazione di Flatpak avverte che esporre i file del tema dell'host può indebolire la sandbox e ridurre la portabilità. È preferibile un'estensione del tema mantenuta e un'integrazione desktop funzionante.
  • Non dare per scontato che l'installazione di un tema tramite APT lo installi all'interno di ogni Flatpak. APT cambia l'host. Il runtime di Flatpak necessita comunque di un'estensione compatibile o di un percorso di impostazioni supportato.
  • Non bisogna confondere la modalità scura con un tema GTK. La preferenza per la combinazione di colori del desktop e un tema GTK completo sono impostazioni correlate ma distinte. L'applicazione e il suo runtime devono supportare la preferenza corrispondente.
  • Non ripristinare tutte le impostazioni di GNOME né eliminare le cartelle dei temi. Tali operazioni potrebbero rimuovere preferenze non correlate e non installare l'estensione Flatpak mancante.
  • Non utilizzare le sovrascritture delle variabili d'ambiente come soluzione universale. Una sovrascrittura può variare a seconda del toolkit e dell'applicazione e potrebbe nascondere l'effettiva mancanza dell'estensione o il problema del portale.

Verifica il risultato

Dopo aver aggiornato o installato l'estensione corrispondente e riavviato la sessione o l'app, verifica tre cose: l'host segnala ancora il nome del tema GTK previsto; l'estensione del tema pertinente appare nelle applicazioni Flatpak installate; e i controlli GTK dell'app interessata ora seguono l'aspetto previsto. Puoi elencare i Flatpak installati con:

flatpak list --app

Se il tema host è corretto, l'estensione non è disponibile per l'esecuzione dell'app e solo un'applicazione presenta differenze visive, la limitazione potrebbe essere specifica dell'app piuttosto che un tema Ubuntu difettoso. Quando si invia una segnalazione, includere l'ID dell'app Flatpak, il ramo di runtime, il tipo di sessione, il nome del tema e lo stato del pacchetto del portale pertinente. Questo fornisce ai manutentori i dettagli necessari per distinguere un problema di pacchettizzazione da un problema di impostazioni del desktop.

Riferimenti ufficiali

Lascia un commento

Risolvere il problema delle app Flatpak che non rispettano i temi GTK in Ubuntu 24.04

Risolvere il problema delle app Flatpak che non rispettano i temi GTK in Ubuntu 24.04

Scopri perché le app Flatpak potrebbero ignorare i temi GTK di Ubuntu 24.04 e segui i passaggi sicuri per verificare le estensioni dei temi, aggiornare le app Flatpak e diagnosticare i problemi del portale.

Come installare Ubuntu 24.04 e Windows 11 in dual boot con BitLocker abilitato

Come installare Ubuntu 24.04 e Windows 11 in dual boot con BitLocker abilitato

Installa Ubuntu 24.04 in parallelo a Windows 11 con BitLocker in tutta sicurezza. Confronta i percorsi delle unità separate e condivise, le chiavi di ripristino, il partizionamento e i controlli di avvio.

Come risolvere il problema del mancato caricamento dei driver Nvidia dopo un aggiornamento del kernel su Ubuntu

Come risolvere il problema del mancato caricamento dei driver Nvidia dopo un aggiornamento del kernel su Ubuntu

Diagnosticare gli errori dei driver NVIDIA dopo un aggiornamento del kernel di Ubuntu. Verificare DKMS e Secure Boot, ricompilare il modulo corrispondente, registrare un MOK e verificare la correzione.

Come risolvere il problema della disconnessione Wi-Fi dopo la sospensione su Ubuntu 24.04

Come risolvere il problema della disconnessione Wi-Fi dopo la sospensione su Ubuntu 24.04

Risolvi i problemi di disconnessione Wi-Fi di Ubuntu 24.04 dopo la sospensione verificando NetworkManager, i blocchi radio, gli aggiornamenti, il risparmio energetico e i driver, quindi verifica ogni riattivazione.

Risolvere l'elevato utilizzo della CPU da parte di Tracker-Miner-3 in Ubuntu GNOME

Risolvere l'elevato utilizzo della CPU da parte di Tracker-Miner-3 in Ubuntu GNOME

Scopri perché tracker-miner-fs-3 utilizza un elevato consumo di CPU in Ubuntu GNOME e come verificare l'indicizzazione, escludere cartelle, aggiornare Ubuntu o ricostruire in modo sicuro l'indice di ricerca.

Risolvere il problema "Nessun dispositivo di avvio trovato" dopo l'installazione di Debian su UEFI

Risolvere il problema "Nessun dispositivo di avvio trovato" dopo l'installazione di Debian su UEFI

Risolvi l'errore di avvio UEFI di Debian controllando la modalità di avvio, la partizione di sistema EFI, i file di GRUB e l'ordine di avvio del firmware, senza dover prima reinstallare Debian.

Risoluzione del problema di assenza di segnale della scheda di acquisizione di Windows 11 a 60 FPS

Risoluzione del problema di assenza di segnale della scheda di acquisizione di Windows 11 a 60 FPS

Problemi con la scheda di acquisizione di Windows 11: nessun segnale a 60 FPS? Scopri soluzioni comprovate per ripristinare streaming e acquisizione di gameplay fluidi. Soluzioni passo passo per prestazioni impeccabili.

Risoluzione Il disco selezionato è dello stile di partizione GPT

Risoluzione Il disco selezionato è dello stile di partizione GPT

Hai problemi con l'errore "Il disco selezionato è di tipo GPT" durante l'installazione di Windows? Scopri soluzioni comprovate per convertire il tuo disco da GPT a MBR senza perdita di dati e tornare a installare senza problemi. Guida passo passo per principianti.

Come risolvere il problema della sovrapposizione delle icone nella barra delle applicazioni di Windows 11

Come risolvere il problema della sovrapposizione delle icone nella barra delle applicazioni di Windows 11

Hai problemi con le icone sovrapposte nella barra delle applicazioni di Windows 11? Scopri soluzioni comprovate e dettagliate per ripristinare una barra delle applicazioni pulita. Soluzioni rapide per un multitasking più fluido e senza frustrazioni.

Risoluzione dei problemi di ritardo nei giochi VBS e HVCI di Windows 11

Risoluzione dei problemi di ritardo nei giochi VBS e HVCI di Windows 11

Problemi di lag durante il gioco su Windows 11 dovuti a VBS e HVCI? Questa guida completa spiega cosa sono, perché causano stuttering e fornisce una risoluzione dettagliata per aumentare gli FPS senza compromettere la sicurezza. Torna a giocare senza interruzioni oggi stesso!