参考文章:http://flatpak.org/hello-world.html
我的运行环境
~$ screenfetch
............
.';;;;;. .,;,. OS: Deepin 15.4.1 unstable
.,;;;;;;;. ';;;;;;;. Kernel: x86_64 Linux 4.9.0-deepin12-amd64
.;::::::::' .,::;;,''''',. Uptime: 12m
,'.:::::::: .;;'. '; Packages: 2114
;' 'cccccc, ,' :: '.. .: Shell: bash
,, :ccccc. ;: .c, '' :. ,; Resolution: 1366x768
.l. cllll' ., .lc :; .l' l. DE: Deepin 15.4.1
.c :lllc ;cl: .l' .ll. :' WM: Deepin WM
.l 'looc. . ,o: 'oo' c, WM Theme: deepin
.o. .:ool::coc' .ooo' o. GTK Theme: deepin [GTK2/3]
:: ..... .;dddo ;c Icon Theme: deepin
l:... .';lddddo. ,o CPU: Intel Core i5-4210U @ 4x 1.7GHz [43.0°C]
lxxxxxdoolllodxxxxxxxxxc :l GPU: intel
,dxxxxxxxxxxxxxxxxxxl. 'o, RAM: 1094MiB / 11911MiB
,dkkkkkkkkkkkkko;. .;o;
.;okkkkkdl;. .,cl:.
.,:cccccccc:,.
1. 安装flatpak
~$ sudo apt install flatpak
2. 安装runtime
flatpak应用要求每一个应用程序指定runtime,使用它的依赖。这里使用GNOME 3.22开发平台的runtime,首先需要添加提供它的仓库。运行:
~$ flatpak remote-add --from gnome https://sdk.gnome.org/gnome.flatpakrepo
然后安装runtime:
~$ flatpak install gnome org.gnome.Platform//3.22
3. 创建应用
首先,为文件建立一个目录树:
~$ mkdir hello
~$ mkdir hello/files
~$ mkdir hello/files/bin
~$ mkdir hello/export
然后在hello/files/bin/
里面新建一个名为hello.sh
的shell文件,在文件内写入一下内容:
#!/bin/sh
echo "Hello world, from a sandbox"
然后为hello.sh
添加可执行权限:
~$ chmod +x hello/files/bin/hello.sh
接下来为应用添加一些信息,这些信息添加在一个叫做metadata
的关键文件中。再hello
文件夹下创建这个文件,并写入如下内容:
[Application]
name=org.test.Hello
runtime=org.gnome.Platform/x86_64/3.22
command=hello.sh
4. 将应用放入一个仓库中
现在我们已经创建了一个应用,为了能够安装它,我们需要将它放入一个仓库中,这一步可以通过build-export
命令实现,在hello
的上一层文件夹内运行:
~$ flatpak build-export repo hello
这样我们就创建了一个叫做repo的仓库,并且将应用导入了这个仓库。
5. 安装应用
现在我们将刚才创建的应用加到刚才的仓库中,然后通过下面的两条命令安装它:
~$ flatpak --user remote-add --no-gpg-verify tutorial-repo repo
~$ flatpak --user install tutorial-repo org.test.Hello
6. 运行
接下来通过下面这条命令运行我们刚才安装好的应用:
~$ flatpak run org.test.Hello
运行之后将会输出Hello world, from a sandbox
。
更多资料请参见 developer documentation