Flatpak 新手指南

Flatpak 新手指南

以前,我們介紹 Ubuntu 推出的 Snaps 。Snaps 是由 Canonical 公司為 Ubuntu 開發的,並隨後移植到其他的 Linux 發行版,如 Arch、Gentoo、Fedora 等等。由於一個 snap 包中含有軟件的二進制文件和其所需的所有依賴和庫,所以可以在無視軟件版本、在任意 Linux 發行版上安裝軟件。和 Snaps 類似,還有一個名為 Flatpak 的工具。也許你已經知道,為不同的 Linux 發行版打包並分發應用是一件多麼費時又複雜的工作,因為不同的 Linux 發行版的庫不同,庫的版本也不同。現在,Flatpak 作為分發桌面應用的新框架可以讓開發者完全擺脫這些負擔。開發者只需構建一個 Flatpak app 就可以在多種發行版上安裝使用。這真是又酷又棒!

用戶也完全不用擔心庫和依賴的問題了,所有的東西都和 app 打包在了一起。更重要的是 Flatpak app 們都自帶沙箱,而且與宿主操作系統的其他部分隔離。對了,Flatpak 還有一個很棒的特性,它允許用戶在同一個系統中安裝同一應用的多個版本,例如 VLC 播放器的 2.1 版、2.2 版、2.3 版。這使開發者測試同一個軟件的多個版本變得更加方便。

在本文中,我們將指導你如何在 GNU/Linux 中安裝 Flatpak。

安裝 Flatpak

Flatpak 可以在大多數的主流 Linux 發行版上安裝使用,如 Arch Linux、Debian、Fedora、Gentoo、Red Hat、Linux Mint、openSUSE、Solus、Mageia 還有 Ubuntu。

在 Arch Linux 上,使用這一條命令來安裝 Flatpak:

$ sudo pacman -S flatpak

對於 Debian 用戶,Flatpak 被收錄進 Stretch 或之後版本的默認軟件源中。要安裝 Flatpak,直接執行:

$ sudo apt install flatpak

對於 Fedora 用戶,Flatpak 是發行版默認安裝的軟件。你可以直接跳過這一步。

如果因為某種原因沒有安裝的話,可以執行:

$ sudo dnf install flatpak

對於 RHEL 7 用戶,安裝 Flatpak 的命令為:

$ sudo yum install flatpak

如果你在使用 Linux Mint 18.3,那麼 Flatpat 也隨系統默認安裝,所以跳過這一步。

在 openSUSE Tumbleweed 中,使用 Zypper 包管理來安裝 Flatpak:

$ sudo zypper install flatpak

而 Ubuntu 需要添加下面的軟件源再安裝 Flatpak,命令如下:

$ sudo add-apt-repository ppa:alexlarsson/flatpak

$ sudo apt update

$ sudo apt install flatpak

Gnome 提供了一個 Flatpak 插件,安裝它就可以使用圖形界面來安裝 Flatpak app 了。插件的安裝命令為:

$ sudo apt install gnome-software-plugin-flatpak

如果你是用發行版沒有在上述的說明裡,請你參考官方 安裝指南 。

開始使用 Flatpak

有不少流行應用都支持 Flatpak 安裝,如 Gimp、Kdenlive、Steam、Spotify、Visual Sudio Code 等。

下面讓我來一起學習 flatpak 的基本操作命令。

首先,我們需要添加遠程倉庫。

添加軟件倉庫

添加 Flathub 倉庫:

Flathub 是一個包含了幾乎所有 flatpak 應用的倉庫。運行這條命令來啟用它:

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

對於流行應用來說,Flathub 已經可以滿足需求。如果你想試試 GNOME 應用的話,可以添加 GNOME 的倉庫。

添加 GNOME 倉庫:

GNOME 倉庫包括了所有的 GNOME 核心應用,它提供了兩種版本: 穩定版(stable)和 每日構建版(nightly)。

使用下面的命令來添加 GNOME 穩定版倉庫:

$ wget https://sdk.gnome.org/keys/gnome-sdk.gpg

$ sudo flatpak remote-add --gpg-import=gnome-sdk.gpg --if-not-exists gnome-apps https://sdk.gnome.org/repo-apps/

需要注意的是,GNOME 穩定版倉庫中的應用需要 3.20 版本的 org.gnome.Platform 運行時環境。

安裝穩定版運行時環境,請執行:

$ sudo flatpak remote-add --gpg-import=gnome-sdk.gpg gnome https://sdk.gnome.org/repo/

如果想使用每日構建版的 GNOME 倉庫,使用如下的命令:

$ wget https://sdk.gnome.org/nightly/keys/nightly.gpg

$ sudo flatpak remote-add --gpg-import=nightly.gpg --if-not-exists gnome-nightly-apps https://sdk.gnome.org/nightly/repo-apps/

同樣,每日構建版的 GNOME 倉庫也需要 org.gnome.Platform 運行時環境的每日構建版本。

執行下面的命令安裝每日構建版的運行時環境:

$ sudo flatpak remote-add --gpg-import=nightly.gpg gnome-nightly https://sdk.gnome.org/nightly/repo/

查看軟件倉庫

要查看已經添加的軟件倉庫,執行下面的命令:

$ flatpak remotes

Name Options

flathub system

gnome system

gnome-apps system

gnome-nightly system

gnome-nightly-apps system

如你所見,上述命令會列出你添加到系統中的軟件倉庫。此外,執行結果還表明了軟件倉庫的配置是 用戶級(per-user)還是 系統級(system-wide)。

刪除軟件倉庫

要刪除軟件倉庫,例如 flathub,用這條命令:

$ sudo flatpak remote-delete flathub

這裡的 flathub 是軟件倉庫的名字。

安裝 Flatpak 應用

這一節,我們將學習如何安裝 flatpak 應用。

要安裝一個應用,只要一條命令就能完成:

$ sudo flatpak install flathub com.spotify.Client

所有的穩定版 GNOME 軟件倉庫中的應用,都使用“stable”作為版本名。

例如,想從穩定版 GNOME 軟件倉庫中安裝穩定版 Evince,就執行:

$ sudo flatpak install gnome-apps org.gnome.Evince stable

所有的每日構建版 GNOME 倉庫中的應用,都使用“master”作為版本名。

例如,要從每日構建版 GNOME 軟件倉庫中安裝 gedit 的每次構建版本,就執行:

$ sudo flatpak install gnome-nightly-apps org.gnome.gedit master

如果不希望應用安裝在 系統級(system-wide),而只安裝在 用戶級(per-user),那麼你可以這樣安裝軟件:

$ flatpak install --user

所有的應用都會被存儲在 $HOME/.var/app/ 目錄下.

$ ls $HOME/.var/app/

com.spotify.Client

執行 Flatpak 應用

你可以直接使用 應用啟動器(application launcher)來運行已安裝的 Flatpak 應用。如果你想從命令行啟動的話,以 Spotify 為例,執行下面的命令:

$ flatpak run com.spotify.Client

列出已安裝的 Flatpak 應用

要查看已安裝的應用程序和運行時環境,執行:

$ flatpak list

想只查看已安裝的應用,那就用這條命令:

$ flatpak list --app

如果想查詢已添加的軟件倉庫中的可安裝程序和可安裝的運行時環境,使用命令:

$ flatpak remote-ls

只列出可安裝的應用程序的命令是:

$ flatpak remote-ls --app

查詢指定遠程倉庫中的所有可安裝的應用程序和運行時環境,這裡以 gnome-apps 為例,執行命令:

$ flatpak remote-ls gnome-apps

只列出可安裝的應用程序,這裡以 flathub 為例:

$ flatpak remote-ls flathub --app

更新應用程序

更新所有的 Flatpak 應用程序,執行:

$ flatpak update

更新指定的 Flatpak 應用程序,執行:

$ flatpak update com.spotify.Client

獲取應用詳情

執行下面的命令來查看已安裝應用程序的詳細信息:

$ flatpak info io.github.mmstick.FontFinder

輸出樣例:

Ref: app/io.github.mmstick.FontFinder/x86_64/stable

ID: io.github.mmstick.FontFinder

Arch: x86_64

Branch: stable

Origin: flathub

Date: 2018-04-11 15:10:31 +0000

Subject: Workaround appstream issues (391ef7f5)

Commit: 07164e84148c9fc8b0a2a263c8a468a5355b89061b43e32d95008fc5dc4988f4

Parent: dbff9150fce9fdfbc53d27e82965010805f16491ec7aa1aa76bf24ec1882d683

Location: /var/lib/flatpak/app/io.github.mmstick.FontFinder/x86_64/stable/07164e84148c9fc8b0a2a263c8a468a5355b89061b43e32d95008fc5dc4988f4

Installed size: 2.5 MB

Runtime: org.gnome.Platform/x86_64/3.28

刪除應用程序

要刪除一個 Flatpak 應用程序,這裡以 spotify 為例,執行:

$ sudo flatpak uninstall com.spotify.Client

如果你需要更多信息,可以參考 Flatpak 的幫助。

$ flatpak --help

到此,希望你對 Flatpak 有了一些基礎瞭解。

如果你覺得這篇指南有些幫助,請在你的社交媒體上分享它來支持我們。

稍後還有更多精彩內容,敬請期待~


via: https://www.ostechnix.com/flatpak-new-framework-desktop-applications-linux/

作者: SK 選題: lujun9972 譯者: wwhio 校對: wxy

本文由 LCTT 原創編譯, Linux中國 榮譽推出


分享到:


相關文章: