为自己的snap应用添加变量

296 阅读1分钟

在很多snap应用开发的时候,我们可以使用我们自己的一个wrapper,并在这个wrapper中指定一些变量从而能够使得我们的应用能够正常地运行。这个特性也特别适合在移植有些snap应用中需要特别设定一些路径到我们snap应用的一些可读写目录中从而避免安全的问题。那么我们怎么实现这个功能呢?

\

我们先来看一下我们做的一个例程:

github.com/liu-xiao-gu…

snapcraft.yaml

name: hello
version: "1.0"
summary: The 'hello' of snaps
description: |
    This is a simple snap example that includes a few interesting binaries
    to demonstrate snaps and their confinement.
    * hello-world.env  - dump the env of commands run inside app sandbox

grade: stable
confinement: strict
type: app  #it can be gadget or framework
icon: icon.png

apps:
 env:
   command: bin/env
   environment:
     VAR1: $SNAP/share
     VAR2: "hello, the world"
 evil:
   command: bin/evil
 sh:
   command: bin/sh

parts:
 hello:
  plugin: dump
  source: .


在上面的例子中,在“env”命令中,我们添加了environment项。在它的里面,我们定义了两个环境变量:VAR1及VAR2。

打包我们的应用,同时执行我们的命令“hello.env”。

\

$ hello.env | grep VAR
VAR1=$SNAP/share
VAR2=hello, the world

\

在这里,我们可以看出来我们在没有使用脚本的情况下,为我们的应用添加了两个环境变量VAR1及VAR2。

\

更多阅读: 运用wrapper来帮助我们启动snap应用 --- shadowsocks 命令行
\

\