Jak korzystać z AppImages w systemie Linux

Jak korzystać z AppImages w systemie Linux

AppImages pozwala programistom Linuksa spakować swoje aplikacje w pojedynczy plik, który instaluje się w dowolnej dystrybucji Linuksa. To znacznie upraszcza rzeczy. Oto jak z nich korzystać i integrować je z pulpitem.

Instalowanie oprogramowania w systemie Linux

Instalacja oprogramowania powinna być prosta i wygodna. To, jak proste i wygodne to się okaże, zależy w dużej mierze od menedżera pakietów w twojej dystrybucji. Menedżery pakietów to aplikacje, które umożliwiają pobieranie i instalowanie innych programów dla systemu Linux.

Pochodne dystrybucje Linuksa zwykle używają menedżerów pakietów swojej dystrybucji nadrzędnej. Na przykład wiele wariantów i pochodnych Debiana używa apt, dystrybucje RedHat i Fedora używają dnf, a rodzina dystrybucji Arch używa pacman. Na szczęście nie ma tylu menedżerów pakietów, ile jest dystrybucji.

Jednak z punktu widzenia programisty, obsługa wszystkich różnych formatów pakietów oznacza umieszczenie aplikacji w pliku DEB z rodziny Debian, RPM z rodziny RedHat i tak dalej. To dużo dodatkowych kosztów.

Oznacza to również, że jeśli ani programiści, ani nikt inny nie stworzył pakietu instalacyjnego dla twojej dystrybucji, nie będziesz mógł zainstalować tego oprogramowania. Przynajmniej nie krewni.

Możesz mieć możliwość pobrania pakietu z innej dystrybucji na swoim komputerze, ale nie jest to bezpieczna metoda i nie ma gwarancji, że zadziała. Jeśli wiesz, co robisz, możesz pobrać kod źródłowy i zbudować aplikację na swoim komputerze, ale nie jest to łatwe i wygodne.

Projekty takie jak Snap i Flatpak zostały opracowane w celu rozwiązania problemu pakowania aplikacji na dystrybucję. Jeśli możesz spakować pakiet do pojedynczego pliku, tak aby był dostarczany w pakiecie z odpowiednimi bibliotekami i wszelkimi innymi zależnościami, które ma, tak aby nie wymagał (praktycznie) systemu operacyjnego hosta, powinien być w stanie działać na dowolnej dystrybucji.

Projekt AppImage jest właśnie taką inicjatywą. AppImage to nazwa projektu, a AppImages to nazwa spakowanych aplikacji.

Jak działają obrazy aplikacji

Pliki AppImage nie są instalowane w tradycyjnym sensie. Pliki składowe tworzące pakiet aplikacji są zawarte w jednym pliku. Nie są rozpakowywane i są przechowywane w różnych katalogach systemu plików.

Plik wykonywalny aplikacji zainstalowanej przez menedżera pakietów zostanie skopiowany do odpowiedniego katalogu „/bin”, jego manstrony zostaną zapisane w katalogu „/usr/share/man” itd. Ten krok rozpakowywania i kopiowania nie występuje z AppImages.

Wewnątrz AppImage znajduje się system plików, zwykle system plików squashFS . Pliki potrzebne do uruchomienia aplikacji są przechowywane w tym systemie plików, a nie w głównym systemie plików instalacji systemu Linux. Po uruchomieniu AppImage uruchamia jeden z wewnętrznych programów pomocniczych, który montuje system plików squashFS w „/tmp/mount”, aby był dostępny z głównego systemu plików. Następnie uruchamia samą aplikację.

Dlatego uruchamianie aplikacji z Snaps, Flatpaks i AppImages jest nieco wolniejsze niż uruchamianie normalnej aplikacji. Aby to wszystko zadziałało, w systemie plików hosta musi być skonfigurowane coś, co nazywa się „systemem plików w przestrzeni użytkownika ” . Jest to jedyna zależność hostów AppImages. FUSE jest zwykle preinstalowany w nowoczesnych dystrybucjach Linuksa.

Korzystanie z pliku AppImage

Pierwszą rzeczą, którą musisz zrobić, to pobrać AppImage dla wybranej aplikacji. Nie będzie ich w repozytorium twojej dystrybucji. Zazwyczaj znajdziesz je na stronie samej aplikacji.

Pobierzemy i użyjemy FreeCAD, pakietu CAD 3D o otwartym kodzie źródłowym. Przejdź do strony pobierania FreeCAD i kliknij przycisk „64-bit AppImage”.

Strona pobierania FreeCAD

Po pobraniu poszukaj pliku w oknie terminala. Jeśli nie zmieniłeś domyślnych ustawień swojej przeglądarki internetowej, prawdopodobnie będzie ona znajdować się w Twoim katalogu Pobrane. Musimy sprawić, by AppImage był wykonywalny. Użyjemy chmodpolecenia, aby dodać uprawnienia -x(wykonywalne).

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

tworzenie wykonywalnego AppImage za pomocą polecenia chmod

Pobraliśmy nasz plik i uczyniliśmy go wykonywalnym. Aby go wykonać, możemy nazwać go po imieniu.

./FreeCAD-0.20.0-Linux-x86_64.AppImage

Uruchamianie pliku AppImage

To wszystko, co musieliśmy zrobić w Fedorze i Manjaro. W Ubuntu 22.04 musieliśmy zainstalować plik biblioteki. FUSE jest już zainstalowany w Ubuntu 22.04, ale jest to nowsza wersja niż większość AppImages. Zainstalowanie pliku biblioteki nie wpływa na zainstalowaną wersję FUSE.

sudo apt install libfuse2

Instalowanie pliku biblioteki libfuse2

To natychmiast naprawiło problem i mogliśmy uruchomić AppImages na Ubuntu Jammy Jellyfish 22.04 bez problemu.

Aplikacja freeCAD działająca z AppImage

Wszystko to jest świetne. Ale co, jeśli chcesz dostać ciastko i je zjeść? Wyobraź sobie, że istnieje sposób na użycie AppImages, który nie wymaga uruchamiania ich z okna terminala. O wiele wygodniej byłoby uruchamiać aplikacje AppImage tak, jak normalne aplikacje natywne.

Istnieje tu oczywista sprzeczność – cały punkt AppImages polega na tym, że nie są instalowane samodzielnie w tradycyjnym sensie, w tym nie są zintegrowane z pulpitem. Niemniej jednak jest to możliwe dzięki AppImageLauncher.

Aplikacja ImageLauncher

AppImageLauncher śledzi przypisany katalog. Skanuje katalog w poszukiwaniu plików AppImage. Dla każdego znalezionego programu wyodrębnia ikonę aplikacji (jeśli istnieje) i integruje AppImage z pulpitem jak normalna aplikacja.

Jest to powtarzane dla każdego nowego AppImage dodanego do katalogu. Gdy wykryje, że AppImage został usunięty, usuwa integrację. Tak więc, po prostu przeciągając i upuszczając pobrane pliki AppImage do monitorowanego katalogu, zintegrują się one ze środowiskiem pulpitu.

Jeśli używasz Ubuntu lub Fedory, przejdź do strony pobierania AppImageLauncher i kliknij łącze Zasoby w sekcji Wersja kompilacji (najnowsza).

Kliknij link „appimagelauncher-XXX.x86_64.rpm” w Fedorze lub plik „appimagelauncher_XXX.bionic_arm64.deb” w przypadku Ubuntu. „XXX” oznacza numer wersji oprogramowania.

Pobierz linki do AppImageLauncher RPM i DEB

Należy pamiętać, że istnieją linki do AppImageLauncherLite i AppImageLauncher. Użyj linków AppImageLauncher.

Przejdź do pobranego pliku i kliknij go dwukrotnie, aby rozpocząć instalację. W GNOME uruchomi to aplikację Software.

Plik AppImageLauncher DEB otwarty w programie Ubuntu Software

W Manjaro możesz zainstalować AppImageLauncher za pomocą tego polecenia:

sudo pacman -S appimagelauncher

Instalowanie AppImageLauncher na Manjaro

Możesz uruchomić AppImageLauncher, naciskając klawisz „Super”. Na większości klawiatur znajduje się między lewym klawiszem „Ctrl” i „Alt”. Wpisz „appim” w pasku wyszukiwania.

Pojawi się ikona AppImageLauncher. Kliknij go, aby uruchomić aplikację.

Główny ekran aplikacji AppImageLauncher

Pozostaje trochę skonfigurować. Musimy powiedzieć AppImageLauncher, który katalog chcemy monitorować. Kliknij ikonę „folderu” i przejdź do katalogu, w którym zwykle przechowujesz swoje AppImages. Wybraliśmy nasz katalog „Pobrane”. Jeśli chcesz, możesz wybrać podkatalog, na przykład „/Pobrane/aplikacje”.

Aplikacja AppImageLauncher z /home/dave/Downloads ustawionym jako monitorowany katalog.

Jeśli chcesz, aby AppImageLauncher wyświetlał monit o przeniesienie obrazów aplikacji znalezionych w innych katalogach do monitorowanego katalogu, upewnij się, że zaznaczone jest pole wyboru „Zapytaj, czy chcę przenieść pliki AppImage do katalogu mojej aplikacji”. Ale jeśli AppImageLauncher ogląda tylko jeden katalog, w jaki sposób znajdzie AppImage gdziekolwiek indziej?

Odpowiedź na to pytanie znajduje się w zakładce „appimagelauncherd”. Kliknij kartę „appimagelauncherd”, a zobaczysz, że AppImage może śledzić więcej niż jeden katalog.

Zakładka appimagelauncherd w aplikacji AppImageLauncher

Kliknij zieloną ikonę Plus, aby dodać więcej katalogów. Upewnij się, że pole wyboru Auto-Integration Daemon Autostart jest zaznaczone. Po dokonaniu wyboru kliknij przycisk „OK”.

Poczekaj kilka minut, a następnie naciśnij klawisz Super i wpisz pierwszą część nazwy AppImage znajdującego się w monitorowanym katalogu. W naszym przypadku mamy tylko jeden.

Po wpisaniu „darmowy” powinieneś zobaczyć ikonę FreeCAD. Kliknięcie go uruchomi aplikację. Jeśli plik AppImage nie zawiera ikony, używana jest ogólna ikona koła zębatego, tak jak w przypadku FreeCAD.

Do dalszych testów przesłaliśmy plik AppImage dla aplikacji Subsurface . Odczekaliśmy około 30 sekund, aby upewnić się, że został wykryty i zintegrowany, a następnie nacisnęliśmy klawisz „Super”, wpisaliśmy „sub” i pojawiła się ikona aplikacji. Tym razem znaleziono i użyto oryginalnej ikony aplikacji.

Kliknięcie na ikonę uruchamia aplikację. Nie musieliśmy nawet używać chmod, aby plik wykonywalny AppImage.

Aplikacja podpowierzchniowa działająca z AppImage

Kolejnym miłym akcentem jest to, że kliknięcie prawym przyciskiem myszy ikony pozwala usunąć AppImage bezpośrednio z menu kontekstowego.

Podpowierzchniowe menu kontekstowe

Istnieje również opcja przypięcia ikony do programu uruchamiającego, dzięki czemu korzystanie z AppImage jest tak wygodne, jak korzystanie z własnych aplikacji.

AppImages rośnie w siłę

Na naszych maszynach testowych aplikacje uruchamiane z AppImages ładowały się nieco szybciej niż aplikacje Flatpak i znacznie szybciej niż aplikacje Snap. Korzystając z AppImages, nie trzeba konfigurować podstawowej struktury, więc – poza miejscem potrzebnym dla samych aplikacji – korzystanie z AppImages zajmuje zero miejsca na dysku twardym.

Opcjonalny AppImageLauncher dodaje odrobinę wyrafinowania, ale bez niego możesz szczęśliwie używać AppImages.

Coraz więcej aplikacji oferuje AppImages. Jeśli zauważysz, że próbujesz zainstalować coś, czego nie ma w repozytoriach twojej dystrybucji, odwiedź stronę internetową aplikacji. Mogą mieć AppImage.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *