Una guida completa per liberare il tuo sistema dal demone snapd, reinstallare Firefox e Thunderbird come pacchetti nativi, sistemare AppArmor — e risolvere i problemi che inevitabilmente salteranno fuori.

Premessa: perché ho fatto questa scelta
Uso Linux da circa dieci anni, ma solo di recente l’ho reso il mio sistema operativo principale. Ubuntu 24.04 Noble Numbat è un’ottima distribuzione, ma c’è una cosa che proprio non mi va giù: Snap.
Non fraintendetemi, l’idea alla base di Snap non è stupida — applicazioni containerizzate, aggiornamenti automatici, isolamento. Sulla carta funziona. Nella pratica? Firefox che ci mette 15 secondi ad aprirsi e che non riesce a comunicare con KeePassXC (cosa per altro ben in chiaro sul sito di keepassxc) per l’autocompletamento delle password. Applicazioni che vivono in bolle isolate e non possono parlare tra loro.
Il problema fondamentale è filosofico: Linux è sempre stato tessuto connettivo, software che collabora, che si parla, che si integra. Snap trasforma tutto in isole separate. E io preferisco un arcipelago collegato da ponti a un oceano di monadi isolate.
Quindi ho deciso: via Snap, dentro i pacchetti .deb nativi. E già che c’ero, ho fatto pulizia completa — incluso AppArmor, che dopo anni di installazioni e disinstallazioni di pacchetti snap aveva accumulato profili orfani e configurazioni obsolete.
Spoiler: reinstallare AppArmor mi ha rotto Bottles (e tutte le app Flatpak). Ma l’ho risolto, e vi racconto anche quello.
AppArmor è un capolavoro di sicurezza e, a mio avviso, va reinstallato assolutamente.
Fase 1: Rimozione di Snap
1.1 Verifica cosa c’è installato
Prima di demolire, vediamo cosa abbiamo:
snap list
Su un’installazione tipica di Ubuntu 24.04 troverai almeno:
bare(runtime base)core22(librerie di sistema)firefoxfirmware-updater(ofwupd)gnome-*(vari componenti GNOME)snap-storesnapd-desktop-integrationthunderbird(se installato)
1.2 Rimuovi i pacchetti snap in ordine
L’ordine conta! Devi rimuovere prima le applicazioni, poi i runtime, poi i core:
# Prima le applicazioni
sudo snap remove --purge firefox
sudo snap remove --purge thunderbird
sudo snap remove --purge snap-store
sudo snap remove --purge firmware-updater
# Poi i componenti GNOME (se presenti)
sudo snap remove --purge gnome-42-2204
sudo snap remove --purge gtk-common-themes
sudo snap remove --purge snapd-desktop-integration
# Poi i runtime base
sudo snap remove --purge bare
sudo snap remove --purge core22
# Infine il demone stesso
sudo apt purge snapd
1.3 Pulizia delle directory residue
Snap lascia sempre qualcosa dietro. Puliamo:
# Directory di sistema
sudo rm -rf /snap
sudo rm -rf /var/snap
sudo rm -rf /var/lib/snapd
sudo rm -rf /var/cache/snapd
# Directory utente
rm -rf ~/snap
1.4 Blocca la reinstallazione automatica di Snap
Ubuntu è furbo e proverà a reinstallare snapd appena installi certi pacchetti. Blocchiamolo in due modi:
# Metodo 1: hold sul pacchetto
sudo apt-mark hold snapd
# Metodo 2: priorità APT negativa (cintura e bretelle)
echo -e "Package: snapd\nPin: release *\nPin-Priority: -10" | sudo tee /etc/apt/preferences.d/no-snap
Fase 2: Rimozione e reinstallazione di AppArmor
Qui viene il bello. Dopo anni di installazioni snap, AppArmor aveva accumulato profili orfani e configurazioni che potevano creare conflitti. La soluzione più pulita è fare tabula rasa.
2.1 Rimuovi AppArmor
sudo apt purge apparmor apparmor-utils
2.2 Reinstalla AppArmor pulito
sudo apt install apparmor apparmor-utils
2.3 Verifica lo stato
sudo aa-status
Dovresti vedere i profili di sistema caricati correttamente. Con la reinstallazione, AppArmor creerà i profili corretti per i binari nativi di Firefox e Thunderbird (non quelli per le versioni snap).
Fase 3: Installazione di Firefox e Thunderbird nativi
Per Ubuntu 24.04 Noble, la soluzione più affidabile è usare il PPA Mozillateam, che fornisce sia Firefox che Thunderbird come pacchetti .deb nativi.
3.1 Aggiungi il PPA Mozillateam
sudo add-apt-repository ppa:mozillateam/ppa
sudo apt update
3.2 Configura le priorità APT
Questo è fondamentale. Ubuntu ha dei pacchetti “transizionali” che fingono di essere Firefox/Thunderbird ma in realtà installano lo snap. Dobbiamo bloccarli e dare priorità al PPA:
# Blocca Firefox da Ubuntu, preferisci Mozillateam
echo -e "Package: firefox*\nPin: release o=Ubuntu*\nPin-Priority: -1" | sudo tee /etc/apt/preferences.d/firefox-no-snap
echo -e "Package: firefox*\nPin: release o=LP-PPA-mozillateam\nPin-Priority: 1001" | sudo tee /etc/apt/preferences.d/mozilla-firefox
# Blocca Thunderbird da Ubuntu, preferisci Mozillateam
echo -e "Package: thunderbird*\nPin: release o=Ubuntu*\nPin-Priority: -1" | sudo tee /etc/apt/preferences.d/mozilla
Cosa fanno questi file:
- Priorità negativa (-1) ai pacchetti Firefox/Thunderbird dai repository Ubuntu (che sono i transitional verso snap)
- Priorità massima (1001) ai pacchetti dal PPA Mozillateam
3.3 Installa Firefox e Thunderbird
sudo apt update
sudo apt install firefox thunderbird
3.4 Verifica l’installazione
which firefox
# Deve restituire: /usr/bin/firefox
which thunderbird
# Deve restituire: /usr/bin/thunderbird
# Verifica che siano binari nativi, non symlink a snap
file $(which firefox)
file $(which thunderbird)
# Devono mostrare: ELF 64-bit LSB pie executable
Fase 4: Il giorno dopo — “Perché Bottles non si apre più?!”
Ecco la parte che le guide online non vi raccontano mai: le conseguenze inaspettate.
Il giorno dopo aver completato tutta la procedura, apro Bottles per lanciare Splashtop (che uso per lavoro). Niente. Non si apre. Riprovo. Niente.
Apro il terminale e provo a lanciarlo manualmente:
flatpak run com.usebottles.bottles
E mi becco questo errore:
bwrap: Creating new namespace failed: Permission denied
error: ldconfig failed, exit status 256
Cosa diavolo è successo?
occhio che qui si scende sul tecnico, ma giuro che, se avete i miei problemi, è entusiasmante.
Il colpevole è proprio la reinstallazione di AppArmor. Quando lo reinstalli, Ubuntu 24.04 ripristina le policy di default — che sono molto più restrittive di quelle delle versioni precedenti.
In particolare, Ubuntu 24.04 blocca di default i unprivileged user namespaces. Tradotto in italiano: non permette alle applicazioni normali (non root) di creare ambienti isolati.
E indovinate cosa usa Flatpak per isolare le applicazioni? Esatto: bubblewrap, che ha bisogno proprio di quei namespace.
Quindi: reinstalli AppArmor → tornano le policy restrittive → bubblewrap non può creare namespace → Flatpak non funziona → Bottles non si apre → tu bestemmi.
La soluzione
Il fix è “semplice”, una volta che sai cosa sta succedendo:
# Crea il file di configurazione sysctl
sudo tee /etc/sysctl.d/99-userns.conf > /dev/null << 'EOF'
kernel.unprivileged_userns_clone=1
kernel.apparmor_restrict_unprivileged_userns=0
EOF
# Applica le modifiche
sudo sysctl --system
Questi due parametri kernel dicono al sistema:
kernel.unprivileged_userns_clone=1— permetti agli utenti normali di creare user namespaceskernel.apparmor_restrict_unprivileged_userns=0— disabilita la restrizione specifica di AppArmor su questa funzionalità
Dopo aver applicato queste modifiche, Bottles (e qualsiasi altra app Flatpak) torna a funzionare immediatamente. Nessun riavvio richiesto.
Nota importante
Questo fix è globale e persistente — vale per tutte le applicazioni Flatpak e sopravvive ai riavvii. L’unico caso in cui dovrai ripeterlo è se:
- Reinstalli AppArmor
- Fai un reset delle impostazioni di sistema
- Qualche aggiornamento sovrascrive il file
Quindi salvatevi queste due righe da qualche parte. Vi serviranno.
Fase 5: Verifica finale
Facciamo un check completo per assicurarci che tutto sia a posto:
# Verifica che snapd sia bloccato
apt-mark showhold | grep snapd
# Deve restituire: snapd
# Verifica che non ci siano directory snap residue
ls -la /snap 2>/dev/null || echo "OK: /snap non esiste"
ls -la ~/snap 2>/dev/null || echo "OK: ~/snap non esiste"
# Verifica Firefox e Thunderbird
file $(which firefox)
file $(which thunderbird)
# Devono mostrare: ELF 64-bit LSB pie executable (non symlink a snap)
# Verifica AppArmor
sudo aa-status | head -10
# Verifica che i parametri kernel siano attivi
cat /etc/sysctl.d/99-userns.conf
sysctl kernel.unprivileged_userns_clone
sysctl kernel.apparmor_restrict_unprivileged_userns
# Devono restituire rispettivamente 1 e 0
# Verifica che Flatpak funzioni
flatpak run com.usebottles.bottles --help 2>/dev/null && echo "OK: Bottles funziona"
Conclusioni
Dopo questa procedura avrai:
- Zero componenti Snap sul sistema (e bloccato per sempre)
- Firefox e Thunderbird nativi dal PPA Mozillateam, che si aprono istantaneamente
- AppArmor pulito e funzionante
- Flatpak funzionante grazie ai parametri kernel corretti
- Piena integrazione tra le applicazioni (KeePassXC funziona con Firefox, i file picker funzionano, tutto comunica)
Il sistema è più veloce, più pulito, e soprattutto funziona come Linux dovrebbe funzionare: software che collabora invece di vivere in bolle isolate.
È più lavoro rispetto ad accettare passivamente le scelte di Canonical? Sì. Ma Linux è sempre stato così: libertà di scegliere, a patto di essere disposti a sporcarsi le mani. E francamente, preferisco sporcarmi le mani una volta che aspettare 15 secondi ogni volta che apro il browser.
E se qualcosa si rompe lungo la strada — come Bottles che smette di funzionare dopo aver toccato AppArmor — almeno ora sapete come sistemarlo.
Articolo scritto su Ubuntu 24.04 Noble Numbat, con Firefox nativo che si apre in 3 secondi, e Bottles che finalmente funziona di nuovo.
