В операционной системе Windows мы довольно часто используем портативные программы. Это программы которые не требуют установки, сохраняют конфигурационные файлы при себе и запускаются независимо от установленных в системе компонентов. Их возможности могут быть очень полезны при создании флешек восстановления, тестирования нового программного обеспечения или просто установки новых программ, которых пока еще нет в репозиториях.
Для Linux был придуман формат портативных программ AppImage. Одна программа состоит из одного файла образа, в котором находятся все необходимые для ее работы библиотеки, конфиги и сама программа. Конфигурация сохраняется по прежнему в домашней папке пользователя. В этой статье мы рассмотрим как запустить и установить AppImage в Linux.
Что такое AppImage?
Фактически программа AppImage представляет собой ISO образ, содержащий всё необходимое для запуска программы, упакованный специальным способом со включённым битом исполняемости. Для запуска программ не нужно ничего устанавливать достаточно скачать образ, сделать его исполняемой и запускать. А благодаря тому, что все библиотеки находятся внутри образа, программу можно использовать в большинстве дистрибутивов Linux. Также такой способ подходит для запуска тестовых программ, которые требуют особые зависимости, но вы можете не засорять систему и просто скачать программу одним файлом.
Многие разработчики начали использовать AppImage для своих приложений потому что это удобно и больше нет необходимости создавать отдельные пакеты приложений для каждого дистрибутива.
Где взять AppImage?
На официальном сайте AppImage есть список программ, распространяемых таким образом. Небольшую коллекцию программ AppImage можно найти на этом сайте. Здесь находятся программы собранные их разработчиками и сторонними пользователями. Здесь есть популярные браузеры, медиаплееры и текстовые редакторы и другие утилиты:
На сайте есть поиск, поэтому вы можете попытаться найти нужную программу:
Чтобы скачать программу, вам нужно перейти на вкладку Files, затем выбрать подходящую версию и просто кликнуть по ней.
Но не только здесь можно найти программы в формате AppImage, некоторые разработчики сами распространяют свои продукты в этом формате, например известный видеоредактор OpenShot и многие другие.
Как запустить и установить AppImage?
После окончания загрузки файла AppImage осталось сделать файл исполняемым. Чтобы сделать это в терминале, например, для Firefox, выполните:
chmod ugo+x ~/Загрузки/Firefox-x86_64-20200413141725.AppImage
Аналогично можно всё сделать через графический интерфейс, откройте контекстное меню для файла, выберите Свойства, а затем на вкладке Права установите флажок напротив Разрешить выполнение файла как программы:
И можно запускать выполнение:
~/Загрузки/Firefox-x86_64-20200413141725.AppImage
Как видите, программа полностью работает, и теперь её можно записать на флешку и пробовать в другом дистрибутиве.
Поскольку AppImage — это портативные программы многих интересует, как их всё таки установить в систему чтобы программой было удобно пользоваться. Файлы AppImage можно разместить в папках ~/Applications/ или ~/.local/bin/ или ~/bin/, а затем просто создать ярлык для удобного запуска. Разместить его можно в ~/.local/share/applications/, это папка в которой находятся локальные ярлыки пользователя. Например для Firefox в папке ~/bin/ ярлык будет выглядеть так:
vi ~/.local/share/applications/firefox.desktop
Для создания ярлыков в графическом интерфейсе вы можете использовать пакет gnome-panel и утилиту gnome-desktop-item-edit.
Выводы
Портативные программы Linux — это очень спорная технология. С одной стороны это очень удобно, потому что можно распространять софт поддерживаемый любым дистрибутивом, решается проблема с зависимостями, но с другой, такой способ распространения программ может повлечь за собой увеличение количества вирусов для Linux, ведь минимальное распространение вирусов обусловлено тем, что все программы устанавливаются из небольшого количества надежных и хорошо проверенных источников. А как вы считаете? Нужны ли Portable программы в Linux? Будете ими пользоваться? Напишите в комментариях!