使用Flatpak#

这个页面介绍flatpak CLI,解释必要的技术约定和常用的命令。

最终用户不应该使用Flatpak CLI,因为Flatpak在有图形界面的软件管理器中非常容易使用。当然咯,如果他们更喜欢使用命令行的话,也可以使用Flatpak CLI。

flatpak命令#

flatpak 是Flatpak的主命令, 其他的命令都跟在它后面。 例如, 用 flatpak install 安装,用 flatpak uninstall 卸载。

标识符#

Flatpak通过唯一的三元组标识应用和运行时,如 com.company.App 。地址的最后一段是对象名,前面的部分标识了开发者,所以同一个开发者可以开发多个应用,如 com.company.App1com.company.App2

标识符三元组#

一般来说,使用ID来引用一个对象是高效的。然而,有时候,我们需要指定对象的版本或者架构。例如,有些应用可能会提供稳定版和测试版,这种情况下,指定版本是很必要的。

Flatpak可以使用对象标识符三元组来指定架构和版本。格式是 name/architecture/branch ,如 com.company.App/i386/stable 。(分支是指向同一个版本的术语。这里也可以参考git里的概念)三元组的第一部分是ID,第二部分是架构,第三部分是分支。

标识符三元组也可以通过使用空白来仅指定架构或分支。如 com.company.App//stable 仅指定了分支, com.company.App/i386// 仅指定了架构。

如果架构或者分支需要指定,Flatpak CLI会有相应的反馈的。

System vs user#

Flatpak命令既可以在系统级运行,也可以在用户级运行。安装在系统级的应用和运行时可以给当前系统的所有用户使用。安装在用户级的应用和运行时仅安装的用户可以使用。

上述原则也可以用于仓库。系统级的仓库可以给所有的用户使用,用户级仓库仅给安装的用户使用。

Flatpak命令默认运行在系统级。如果你安装应用是为了日常使用,我们推荐坚持默认行为。

然而,运行用户级命令对测试和开发很有用,因为用户级安装的对象不会给系统上其他的用户使用。如果使用用户级命令,可以使用 --user 选项,这个选项可以和大多数 flatpak 命令组合使用。

用户级运行命令和系统级运行命令行为一致。

基本命令#

这本部分涵盖了安装,运行和管理Flatpak应用的基本命令。运行 flatpak --help 查看所有的Flatpak命令,或者参阅 Flatpak命令行参考文档

列出远程仓库#

运行下面的命令,列出在系统中已经配置好远程仓库:

$ flatpak remotes

列出已经添加了的远程仓库。列表表明每一个远程仓库是用户级的还是系统级的。

添加远程仓库#

最方便的方式添加远程仓库是使用 .flatpakrepo 文件,它包含远程仓库的信息和GPG秘钥:

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

Here, flathub is the local name that is given to the remote. The URL points to the remote’s .flatpakrepo file. --if-not-exists stops the command from producing an error if the remote already exists.

移除远程仓库#

运行下面的命令以移除远程仓库:

$ flatpak remote-delete flathub

In this case, flathub is the remote’s local name.

安装应用#

运行下面的明明安装应用:

$ flatpak install flathub org.gimp.GIMP

在这里, flathub 将要安装的远程应用名称, 而 org.gimp.GIMP 则是应用的ID。

有时,应用需要特定的运行时,运行时需要在安装应用前安装。

将要安装的应用的详细信息可以由 .flatpakref 文件提供, .flatpakref 文件可以是本地的,也可以是远程的。运行下面的命令指定 .flatpakref ,而不是手动指定远程仓库和应用ID。

$ flatpak install https://flathub.org/repo/appstream/org.gimp.GIMP.flatpakref

如果 .flatpakref 文件指定从远程仓库中安装的应用已经添加过,在应用安装前,将会被问到,哪一个应用应该添加。

Since Flatpak 1.2, the install command can search for applications. A simple:

$ flatpak install gimp

will confirm the remote and application and proceed to install.

运行应用#

应用安装后,可以使用 run 命令和应用ID运行应用:

$ flatpak run org.gimp.GIMP

更新#

运行下面的命令更新所有的应用和运行时到最新版本:

$ flatpak update

列出安装的应用#

运行下面的命令,列出安装的应用和运行时:

$ flatpak list

运行下面的命令仅列出安装的应用:

$ flatpak list --app

移除应用#

运行下面的命令移除应用:

$ flatpak uninstall org.gimp.GIMP

Troubleshooting#

Flatpak has a few commands that can help you to get things working again when something goes wrong.

To remove runtimes and extensions that are not used by installed applications, use:

$ flatpak uninstall --unused

To fix inconsistencies with your local installation, use:

$ flatpak repair

Flatpak also has a number of commands to manage the portal permissions of installed apps. To reset all portal permissions for an app, use flatpak permission-reset:

$ flatpak permission-reset org.gimp.GIMP

To find out what changes have been made to your Flatpak installation over time, you can take a look at the logs (since 1.2):

$ flatpak history