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 man
strony 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”.
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 chmod
polecenia, aby dodać uprawnienia -x
(wykonywalne).
chmod +x FreeCAD-0.20.0-Linux-x86_64.AppImage
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
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
To natychmiast naprawiło problem i mogliśmy uruchomić AppImages na Ubuntu Jammy Jellyfish 22.04 bez problemu.
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.
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.
W Manjaro możesz zainstalować AppImageLauncher za pomocą tego polecenia:
sudo pacman -S appimagelauncher
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ę.
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”.
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.
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.
Kolejnym miłym akcentem jest to, że kliknięcie prawym przyciskiem myszy ikony pozwala usunąć AppImage bezpośrednio z menu kontekstowego.
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