能否为Ubuntu在线账户添加自定义云服务?
能否为Ubuntu在线账户添加自定义云服务?
嘿,这个问题问到点子上了!答案是完全可以,不过得看你要加的服务有没有现成的插件,或者你愿花点功夫自己折腾开发——毕竟Ubuntu的在线账户系统(GNOME Online Accounts,简称GOA)是开放插件机制的。
下面给你拆成两种情况讲:
情况1:有现成的第三方插件可用
有些小众云服务的开发者已经适配了GOA,你可以先尝试在系统里搜索相关包:
- 打开终端,输入
apt search gnome-online-accounts,看看有没有对应你要加的服务的包(比如某网盘可能叫gnome-online-accounts-myunp之类的) - 如果找到匹配的包,直接用
sudo apt install 对应包名安装 - 安装完成后,注销再重新登录系统,或者重启GOA服务(命令是
systemctl restart goa-daemon),之后打开「设置」→「在线账户」,应该就能看到你要加的服务选项了
情况2:没有现成插件,自己开发一个
如果你的目标服务没有现成插件,就得自己动手了,这需要点GNOME开发的基础:
- GOA的插件主要用Vala或C语言开发,你可以先参考系统里已有的Google/Nextcloud插件代码(路径一般是
/usr/share/goa-1.0/下的对应文件) - 编写插件时,需要实现账户认证(比如OAuth2、用户名密码登录)和同步功能(比如联系人、日历、文件同步,根据服务支持的功能来)
- 编译好插件后,把它放到GOA的插件目录(通常是
/usr/lib/x86_64-linux-gnu/goa-1.0/),然后重启GOA服务或系统 - 之后就能在在线账户列表里看到你自定义的服务选项了
小提醒
自己开发插件的话,得注意目标服务的API文档,确保你的插件能正确和服务交互;另外,有些私有云服务可能API比较特殊,同步功能可能没法做到和官方服务一样完善,得根据实际情况调整。
备注:内容来源于stack exchange,提问作者Томица Кораћ
相关产品推荐
相关产品推荐

