Come utilizzare AppImages su Linux

Pubblicato: 2022-09-27
Laptop su sfondo blu che mostra un prompt dei comandi di Linux.
fatmawati achmad zaenuri/Shutterstock.com

AppImages consente agli sviluppatori Linux di racchiudere le loro applicazioni in un unico file che può essere installato su qualsiasi distribuzione Linux. Questo semplifica enormemente le cose. Ecco come usarli e integrarli nel tuo desktop.

Installazione del software su Linux

L'installazione del software dovrebbe essere semplice e conveniente. Quanto semplice e quanto conveniente si riveli dipende in gran parte dal gestore di pacchetti della tua distribuzione. I gestori di pacchetti sono applicazioni software che consentono di scaricare altri programmi Linux e installarli.

Le distribuzioni Linux derivate tendono a utilizzare i gestori di pacchetti della loro distribuzione principale. Ad esempio, le molte varianti e derivati ​​di Debian usano apt , le distribuzioni RedHat e Fedora usano dnf e la famiglia di distribuzioni Arch usa pacman . Quindi, per fortuna, non ci sono tanti gestori di pacchetti quante sono le distribuzioni.

Anche così, dal punto di vista di uno sviluppatore, supportare tutti i diversi formati di pacchetto significa racchiudere la tua applicazione in un file DEB per la famiglia Debian, in un RPM per la famiglia RedHat e così via. Questo è un sacco di sovraccarico aggiuntivo.

Significa anche che se né gli sviluppatori né nessun altro ha creato un pacchetto di installazione per la tua distribuzione, non puoi installare quel software. Almeno, non in modo nativo.

Come convertire i pacchetti di installazione di Linux in altri formati
CORRELATI Come convertire i pacchetti di installazione di Linux in altri formati

Potresti essere in grado di caricare un pacchetto da una distribuzione diversa sul tuo computer, ma non è un metodo privo di rischi né è garantito il funzionamento. Se sai cosa stai facendo, puoi scaricare il codice sorgente e creare l'applicazione sul tuo computer, ma è ben lungi dall'essere semplice e conveniente.

Progetti come Snap e Flatpak sono stati progettati per superare il problema del wrapping delle applicazioni per ogni distribuzione. Se puoi racchiudere un pacchetto in un singolo file in modo che venga fornito in bundle con le librerie appropriate e qualsiasi altra dipendenza che ha, in modo che non faccia (praticamente) richieste al sistema operativo host, dovrebbe essere in grado di funzionare su qualsiasi distribuzione.

Il progetto AppImage è proprio un'iniziativa del genere. AppImage è il nome del progetto e AppImages è il nome delle applicazioni avvolte.

Come funzionano le AppImages

I file AppImage non vengono installati nel senso tradizionale. I file dei componenti che compongono il pacchetto dell'applicazione sono tutti contenuti in un unico file. Non vengono decompressi e archiviati in directory diverse nel file system.

Un'applicazione installata dal tuo gestore di pacchetti avrà il suo eseguibile copiato nella directory "/bin" appropriata, le sue pagine man saranno archiviate nella directory "/usr/share/man" e così via. Quel passaggio di spacchettamento e copia non avviene con AppImages.

C'è un file system all'interno di un'AppImage, di solito un file system squashFS. I file necessari per eseguire l'applicazione sono archiviati all'interno di questo file system, non nel file system principale dell'installazione di Linux. Quando l'AppImage viene eseguita, avvia uno dei suoi programmi di supporto interni che monta il file system squashFS in "/tmp/mount" in modo che sia accessibile dal file system principale. Quindi avvia l'applicazione stessa.

Questo è il motivo per cui l'avvio di applicazioni da Snaps, Flatpaks e AppImages è leggermente più lento rispetto all'esecuzione di un'applicazione normale. Affinché tutto ciò funzioni, il file system host deve avere installato qualcosa chiamato "filesystem nello spazio utente". Questa è l'unica dipendenza che AppImages inserisce nell'host. FUSE è solitamente preinstallato sulle moderne distribuzioni Linux.

Utilizzo di un file AppImage

La prima cosa che devi fare è scaricare l'AppImage per l'applicazione che desideri. Questi non saranno nel repository della tua distribuzione. Di solito, li trovi sul sito Web dell'applicazione stessa.

Scaricheremo e utilizzeremo FreeCAD, un pacchetto di progettazione assistita da computer 3D open source. Passare alla pagina di download di FreeCAD e fare clic sul pulsante "AppImage a 64 bit".

La pagina di download di FreeCAD

Una volta scaricato, individuare il file in una finestra del terminale. A meno che tu non abbia modificato le impostazioni predefinite sul tuo browser web, probabilmente sarà nella tua directory "Download". Dobbiamo rendere eseguibile l'AppImage. Useremo il comando chmod per aggiungere l'autorizzazione -x (eseguibile).

 chmod +x FreeCAD-0.20.0-Linux-x86_64.AppImage 

rendere eseguibile l'AppImage utilizzando il comando chmod

Abbiamo scaricato il nostro file e lo abbiamo reso eseguibile. Per eseguirlo possiamo chiamarlo per nome.

 ./FreeCAD-0.20.0-Linux-x86_64.AppImage 

Avvio del file AppImage

Questo è tutto ciò che dovevamo fare su Fedora e Manjaro. Su Ubuntu 22.04, abbiamo dovuto installare un file di libreria. FUSE è già installato su Ubuntu 22.04, ma è una versione più recente di quella utilizzata dalla maggior parte di AppImages. L'installazione del file della libreria non influisce sulla versione installata di FUSE.

 sudo apt install libfuse2 

Installazione del file della libreria libfuse2

Ciò ha risolto immediatamente il problema e abbiamo potuto avviare AppImages senza problemi su Ubuntu Jammy Jellyfish 22.04.

L'applicazione freeCAD in esecuzione da un'AppImage

Tutto ciò è fantastico. Ma cosa succede se vuoi avere la tua torta e mangiarla? Immagina se ci fosse un modo per utilizzare AppImages che non richiedesse di avviarli da una finestra del terminale. Sarebbe molto più conveniente poter avviare le applicazioni AppImage proprio come le normali applicazioni native.

C'è un'ovvia contraddizione qui: il punto centrale di AppImages è che non si installano da sole nel senso tradizionale, incluso non si integrano nel desktop. Ma è comunque possibile con AppImageLauncher.

AppImage Launcher

AppImageLauncher controlla una directory nominata. Esegue la scansione della directory, alla ricerca di file AppImage. Per ognuno che trova, estrae l'icona dell'applicazione (se presente) e integra l'AppImage nel desktop, come una normale applicazione.

Questa operazione viene ripetuta per ogni nuova AppImage aggiunta alla directory. Quando rileva che un'AppImage è stata eliminata, rimuove l'integrazione. Quindi, semplicemente rilasciando i file AppImage scaricati nella directory monitorata, vengono integrati nel tuo ambiente desktop.

Se stai usando Ubuntu o Fedora, vai alla pagina di download di AppImageLauncher e fai clic sul collegamento "Risorse" nella sezione "Rilascio build (ultima)".

Fare clic sul collegamento "appimagelauncher-XXX.x86_64.rpm" per Fedora o sul file "appimagelauncher_XXX.bionic_arm64.deb" per Ubuntu. La "XXX" rappresenta il numero di versione del software.

I link per il download di AppImageLauncher RPM e DEB

Nota che ci sono collegamenti per AppImageLauncher Lite e per AppImageLauncher. Usa i collegamenti AppImageLauncher.

Passare al file scaricato e fare doppio clic su di esso per avviare l'installazione. Su GNOME, questo avvierà l'applicazione "Software".

Il file DEB di AppImageLauncher è stato aperto nel programma software Ubuntu

Su Manjaro, puoi installare AppImageLauncher con questo comando:

 sudo pacman -S appimage launcher 

Installazione di AppImageLauncher su Manjaro

Puoi avviare AppImageLauncher premendo il tasto "Super". Sulla maggior parte delle tastiere, si trova tra i tasti "Ctrl" e "Alt" della mano sinistra. Digita "appim" nella barra di ricerca.

Apparirà l'icona AppImageLauncher. Fare clic per avviare l'applicazione.

La schermata principale di AppImageLauncher

C'è un po' di configurazione da fare. Dobbiamo dire ad AppImageLauncher quale directory vogliamo che controlli. Fai clic sull'icona della "cartella" e cerca la directory in cui di solito memorizzi le tue AppImages. Abbiamo selezionato la nostra directory "Download". Puoi scegliere una sottodirectory se lo desideri, ad esempio "/Downloads/apps".

L'applicazione AppImageLauncher con /home/dave/Downloads impostata come directory monitorata

Se desideri che AppImageLauncher si offra di spostare AppImages che trova in altre directory nella directory monitorata, assicurati che la casella di controllo "Chiedi se spostare i file AppImage nella directory delle applicazioni" sia selezionata. Ma se AppImageLauncher sta monitorando solo una singola directory, come troverà AppImages altrove?

La risposta si trova nella scheda "appimagelauncherd". Fai clic sulla scheda "appimagelauncherd" e vedrai che è possibile che AppImage monitori più di una directory.

La scheda appimagelaucherd dell'applicazione AppImageLauncher

Fare clic sull'icona verde "Più" per aggiungere più directory. Assicurati che la casella di controllo "Avvia automaticamente il demone di integrazione automatica" sia selezionata. Fare clic sul pulsante "OK" dopo aver effettuato le selezioni.

Attendi qualche minuto, quindi premi il tasto "Super" e digita la prima parte del nome di un'AppImage che si trova nella tua directory monitorata. Nel nostro caso ne abbiamo solo uno.

Non appena digiti "free" dovresti vedere un'icona per FreeCAD. Facendo clic si avvia l'applicazione. Se il file AppImage non contiene un'icona, viene utilizzata un'icona a forma di ruota dentata generica, come nel caso di FreeCAD.

Per testare ulteriormente le cose, abbiamo scaricato il file AppImage per l'applicazione Subsurface. Abbiamo aspettato circa 30 secondi per assicurarci che fosse stato individuato e integrato, quindi abbiamo premuto il tasto "Super", digitato "sub" ed è apparsa l'icona dell'applicazione. Questa volta, l'icona originale per l'applicazione è stata trovata e utilizzata.

Facendo clic sull'icona si avvia l'applicazione. Non abbiamo nemmeno bisogno di usare chmod per rendere eseguibile AppImage.

L'applicazione Subsurface in esecuzione da un'AppImage

Un altro bel tocco è che facendo clic con il pulsante destro del mouse sull'icona puoi eliminare l'AppImage direttamente dal menu di scelta rapida.

Il menu contestuale Sottosuperficie

C'è anche un'opzione per aggiungere l'icona al tuo launcher, rendendo l'utilizzo di AppImages comodo come le applicazioni native.

Le AppImages sono in aumento

Sulle nostre macchine di prova, le applicazioni avviate da AppImages sono state caricate leggermente più velocemente delle applicazioni Flatpak e molto più velocemente delle applicazioni Snap. Con AppImages non è necessario installare un framework sottostante, quindi, a parte lo spazio richiesto per le applicazioni stesse, l'ingombro del disco rigido dell'utilizzo di AppImages è zero.

L'applicazione opzionale AppImageLauncher aggiunge alcuni tocchi di finezza, ma puoi tranquillamente utilizzare AppImages senza di essa.

Sempre più applicazioni offrono AppImages. Se ti ritrovi a provare a installare qualcosa che non sembra essere nei repository della tua distribuzione, controlla il sito Web dell'applicazione. Potrebbero benissimo avere un'AppImage.

CORRELATI: apt vs. apt-get: qual è la differenza su Linux?