如何启动Snapcraft应用程序?

我已经通过侧载方式安装了snapcraft的java-hello-world应用程序。我想知道如何启动它。我尝试在shell中调用包装器,但是出现了“找不到java”的错误提示。
(amd64)ubuntu@IndiaDevResSnappy3:/writable/system-data/apps/java-hello-world.sideload/current/bin$ sudo ./wrapper
./wrapper: 2: ./wrapper: java: not found

我做错了什么吗?

你尝试使用的snapcraft版本是哪一个?你采取了什么步骤? - techraf
snapcraft --version snapcraft(1.1.0)。 - Vivek Dhayalan
1个回答

首先,由于您正在使用Snapcraft 1.x,请确保您正在运行Snappy Ubuntu Core 15.04。您需要在snapcraft.yaml文件中声明您的二进制文件(example)。完成后,在安装时,该二进制文件将在您的$PATH中可用,因此您只需像这样运行它:
$ <snap name>.<binary name>

所以对于我上面提供的例子,就是这样的:
$ opencv-example.example

请注意,这对于Snappy Ubuntu Core 16.04 / Snapcraft 2.x 是一样的,但用于声明二进制文件的语法已经改变(相同示例,但适用于16.04)。

确实,java-hello-world.hello应该可以做到。当你运行它时会发生什么? - kyrofa
我看到了 $ java-hello-world.hello -bash: java-hello-world.hello: 命令未找到 同时,该应用已被安装 ~$ snappy list 名称 日期 版本 开发者 ubuntu-core 2015-08-28 1 ubuntu java-hello-world 2016-03-24 0 sideload ni-crio-snappy 2016-03-24 0 sideload - Vivek Dhayalan
FYI,服务器版本 ~$ lsb_release -a 没有可用的LSB模块。 发行商ID:Ubuntu 描述:Ubuntu 15.04 发布:15.04 代号:vivid 在构建snap的机器和安装snap的机器上是否有必须使用相同版本的Ubuntu的限制? - Vivek Dhayalan
检查/apps/bin目录。里面有什么?(应该是二进制文件) - kyrofa
抱歉回复晚了。我在指定路径中没有看到可执行文件。 writable/system-data/apps/bin$ ls snappy-debug.security 所以,我可能漏掉了什么,不确定具体是什么。你能帮我找出问题吗? - Vivek Dhayalan
我已经找到问题所在,基本上是因为我对虚拟机、版本以及Snapcraft的版本弄混了所致。现在,我能够解决这个问题,并且按照你说的开始工作。 - Vivek Dhayalan
请您添加15.10+的语法,因为15.04已经到了生命周期结束(EOL)。 - Wilf
1@Wilf如我在回答中所说,你启动事物的方式并没有改变。只有snap.yamlsnapcraft.yaml的语法发生了变化,这不是问题的一部分(尽管我提供了一个示例链接,如果你感兴趣的话)。如果你对语法有疑问,请提问! - kyrofa