Cum să utilizați AppImages pe Linux

Publicat: 2022-09-27
Laptop pe un fundal albastru care arată un prompt de comandă Linux.
fatmawati achmad zaenuri/Shutterstock.com

AppImages le permite dezvoltatorilor Linux să-și împacheteze aplicațiile într-un singur fișier care se instalează pe orice distribuție Linux. Asta simplifică enorm lucrurile. Iată cum să le folosiți și să le integrați pe desktop.

Instalarea software-ului pe Linux

Instalarea software-ului ar trebui să fie simplă și convenabilă. Cât de simplu și cât de convenabil se dovedește a fi se datorează în mare parte managerului de pachete al distribuției tale. Managerii de pachete sunt aplicații software care vă permit să descărcați alte programe Linux și să le instalați.

Distribuțiile Linux derivate tind să folosească managerii de pachete ai distribuției lor părinte. De exemplu, multe variante și derivate Debian folosesc apt , distribuțiile RedHat și Fedora folosesc dnf , iar familia de distribuții Arch utilizează pacman . Deci, din fericire, nu există atât de mulți manageri de pachete cât există distribuții.

Chiar și așa, din punctul de vedere al unui dezvoltator, susținerea tuturor formatelor diferite de pachet înseamnă împachetarea aplicației într-un fișier DEB pentru familia Debian, într-un RPM pentru familia RedHat și așa mai departe. Asta înseamnă o mulțime de cheltuieli suplimentare.

De asemenea, înseamnă că dacă nici dezvoltatorii, nici altcineva nu a creat un pachet de instalare pentru distribuția dvs., nu puteți instala acel software. Cel puțin, nu nativ.

Cum să convertiți pachetele de instalare Linux în alte formate
LEGATE Cum să convertiți pachetele de instalare Linux în alte formate

Este posibil să puteți transfera un pachet dintr-o distribuție diferită pe computer, dar aceasta nu este o metodă fără riscuri și nici nu este garantat că funcționează. Dacă știți ce faceți, puteți descărca codul sursă și puteți construi aplicația pe computer, dar este departe de a fi simplu și convenabil.

Proiecte precum Snap și Flatpak au fost concepute pentru a depăși problema ambalării aplicațiilor pentru fiecare distribuție. Dacă puteți împacheta un pachet într-un singur fișier, astfel încât să vină la pachet cu bibliotecile corespunzătoare și orice alte dependențe pe care le are, astfel încât să nu solicite (practic) sistemul de operare gazdă, ar trebui să poată rula pe orice distributie.

Proiectul AppImage este doar o astfel de inițiativă. AppImage este numele proiectului, iar AppImages este numele aplicațiilor împachetate.

Cum funcționează AppImages

Fișierele AppImage nu sunt instalate în sensul tradițional. Fișierele componente care alcătuiesc pachetul de aplicație sunt toate conținute într-un singur fișier. Ele nu sunt despachetate și stocate în directoare diferite din sistemul de fișiere.

O aplicație instalată de managerul dumneavoastră de pachete va avea executabilul copiat în directorul corespunzător „/bin”, paginile sale de man vor fi stocate în directorul „/usr/share/man” și așa mai departe. Acest pas de despachetare și copiere nu se întâmplă cu AppImages.

Există un sistem de fișiere în interiorul unui AppImage, de obicei un sistem de fișiere squashFS. Fișierele necesare pentru a rula aplicația sunt stocate în acest sistem de fișiere, nu în sistemul de fișiere principal al instalării dvs. Linux. Când AppImage este executat, lansează unul dintre programele sale de ajutor interne care montează sistemul de fișiere squashFS în „/tmp/mount”, astfel încât să fie accesibil din sistemul de fișiere principal. Apoi lansează aplicația în sine.

Acesta este motivul pentru care lansarea aplicațiilor din Snaps, Flatpaks și AppImages este puțin mai lentă decât rularea unei aplicații obișnuite. Pentru ca toate acestea să funcționeze, sistemul de fișiere gazdă trebuie să aibă instalat ceva numit „sistem de fișiere în spațiul utilizatorului”. Aceasta este singura dependență pe care AppImages o plasează pe gazdă. FUSE este de obicei preinstalat pe distribuțiile Linux moderne.

Folosind un fișier AppImage

Primul lucru pe care trebuie să-l faceți este să descărcați AppImage pentru aplicația dorită. Acestea nu vor fi în depozitul distribuției dvs. De obicei, le găsiți pe site-ul web al aplicației în sine.

Vom descărca și folosi FreeCAD, un pachet de proiectare 3D cu sursă deschisă asistată de computer. Navigați la pagina de descărcare FreeCAD și faceți clic pe butonul „64-bit AppImage”.

Pagina de descărcare FreeCAD

După ce a fost descărcat, localizați fișierul într-o fereastră de terminal. Dacă nu ați modificat setările implicite ale browserului dvs. web, acesta va fi probabil în directorul dvs. „Descărcări”. Trebuie să facem AppImage executabil. Vom folosi comanda chmod pentru a adăuga permisiunea -x (executable).

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

făcând executabil AppImage folosind comanda chmod

Ne-am descărcat fișierul și l-am făcut executabil. Pentru a-l executa, îl putem numi pe nume.

 ./FreeCAD-0.20.0-Linux-x86_64.AppImage 

Lansarea fișierului AppImage

Asta e tot ce am avut de făcut pe Fedora și Manjaro. Pe Ubuntu 22.04, a trebuit să instalăm un fișier de bibliotecă. FUSE este deja instalat pe Ubuntu 22.04, dar este o versiune mai recentă decât cea folosită de majoritatea AppImages. Instalarea fișierului bibliotecă nu afectează versiunea instalată de FUSE.

 sudo apt install libfuse2 

Instalarea fișierului de bibliotecă libfuse2

Asta a rezolvat problema imediat și am putut lansa AppImages fără probleme pe Ubuntu Jammy Jellyfish 22.04.

Aplicația freeCAD care rulează dintr-o AppImage

Toate acestea sunt grozave. Dar dacă vrei să iei prăjitura și să-l mănânci? Imaginați-vă dacă ar exista o modalitate de a utiliza AppImages care nu ar necesita să le lansați dintr-o fereastră de terminal. Ar fi mult mai convenabil să poți lansa aplicații AppImage la fel ca aplicațiile obișnuite, native.

Există o contradicție evidentă aici: scopul AppImages este că nu se instalează în sensul tradițional, inclusiv că nu se integrează în desktop-ul tău. Dar este posibil totuși cu AppImageLauncher.

AppImageLauncher

AppImageLauncher monitorizează un director nominalizat. Scanează directorul, căutând fișiere AppImage. Pentru fiecare pe care îl găsește, extrage pictograma aplicației (dacă există) și integrează AppImage în desktop, ca o aplicație obișnuită.

Acest lucru se repetă pentru fiecare nouă AppImage care este adăugată în director. Când detectează că un AppImage a fost șters, elimină integrarea. Deci, doar prin aruncarea fișierelor AppImage descărcate în directorul monitorizat, acestea sunt integrate în mediul desktop.

Dacă utilizați Ubuntu sau Fedora, accesați pagina de descărcare AppImageLauncher și faceți clic pe link-ul „Assets” din secțiunea „Release Build (Latest)”.

Faceți clic pe linkul „appimagelauncher-XXX.x86_64.rpm” pentru Fedora sau pe fișierul „appimagelauncher_XXX.bionic_arm64.deb” pentru Ubuntu. „XXX” reprezintă numărul versiunii software-ului.

Legăturile de descărcare RPM și DEB AppImageLauncher

Rețineți că există link-uri pentru AppImageLauncher Lite și pentru AppImageLauncher. Utilizați linkurile AppImageLauncher.

Navigați la fișierul descărcat și faceți dublu clic pe el pentru a începe instalarea. Pe GNOME, aceasta va porni aplicația „Software”.

Fișierul AppImageLauncher DEB a fost deschis în programul Ubuntu Software

Pe Manjaro, puteți instala AppImageLauncher cu această comandă:

 sudo pacman -S appimagelauncher 

Instalarea AppImageLauncher pe Manjaro

Puteți lansa AppImageLauncher apăsând tasta „Super”. Pe majoritatea tastaturilor, este situat între tastele „Ctrl” și „Alt” din partea stângă. Tastați „appim” în bara de căutare.

Va apărea pictograma AppImageLauncher. Faceți clic pe el pentru a lansa aplicația.

Ecranul principal AppImageLauncher

Există o mică configurație de făcut. Trebuie să spunem AppImageLauncher ce director dorim să monitorizeze. Faceți clic pe pictograma „folder” și navigați la directorul în care stocați de obicei AppImages. Am selectat directorul nostru „Descărcări”. Puteți alege un subdirector dacă doriți, poate „/Descărcări/aplicații”.

Aplicația AppImageLauncher cu /home/dave/Downloads setat ca director monitorizat

Dacă doriți ca AppImageLauncher să ofere mutarea AppImages pe care le găsește în alte directoare în directorul dvs. monitorizat, asigurați-vă că este bifată caseta de selectare „Întrebați dacă să mutați fișierele AppImage în directorul de aplicații”. Dar dacă AppImageLauncher monitorizează doar un singur director, cum va găsi AppImages în altă parte?

Răspunsul la aceasta se află în fila „appimagelauncherd”. Faceți clic pe fila „appimagelauncherd” și veți vedea că este posibil ca AppImage să monitorizeze mai mult de un director.

Fila appimagelauncherd a aplicației AppImageLauncher

Faceți clic pe pictograma verde „Plus” pentru a adăuga mai multe directoare. Asigurați-vă că este bifată caseta de selectare „Auto Start Auto-Integration Daemon”. Faceți clic pe butonul „OK” când ați făcut selecțiile.

Așteptați câteva minute, apoi apăsați tasta „Super” și introduceți prima parte a numelui unei AppImage care se află în directorul monitorizat. În cazul nostru, avem doar unul.

De îndată ce tastați „gratuit”, ar trebui să vedeți o pictogramă pentru FreeCAD. Făcând clic pe el, se lansează aplicația. Dacă fișierul AppImage nu conține o pictogramă, se folosește o pictogramă generică cu roată dințată, ceea ce a fost cazul cu FreeCAD.

Pentru a testa lucrurile în continuare, am descărcat fișierul AppImage pentru aplicația Subsurface. Am așteptat aproximativ 30 de secunde pentru a ne asigura că a fost descoperit și integrat, apoi am apăsat tasta „Super”, am tastat „sub” și a apărut pictograma aplicației. De data aceasta, pictograma autentică pentru aplicație fusese găsită și folosită.

Făcând clic pe pictogramă, a fost lansată aplicația. Nici măcar nu a fost nevoie să folosim chmod pentru a face AppImage executabil.

Aplicația Subsurface rulează dintr-o AppImage

O altă atingere plăcută este că făcând clic dreapta pe pictogramă vă permite să ștergeți AppImage chiar din meniul contextual.

Meniul contextual Subsurface

Există, de asemenea, o opțiune de fixare a pictogramei în lansatorul dvs., făcând utilizarea AppImages la fel de convenabilă ca aplicațiile native.

AppImages sunt în creștere

Pe mașinile noastre de testare, aplicațiile lansate din AppImages s-au încărcat puțin mai repede decât aplicațiile Flatpak și mult mai rapid decât aplicațiile Snap. Cu AppImages nu există un cadru de bază care să fie instalat, așa că, în afară de spațiul necesar pentru aplicațiile în sine, amprenta pe hard disk a utilizării AppImages este zero.

Aplicația opțională AppImageLauncher adaugă câteva note de finețe, dar puteți folosi AppImages fără ea.

Tot mai multe aplicații oferă AppImages. Dacă încercați să instalați ceva care nu pare să fie în depozitele distribuției dvs., consultați site-ul web al aplicației. S-ar putea să aibă un AppImage.

RELATE: apt vs. apt-get: Care este diferența pe Linux?