Ubuntu Weekly Recipe

第513回新しいパッケージの仕組み、Flatpakを使用する

今回はSnapsと並ぶ新しいパッケージの仕組みであるFlatpakの使用方法を紹介します。

SnapsとFlatpak

UbuntuというかCanonicalはUbuntu 16.04 LTS以後、新しいパッケージの仕組みであるSnaps[1]を強力に推進しています。実行環境であるsnapdやその周辺のパッケージはもちろん、Snapパッケージ自体も多数用意されています。そして来月リリースされるUbuntu 18.04 LTSでは4つのSnapパッケージがあらかじめインストールされることが決定しています。

Snapsは依存関係も含めて1つのパッケージに内包する、サンドボックス上で動作する、ロールバックの仕組みがある、GUIアプリケーションやデーモンはもちろん、カーネルを含めたシステム丸ごとをパッケージ化できる、クロスディストリビューション(ほかのLinuxディストリビューションでも使用できる)である、サポートされているUbuntuのバージョンではすぐに使える、などが特徴です。

新しいパッケージの仕組みとして、ほかにもFlatpakがあります。Snapsと同じような特徴もあるせいかUbuntuではメジャーとはいえませんが、Flatpakのほうが優れている面もありますし、Snapsや従来のdpkgとも(ハードドライブの空き容量に余裕があれば)共存できるのもまた特徴です。

FlatpakとSnapsの最大の違いは、Flatpakはアプリケーション専用であることでしょう。よって、GUIアプリケーションであればFlatpakのほうが快適に使用できるものが多いのですが、実際はケースバイケースです。

SnapsもFlatpakもクロスディストリビューションということで、アップストリームの開発者がパッケージ作成者に頼らずにパッケージを提供することが気軽にでき、またその例も増えてきているのですが、Snapsを選択するか、はたまたFlatpakを選択するかはどれだけビルドとメンテが簡単かによりますし、それはアプリケーションによって異なるのです。

自分が使いたいアプリケーションの最新版がFlatpakで提供されるということは今後とも増えていくでしょう。

実行環境のインストール

Flatpakのパッケージは17.10からリポジトリにあるものの、バージョンが古すぎるので筆者のPPAからインストールするのがおすすめです。しかしIBusのバージョンが1.5.14から1.5.17に上がってしまうので気をつけください。理由はこのバージョンにしないとFlatpakアプリケーションで日本語の入力が行えないからです。同じ理由でFcitxのバージョンも上げる必要がありますが、筆者のPPAでは提供していません。Ubuntu 18.04 LTSではFcitxも使用できます。

Ubuntu 17.10でかつ筆者のPPAを追加する場合は端末で次のコマンドを実行してください。

$ sudo add-apt-repository ppa:ikuya-fruitsbasket/flatpak
$ sudo apt update
$ sudo apt upgrade

続けて実行環境をインストールします。

$ sudo apt install flatpak

完了後、ログアウトして再ログインしてください。

Flatpakパッケージのインストール

事前知識

Flatpakのパッケージをインストールする前に知っておくべきこととして、初期状態ではどこのリポジトリも登録されていないことです。

よってまずはリポジトリを登録するところですが、今回はFlathubにします。ここは事実上必須のリポジトリとなっています。

インストールするパッケージはLibreOfficeといいたいところですが、大きすぎるので新進気鋭のMarkdownエディターであるMarkerにします。

FlatpakはコマンドラインでもGUIでもどちらでも運用できますので、今回は両者を分けて紹介することにします。

コマンド編

おおむねFlathubのサイトに書いてあるとおりですが、まずは次のコマンドを実行してリポジトリを登録します。

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

パスワード入力後、登録が完了します。

インストールはFlathubのアプリケーション一覧「Command Line」タブにある「Marker」のコマンドを実行します。

$ flatpak install --from https://flathub.org/repo/appstream/com.github.fabiocolacio.marker.flatpakref

必要なランタイムをインストールするか質問されるので、"y"を入力してエンターキーを押してください。あとはしばらく待っているとインストールが完了します。

GUI編

Flatpakは「ソフトウェア」⁠Ubuntuソフトウェア」または「GNOMEソフトウェア⁠⁠)をフロントエンドにすることができますが、必要なパッケージはインストルされていません。よってまずはそれをインストールするところからですが、コマンドラインからのインストールが必須です。次のコマンドを実行してください。

$ sudo apt install gnome-software-plugin-flatpak

一度ログアウトして再ログインします。

WebブラウザーでFlathubを開き、⁠the repository file」をクリックしてリポジトリファイルを「ソフトウェア」に渡します図1⁠。すると「ソフトウェア」が開くので図2⁠、⁠インストール」をクリックします。

図1 Firefoxで「ソフトウェア」に渡す
画像
図2 ⁠インストール」をクリックする
画像

インストールはリポジトリ登録後に「ソフトウェア」で検索すると簡単なので、その方法を紹介します。

「ソフトウェア」を起動し、ヘッダーバーの右にある虫眼鏡の検索アイコンをクリックしてインストールするアプリケーションを検索します図3⁠。Flathubからインストールできる場合は「ソース: dl.flathub.org」と表示されるので、これを目安にしてパッケージを探し、⁠インストール」をクリックします図4⁠。しばらく待つとインストールが完了します。

図3 ⁠Marker」を検索する
画像
図4 ⁠インストール」をクリックする
画像

Ubuntuのテーマと合わせたい場合は「Ambiance GTK theme」もインストールするといいでしょう図5⁠。

図5 Ubuntuのテーマも用意されている
画像

Flatpakパッケージの起動、アップデートと管理

起動

Flatpakパッケージはインストール後、原則としてはメニューに登録されるので、そこから起動するのが最も簡単です図6図7⁠。もちろんコマンドラインからも起動できますが、ちょっと特殊です。

図6 ⁠LibreOffice Writer」「Mozcの設定」の間に「Marker」がある
画像
図7 起動したMarkerでMarkdownファイルを表示した
画像
$ flatpak run com.github.fabiocolacio.marker

Markerでの例ですが、このようにflatpakコマンドの引数で起動するアプリケーションを指定しています。

アップデート

パッケージのアップデートは、コマンドラインの場合は次のコマンドを実行してください。

$ flatpak update

GUIの場合は告知されるので図8⁠、⁠ソフトウェア」を起動し、⁠更新」をクリックしてください図9⁠。

図8 アップデートがある場合、通知が表示される
画像
図9 ⁠ソフトウェア」からアップデートを行う
画像

削除

パッケージの削除は、コマンドラインの場合は次のコマンドを実行してください。

$ flatpak uninstall com.github.fabiocolacio.marker

GUIの場合は「ソフトウェア」を起動し、削除したいパッケージを表示して「削除」をクリックしてください図10⁠。

図10 インストール後は「ソフトウェア」から起動と削除ができる
画像

そのほか

そのほかflatpakコマンドを使用するとさまざま情報を取得できます。例えば現在インストールされているFlatpakパッケージの一覧を表示したい場合は次のコマンドを実行してください。

$ flatpak list

さらなる情報

Flatpakパッケージは最新版のアプリケーションの配信に適していますが、古いバージョンのアプリケーションの延命にも使用できます。その方法は同人誌うぶんちゅ! まがじん ざっぱ〜ん♪ vol7に書きましたので、ご一読いただければと思います。

簡単なSnapパッケージの作り方はUbuntu Monthly Report 第96回(Sowart Design 2018年4月号⁠⁠』で紹介していますので、あわせてご一読いただければ幸いです。

おすすめ記事

記事・ニュース一覧