Platypus 的替代品(它构建了一个 mac .app,当用户双击它时 运行 是一个脚本),运行 在 Linux 上?

Alternatives to Platypus (which builds a mac .app that runs a script when user double clicks it), which run on Linux?

我已经在 mac 上安装了 运行 软件,它可以由主 'runner' 脚本驱动。但是,我希望将软件打包为 .app。在 mac 上,我可以 运行 'platypus' (https://www.sveinbjorn.org/platypus),它会创建一个非常好的 .app 文件,它将 运行ner 脚本称为一个入口点(正是我想要做的)。使用起来非常简单。

问题是,鸭嘴兽本身在 mac 上只有 运行,我需要在 Linux [=30] 上将它们捆绑在一起(创建 .app) =]hine.

是否有 Platypus 的替代品,它可以实现相同的结果(生成一个 .app,以脚本作为入口点),但您可以在 Linux 上构建? 或者,有人知道解释如何手动完成此操作的最新教程吗(但在 Linux 上)?

(我看过这个:How to build a dmg Mac OS X file (on a non-Mac platform)? 但它适用于 dmg 文件,而我需要一个 .app 文件。另外,我特别好奇像 Platypus 这样简单的程序。)

一个mac.app "file"其实就是一个文件夹(可以右键浏览内容,"show package contents"。 您需要更改的主要部分是 .sh 脚本本身,它可以在应用程序包中找到:yourapp.app/Contents/MacOS/yourscript.sh

因此您可以复制现有的 yourapp.app 并将其用作模板,只需在 Linux 中编辑脚本内容和应用程序(文件夹)名称即可。 您可能必须在复制回来时设置权限(chmod +x 等)。我不确定是否没有测试过这种方法,但我不明白为什么它不起作用。

在 BSUK 答案之上添加一些参考代码 (bash):

mkdir -p foo.app/Contents/MacOS
cp foo.sh foo.app/Contents/MacOS/foo
chmod +x foo.app/Contents/MacOS/foo

也可以给应用设置一个漂亮的图标,参考代码如下:
(请提前准备一个logo.png文件,以及对应的icon.icns版本:

mkdir -p foo.app/Contents/Resources
cp icon.icns foo.app/Contents/Resources/
cp logo.png ./
sips -i logo.png
DeRez -only icns logo.png > tmpicns.rsrc
Rez -append tmpicns.rsrc -o file.ext
SetFile -a C file.ext
cp -f file.ext foo.app/Icon$'\r'
rm tmpicns.rsrc logo.png file.ext
SetFile -a C foo.app

然后您可以在桌面上分配 foo.app(例如):

mv foo.app "/Users/$(whoami)/Desktop/"