首页 > 解决方案 > 如何将 shell 程序打包到 AppImage 中?

问题描述

我通过以下方式制作了 AppImage:

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

运行良好。但是,我打包的程序 ( ) 在运行时myExecutable进行 shell 调用(比如 to shellProgram1shellProgram2、 ...),以利用不一定在每个发行版上的各种程序。

问题:(或其他一些 AppImage 实用程序)是否linuxdeploy提供了一种将这些程序打包到 AppImage 中的简单方法,以便myExecutable在运行时调用它们时保证它们可用?

标签: appimage

解决方案


要实现这样的目标,您需要将所有发行版中可能不存在的所有二进制文件部署到 AppDir 中,并设置 PATH 环境以使其在运行时可用。

您必须手动将linuxdeploy文件复制到 AppDir 并为主二进制文件创建一个包装器以设置 PATH。像这样的东西

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

exec $APPDIR/usr/bin/my_program

您还可以使用appimage-builder为您创建这样的包装器。在项目示例文件夹中,您可以找到几个可用于灵感的食谱。


推荐阅读