Как упаковать программы оболочки в AppImage? - PullRequest
0 голосов
/ 28 января 2020

Я сделал AppImage через:

linuxdeploy --appdir AppDir --icon-file icon.png --desktop-file desktop.desktop --executable myExecutable --output appimage

, который работает нормально. Тем не менее, упакованная мной программа (myExecutable) выполняет вызовы оболочки (скажем, shellProgram1, shellProgram2, ...) во время выполнения, чтобы использовать различные программы, которые не обязательно находятся в каждом дистрибутиве.

Вопрос: Предоставляет ли linuxdeploy (или какая-либо другая утилита AppImage) простой способ упаковки этих программ в AppImage, так что когда myExecutable вызывает их во время выполнения, они гарантированно будут доступны?

1 Ответ

0 голосов
/ 31 марта 2020

Для достижения этой цели вам необходимо развернуть все двоичные файлы, которые могут отсутствовать во всех дистрибутивах, в AppDir и настроить среду PATH, чтобы сделать их доступными во время выполнения.

При linuxdeploy вам необходимо вручную скопируйте файлы в AppDir и создайте обертку для основного двоичного файла, чтобы установить PATH. Примерно так

$!/bin/bash
export PATH="$APPDIR/usr/bin:$PATH"

exec $APPDIR/usr/bin/my_program

Вы также можете использовать appimage-builder , который создает такую ​​обертку для вас. В папке примеры проектов вы можете найти несколько рецептов, которые можно использовать для вдохновения.

...