初识ubuntu Snap(一)Snap应用于Ubuntu 16.04LST

Canonical公司于最近2016年4月发布了一个新的16.04系统,并且这个系统是长期支持版(LongTermSupport - LTS).它一如既往地支持debian安装包,但同时它也支持最新的snap安装包.snap安装包是Canonical公司最新发布的一种安装包的格式

16.04的桌面中支持两种格式的安装包:snapdebian.snap的最大不同是:snap应用可以安装同样一个软件的不同版本(比如一个安装python 2.7,另外一个应用安装python 3.3)而不造成任何的干扰.理论上一个snap应用可以安装到任何一个Linux的发行版上,因为它不依赖于操作系统及其发布版本.

1)安装Snap支持

sudo apt update  

sudo apt install snapd 

sudo apt install snapcraft  

2)安装一个Snap应用

sudo snap install ubuntu-calculator-app  

此应用实现的源代码参考:https://code.launchpad.net/~dpm/ubuntu-calendar-app/snap-all-things  

细心的开发者也许会发现,这个应用实际上是使用了同样一个和Ubuntu手机一样的代码.没有做任何的改变.从某种意义上讲,Ubuntu实现了真正意义上的融合(Convergence)应用设计.从另外一个角度上讲,这个snap应用时间上可以部署到任何一个Linux的发行版上,只要有它支持snap包,并且它将不依赖于操作系统的版本发布.维护性应该是非常好的

3)从Store寻找所有在商店里发布的snap应用

snap find

4)从Store中寻找特定的snap应用

snap find | grep xxxx

上面命令中的XXXX为你需要的特定应用名称,如“torgo”等。

5)卸载snap应用,示例为:ubuntu-calculator-app  

sudo snap remove ubuntu-calculator-app

6)显示我们已经安装的snap应用列表:

snap list

7)如编译一个snap应用

如果大家已经有一个snap的项目,你只需要:

安装snapcraft.请参阅文章的开始部分

在项目的根目录下,直接键入"snapcraft"即可.在项目的根目录下通常含有snapcraft.yaml文件或.snapcraft.yaml文件.

Canonical公司已经号召很多的全球开发者开发snap应用.我们已经把已经开发好的应用放在如下的仓库里了.如果大家对这个感兴趣,请安装如下的指令来下载这些应用作为参考:

git clone https://github.com/ubuntu/snappy-playpen.git  

cd snappy-playpen  

目前已经有如下的项目可以供我们参考:

1.atom/               idea/                openttd/         tinyproxy/  

2.cloudfoundry-cli/   imagemagick-edge/    plank/           tyrant-unleashed-optimizer/  

3.consul/             imagemagick-stable/  qcomicbook/      ubuntu-clock-app/  

4.dcos-cli/           keepassx/            qdriverstation/  ubuntukylin-icon-theme/  

5.deis-workflow-cli/  kpcli/               ristretto/       vault/  

6.dosbox/             leafpad/             scummvm/         vlc/  

7.ffmpeg/             minetest/            shotwell/        wallpaperdownloader/  

8.galculator/         moon-buggy/          smplayer/        youtube-dl/  

9.gitter-im/          mpv/                 snap-template/  

10.heroku/             openjdk-demo/        snaptest/  

我们可以直接进入到项目的根目录下,键入如下的命令即可:

snapcraft  

 

当项目被成功编译完后,我们可以直接在项目的根目录下找到一个扩展名为.snap的文件.这就是我们所需要的snap安装文件.我们可以参照我们上面讲述的方法来安装这个文件.

 

如果想清除一个snap应用在编译过程中的文件,我们可以打入如下的命令:

napcraft clean  

 

更多关于snapcraft的知识可以参阅它的帮助:

snapcraft help

 

snapcraft打包的过程中,它经历如下的几个阶段:

 

1.pull         Download or retrieve artifacts defined for a part.  

2.build        Build artifacts defined for a part. Build systems capable of  

               running parallel build jobs will do so unless  

              "--no-parallel-build" is specified.  

3.stage        Stage the part's built artifacts into the common staging area.  

4.prime        Final copy and preparation for the snap.  

5.snap         Create a snap.  

我们可以通过snapcraft来对每个阶段分别处理来查看每一步到底做什么.比如"snapcraft pull"等.打包的顺序是按照上面所列举的顺序执行的.更多关于如何打包的过程请参阅连接http://snapcraft.io/create/

如果大家对如何开发一个Ubuntu桌面的应用感兴趣的话,可以参阅我的文章"如何把一个qmakeUbuntu手机应用打包为一个snap应用".

 

8)如何运行一个snap应用

 

我们可以在Dash中运行我们的应用,同时,我们也可以在terminal中通过命令行的方式来启动我们的应用,方式为:包名.应用名包  的方式,如果包名字叫做"snaptest-app".在apps下定义了一个应用叫做"test".那么在命令行中,我们可以通过如下的方式来运行我们的最终的应用: 

snaptest-app.test  


更多的学习资源可以参阅我们的链接地址:

·https://github.com/snapcore/snapcraft/tree/master/docs

·https://developer.ubuntu.com/en/desktop/

·https://developer.ubuntu.com/en/snappy/

·http://snapcraft.io/



  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值