Menu Chiudi

Snap vs Flatpak? AppImage

Non me ne vogliate, non ho proprio alcuna intenzione di fare un confronto Snap vs Flatpak: la mia preferenza sarebbe sempre per AppImage come se fosse antani.

E però indovinate quale sistema uso attualmente? Forse la mia scelta non è poi così scontata…

Questa è una storia che inizia fin da prima che un confronto Snap vs Flatpak fosse perfino concepito nelle menti febbricitanti di agitatori di masse stipendiati da Canonical o Red Hat1. Sono anni che il concetto di AppImage è una realtà già ben definita, basata su un’idea semplice e immediata. 1 app = 1 file. Idea che a sua volta si inserisce in una storia ancora più lunga e che chiama in causa financo tapioco di NeXTSTEP.

Ricordate quando scrissi di “Appimage, figlio di Appdir, della tribù di ROX, AppBundle e Klik (par)“? Era il 2010 e vorrei stringermi la mano perché la penso u-gua-le2. Rileggete quell’articolo perché sì :)

La situazione dieci anni dopo

Non è cambiato nulla, anzi sì: se possibile la situazione si è ulteriormente incasinata. Dieci anni fa come contraltare a AppImage avevamo un classico apt vs rpm3, adesso oltre a quelli sono spuntati ulteriori progetti paralleli che sprecano investono risorse nel tentativo di sprecare risorse offrire una migliore esperienza all’utente.

NAME   MAJ:MIN  RM    SIZE  RO TYPE MOUNTPOINT 
loop0    7:0     0   14.5M   1 loop /snap/gnome-logs/37 
loop1    7:1     0    2.3M   1 loop /snap/gnome-calculator/170 
loop2    7:2     0   86.6M   1 loop /snap/core/4486 
loop3    7:3     0   86.6M   1 loop /snap/core/4650 
loop4    7:4     0    1.6M   1 loop /snap/gnome-calculator/154 
loop5    7:5     0   14.5M   1 loop /snap/gnome-logs/34 
loop6    7:6     0    3.3M   1 loop /snap/gnome-system-monitor/36 
loop7    7:7     0    2.3M   1 loop /snap/gnome-calculator/178 
loop8    7:8     0     13M   1 loop /snap/gnome-characters/101 
loop9    7:9     0    3.7M   1 loop /snap/gnome-system-monitor/45 
loop10   7:10    0  139.5M   1 loop /snap/gnome-3-26-1604/64 
loop11   7:11    0    140M   1 loop /snap/gnome-3-26-1604/59 
loop12   7:12    0    3.7M   1 loop /snap/gnome-system-monitor/41 
loop13   7:13    0     21M   1 loop /snap/gnome-logs/25 
loop14   7:14    0   12.2M   1 loop /snap/gnome-characters/69 
loop15   7:15    0     13M   1 loop /snap/gnome-characters/96 

Un tipico esempio di snap usato per applicazioni di “sistema”. No no no

Canonical-Ubuntu ha creato questo mostro chiamato Snap che dilaga come il Nulla (cit par pop) e oltre alla mia pazienza sta divorando tutto il mio spazio su disco. RedHat-Fedora e i desktop liberi (leggi: GNOME) blindano invece verso Flatpak, che anche io preferisco alla soluzione di Canonical ma che non risolve il problema di fondo, ossia il doppio scappellamento a destra di risorse, comunità e supporto.

Snap vs Flatpak?

Nah non ci casco, non lo faccio il confronto! Semmai direi che entrambi hanno degli elementi che sulla carta sono apprezzabilissimi:

  • Sandbox per aumentare la sicurezza
  • Permessi in stile sistemi operativi mobili

Ma anche delle limitazioni:

  • Snap in particolare, ma entrambi usano in proporzione MOLTO più spazio disco del necessario, dal momento che includono molte delle stesse dipendenze all’interno di vari pacchetti, causando una ripetizione che se siete un minimo ossessivo-compulsivi vi farà torcere le budella
  • Snap in particolare ha un supporto fragile ai temi utente, a seconda dell’applicazione e del contesto vi potete ritrovare con un’app che non ha nessun tema e voi vi ritroverete in un attimo negli anni ’90

Visto che questo non è un confronto, ognuno si senta libero di aggiungere i suoi “vari e eventuali”.

AppImage!

Di recente ho registrato il mio desktop per dimostrare l’uso di Fusuma in “Gestire i… Gesti Touchpad in Linux” e ho recuperato Kdenlive per montare il mini-video. Indovinate come?

Mi è bastato scaricare l’AppImage di Kdenlive (circa 240 MB) dal sito ufficiale e avviarla, risparmiandomi l’installazione di tre quarti di KDE senza considerare neanche sarchiapone e librerie varie. Nella stessa semplice maniera ho poi cestinato Kdenlive, visto che lo spazio sul mio ssd esterno adibito a Ubuntu non abbonda. Fine.

Non mi dilungo oltre sulla bontà di AppImage perché rischio di passare per fanatico, mentre in realtà non è una soluzione che consiglierei a prescindere. Ad esempio, ci sono alcune aree in cui è ancora indietro:

Integrazione di AppImage con l’ambiente desktop

Dal momento che viene snobbato da tutti, i freedesktop ignorano per la maggior parte cosa sia un file .appimage. Ecco le principali rogne che ne derivano:

  • Per avviare un’AppImage, bisogna prima rendere il file eseguibile. Piccolissima noia che appunto essendo piccolissima non dovrebbe esistere
  • I file delle AppImage vengono visualizzate nel file manager con un’icona di file generico e non quella dell’applicazione
  • I file delle AppImage non sono gestiti e non ne viene incoraggiato lo spostamento in una directory “Applicazioni” o simile (come invece avviene su Mac)

La buona notizia è che tutto ciò viene risolto installando AppImage Launcher. L’applicazione si offre di spostare automaticamente le AppImage nella directory “Applicazioni”, rendere i file eseguibili e visualizzarne l’icona appropriata (che è inserita all’interno del file AppImage, come da specifica) e infine farsi carico che l’applicazione appaia all’interno della lista di app del menu/launcher che usate.

Carino, no?

Non esiste uno AppImage store, o quasi

Una delle idee alla base dell’immediatezza di AppImage è che sono gli sviluppatori stessi a impacchettare e rilasciare le loro applicazioni, nessuna collezione centralizzata o repository, eccetera. Questo in qualche modo si traduce nel fatto che non esiste un vero sistema per presentare all’utente le AppImage in una maniera funzionale e ordinata.

In realtà potrebbe benissimo esistere un sistema a disposizione degli sviluppatori per registrare la nuova disponibilità di una AppImage su un registro pubblico. Lo stesso sistema potrebbe anche essere utilizzato per pubblicare nuovi rilasci. Si tratta di disponibilità di risorse.

Ci sono alcune listone più o meno ben mantenute, ad esempio questa o questa, ma sarebbe ottimo avere un’app dedicata. Al momento ci sono alcuni tentativi di “store” disponibili:

  • NX Software Center a parte richiedere un hack per essere riavviato (LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0), non mi carica alcuna lista.
  • App Outlet si avvia e carica elenchi di applicazioni per categoria. Supporta Snap, Flatpak e AppImage, in quella che a prima vista sembra un wrapper HTML. Non ne sono esattamente entusiasta ma ok.
  • Pling Store è un deposito di app, temi, icone ecc non specificamente disegnato per AppImage ma che ne supporta il formato. Anche questo sembra un wrapper HTML da ben 100MB

La soluzione ideale sarebbe un’estensione a GNOME Software (non conosco la situazione dal lato KDE) nella stessa guisa di quelle esistenti per Flatpak o Snap. Sembra che la pensassero così anche gli sviluppatori di AppImage, o almeno che la pensassero così fino a circa due anni fa, che è la data a quando risale l’ultima attività nello sviluppo di “GS Plugin AppImage“.

Aggiornamento delle AppImage installate

AppImage Launcher dovrebbe occuparsi di gestire gli aggiornamenti delle AppImage, con un comodissimo menu contestuale a cui si accede cliccando con il pulsante destro del mouse su ogni singola AppImage che abbiamo installato.

Ok non è comodissimo, anzi è proprio una soluzione inutilizzabile, dunque mi sono sentito sollevato quando mi sono reso conto che comunque non funziona.

Cosa c’è in un nome…

Lo so, sono il solito frivolo, ma tipo io sono stato folgorato quel giorno in cui mi sono reso conto che il nome Apple contiene la parola App.

La mia scelta

Beh come immaginate, la mia scelta pende verso AppImage, giusto? Beh… nì.

AppImage sarebbe la mia scelta ideale se non fosse per la mancanza di supporto a livello enterprise e free desktop. Dunque con uno stiloso salto carpiato arrivo a preferire Flatpak nonostante tutto.

Tutto ciò si traduce nel fatto che al momento uso tre differenti sistemi: Apt per gli aggiornamenti di sistema, Flatpak quando voglio installare applicazioni opzionali ma in qualche modo integrate nel sistema, AppImage quando non voglio installare montagne di pacchetti di librerie e preferisco un unico file che poi posso semplicemente eliminare.

Dunque mi faccio volentieri un giro con tutti tranne che con Snap! Ehi, certo che di questi tempi4 sembra che tutto quello che tocchi Canonical si trasformi in… una giustificazione per aver scelto il marrone come colore primario! Scherzi a parte, dopo aver abbandonato Unity, che pure ritengo la cosa migliore che avessero fatto (cfr “420 cose da fare appena installata Ubuntu 20.04“), mi augurerei di vedere una transizione da Snap a Flatpak.

A me però, prematurata piace sempre AppImage.

Note all'articolo

  1. Si scherza []
  2. Ok… la parafrasi di Aldo Giovanni e Giacomo magari mostra un po’ il peso degli anni, il minimo che posso fare è calcare la mano rifacendomi direttamente al Maestro! []
  3. Per citare solo i due maggiori []
  4. Ossia dal 2010 a oggi []

10 commenti

  1. Bl@ster

    C’è stato un tempo in cui spingevo per Flatpak a morire, ma in questo frangente specifico mi sento come gli amanti del Betamax o di Gopher quando HTTP era in fasce :-)))

    Purtroppo quando parliamo di Linux consumer Ubuntu la fa un po’ da padrona, Canonical con essa, e sebbene io sia contentissimo della migrazione a GNOME Shell a discapito di Unity mi sa che in questo caso Flatpak non la spunterà

      • Bl@ster

        Nel senso che per il più delle volte mi sono arreso, si. Alla fine è la soluzione che Ubuntu porta con sé di default e ci sono siti tipo omgubuntu che spesso ti piazzano alla fine di un articolo “un comodo snippet da copiare e incollare” che comprende l’uso di Snap.

        Me so’ imborghesito Felì :-(

  2. Nino

    Non ci credo che sei tornato, ho sempre di tanto in tanto dato un’occhiata e finalmente eccoti! Ti ho anche chiamato una volta e abbiamo parlato non so se ti ricordi: sei venuto in italia per un breve periodo e’ hai pubblicato il tuo numero crdo su FB. io sono il calabrese. scusa per l’OT

  3. zidagar

    Ho quasi completato di scrivere un’app al volo per un cliente e indovina in cosa la rilascerò? Un bellissimo AppImage e un exe portable, fine. Meno sbatti e via.

  4. Pingback:GNOME OS ORA PRO NOBIS - pollycoke :)

Rispondi

%d blogger hanno fatto clic su Mi Piace per questo:
Vai alla barra degli strumenti