初识ubuntu Snap(一)Snap应用于Ubuntu 16.04LST
来源:互联网 发布:淘宝流量分配 编辑:程序博客网 时间:2024/06/05 15:03
Canonical公司于最近2016年4月发布了一个新的16.04系统,并且这个系统是长期支持版(LongTermSupport - LTS).它一如既往地支持debian安装包,但同时它也支持最新的snap安装包.snap安装包是Canonical公司最新发布的一种安装包的格式
16.04的桌面中支持两种格式的安装包:snap及debian.snap的最大不同是:snap应用可以安装同样一个软件的不同版本(比如一个安装python 2.7,另外一个应用安装python 3.3)而不造成任何的干扰.理论上一个snap应用可以安装到任何一个Linux的发行版上,因为它不依赖于操作系统及其发布版本.
1)安装Snap支持
sudo apt update
sudo apt install snapd
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桌面的应用感兴趣的话,可以参阅我的文章"如何把一个qmake的Ubuntu手机应用打包为一个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/
- 初识ubuntu Snap(一)Snap应用于Ubuntu 16.04LST
- Ubuntu 16.04 LTS如何使用Snap软件包
- Ubuntu系列-Build first snap app--hello snap
- Ubuntu Snappy及Snap包介绍(英文)
- 如何为我们的Snappy Ubuntu应用编译并打包Snap(1)
- 如何为我们的Snappy Ubuntu应用编译并打包Snap(2)
- 如何为我们的Snappy Ubuntu应用编译并打包Snap(1)
- 为Snappy Ubuntu中的snap应用设置配置文件
- snap软件包在带有X11的Ubuntu中并不安全
- 如何snap Shadowsocks并发布到Ubuntu Store
- 在Ubuntu Desktop上开发classic snap应用
- ubuntu 12.04 upgrade后 chrome 崩溃 报Aw, Snap!
- 初识ubuntu(一)
- Snap ConnectionPool简介(图)- -
- 安装Snap
- 如何把一个qmake的Ubuntu手机应用打包为一个snap应用
- 如何把一个CMake的Ubuntu手机应用打包为一个snap应用
- 如何为树莓派安装Ubuntu Core并在Snap系统中进行编译
- NSIS安装包脚本
- java疯狂讲义学习过程学习笔记5.8.2利用组合实现复用
- Git和SVN之间的五个基本区别
- Angularjs 验证码60秒发送
- Java Executors(线程池)
- 初识ubuntu Snap(一)Snap应用于Ubuntu 16.04LST
- golang的sql.DB的一些注意事项及读写锁的总结
- 简历网站_成果_1
- L2-008. 最长对称子串
- 传智播客:一道算术题看网络营销模式变迁
- IOS中的单例模式(Singleton)
- 如何测试agent程序
- 分页管理系统计算题 (在某个请求分页管理系统中,假设某进程的页表内容如下表所示)
- 利用MJExtension处理OC里"id"关键字