dbus for snapcraft

更多文章请关注: https://eightplus.github.io/

最近手痒,想着要去体验snap软件包的开发,结果自己写的程序打成deb包安装和启动时,一切正常,而打成snap包安装后,由图形程序自动拉起dbus的时候则遇到问题,资料堆里找https://docs.snapcraft.io/,各种尝试,反正就是我配置的system dbus相关的.service和.conf文件根本没作用,最终使用plug和slot的方式,并且是手动启动system dbus的方法才让图形程序从dbus daemon获取到数据(貌似是目前snap还不支持dbus的自动启动???)。目前还没找到完美的解决办法,很受打击啊,各种尴尬,无奈,在这里写篇文章,当做snap体验的笔记记录,希望自己不要对snap忘记的太快大笑

1、在源码文件中中打开终端,执行:$snapcraft init,会自动生成snap文件,里面有个snapcraft.yaml文件

2、修改snapcraft.yaml文件,具体见源码中的写法,如果您发现错误,请告知小的,在此先表示口头感谢啦!源码地址:

https://github.com/eightplus/system-tool

3、终端执行:$snapcraft ,生成snap包

4、安装snap包:$sudo snap install system-tool_1.0.2_amd64.snap --devmode --dangerous

5、安装完成后,终端运行 $snap interfaces 可以查看到plug和slot都蹦出来了,如下图。有资料显示,如果要让我的dbus服务程序和图形程序进行通信,还需要终端执行:$sudo snap connect system-tool:daemon-plug system-tool:daemon-slot ,对应的disconnect操作是:$sudo snap disconnect system-tool:daemon-plug system-tool:daemon-slot。而不太懂snap的我,硬是没有执行该命令,结果dbus和图形程序还是通信成功了,一脸懵逼状态。

6、无比尴尬的手动启动dbus服务,打开终端执行:$sudo system-tool.system-tool-daemon

7、启动图形程序:$system-tool, 效果如下图:

8、当然,我这个体验的snap程序例子很low,容我告知您如何快点卸载哭  $sudo snap remove system-tool

9、如果想将自己开发的snap发布到snap商店,首先注册一个Ubuntu One帐号,注册地址:https://dashboard.snapcraft.io/openid/login

10、有了帐号之后干嘛,自然是一条流水线生成操作步骤啦:登录->注册应用名->上传snap包->退出:

$snapcraft login
$snapcraft register system-tool  (只有第一次上传该应用时才需要注册应用名)
$snapcraft push system-tool_1.0.2_amd64.snap --release beta
$snapcraft logout

11、上传后,你可以在邮箱等着snapcraft系统给你回邮件啦!很遗憾,由于我使用了自定义的plug和slot,自动审核失败了,我满腔热血的,居然就这样被拒绝了,需要人工审核,我也不知道何时能人工复审完成,能不能审核成功。

 

 

12、不知道会不会有人看,也不知道会不会有人看了后要体验下我的这个snap包,不管了,我脸皮厚,我贴出来:

https://dashboard.snapcraft.io/snaps/system-tool/

 

大笑大笑大笑

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值