Так как в последнее время использую дистрибутив Minois пример буду приводить используя apt2sb, но создание портативного приложения будет работать на всех дистрибутвах где предусмотрено создание модулей с помощью утилит apt2sfs, в Minois как уже упомянул apt2sb. Способ получил обратным инжинирингом (
) портативных приложений полученых с сайта
https://www.protopage.com/pp4mnkt3am#Public_Category/%40mikewalsh_PORTABLES . Очень уж загорелся понять как они всё это делают.
Итак получаю модуль скажем audacity, ввожу в терминал команду
на выходе в корневом каталоге получаю модуль audacity.sb
Далее создаем в ~/ каталог portapps а в нем каталог audacity,и перемещаем audacity.sb в него ,он станет донором для моей портативной программы с audacity, для этого его нужно распаковать командой
после распаковки в каталоге ~/portapps/audacity появится каталог squashfs-root, заходим в него и переносим нужные компоненты в ~/portapps/audacity обычно зачастую это каталог /usr, но на всякий случай, анализируем и другие каталоги на предмет присутствия библиотек либо конфиг файлов если есть таковые, то обязательно копируем и их.
А теперь мы должны создать файл запуска LAUNC, это обычный bash скрипт в котором заданы параметры запуска привожу пример для LAUNC файла для Audacity
#!/bin/sh
HERE="$(dirname "$(readlink -f "$0")")"
module=$HERE/usr/lib/audacity/modules/ mime=$HERE/usr/lib/mime/ audacity=$HERE/usr/lib/audacity/ LD_LIBRARY_PATH=$HERE/usr/lib/x86_64-linux-gnu $HERE/usr/bin/audacity
опций приведенных в скрипте достаточно для запуска программы Audacity
как видим все предельно просто строка HERE="$(dirname "$(readlink -f "$0")")" считывает полный путь из которого был запущен файл запуска и присваевает его переменой HERE, далее во второй строке задаются пути библиотек до бинарника программы Audacity, то есть мы должны создать связь между всеми нужными компонентами и бинарником, тут все просто в переменные пишем пути до компонентов а последним должен идти путь до бинарного файла. Теперь скрипту нужно присвоить права на исполнение и запустить его хоть из терминала хоть из desktop файла.
Теперь отвечу на вопрос зачем, это все для дистрибутивов использующих overlay , чтоб избавится с неприятностями со слоями чтоб не городить огороды с горячим подключением, , я много в этом способе еще не понял например еще не щупал как ведет себя desktop файл, как нужно прописывать в него опции ,чтоб это заработало, но мне способ понравился, и потому рассказал о нём.
вот ссылка на архив с портативной audacity,
https://disk.yandex.ru/d/AJ7Qh-_wN0FaBA , чтоб поглядеть как это устроено.