2019の3日目です。Nightでボツにした方のネタ、flatpakについて書きます。Linuxデスクトップ元年......?今年は令和元年ですが、Linux界隈で"元年"と言えば"Linuxデスクトップ元年"と言いたいところです。「今年こそLinuxデスクトップ元年」って何回聞いたかよくわかりません。Linuxデスクトップ環境そのものはごく順調に進化しているのですが残念ながら普及しているとは言いにくいです。Hatの看板製品で、従来デスクトップ用途もカバーしていたのですが、ついに今年RHELのデスクトップ向け型番はなくなってしまいました......(workstationは引き続き提供しています)。8に含まれるデスクトップ向けソフトウェアも少なく、RHELで提供される範囲だけでデスクトップ環境として利用するのは無理があります。H.264のcodecはfirefoxにはciscoから提供されたライブラリがついてくるものの、一般的なビデオ再生などで使えません。端的に言ってしまうと「Youtubeは再生できるけどローカルのビデオは再生できない」というようなつらい状況です。ForumのRHEL8ブースで動画を流したかったのですが、上述のようにcodecもないですし、関連ライブラリとVLCをインストールしたくなりました。RHELに含まれないデスクトップアプリケーションを追加でインストールしようというときに、いくつか考えられる手法があります。RHELのパッケージ管理とうまく連携させるのが難しいのでできれば避けたいところです。将来の更新時に依存関係の競合が起きると面倒です。コンテナのようにホストのシステムと独立して、依存関係込みでアプリケーションを導入します。パッケージと競合しない点が便利です。EPELに含まれています。コンテナのようにホストのシステムと独立して、依存関係込みでアプリケーションを導入します。パッケージと競合しない点が便利です。RHELに含まれています。flatpakはRHEL8にも含まれています。今回はこれを使ってみましょう。flatpakとは?flatpakは、アプリケーションを配布するための技術で、OSTreeを基盤としています。アプリケーションのバイナリとバイナリが依存するライブラリをまとめて配布し、ディストリビューションによりません(厳密にはkernelの違いなどで影響があります)。デスクトップ環境との統合が行われています。KDE(Qt)の3種類のランタイムが標準的に提供されています。OSTreeとは?OSTreeは、一般的なディレクトリツリーをgitのようにバージョン管理します。gitにもバイナリファイルを配置できますが、OSTreeでは起動可能なシステムのディレクトリツリーを扱う事を考慮しています。具体的な特徴としては以下のようなものがあります。Host)でのOSアップデートの基盤技術として利用されています。同じ技術をアプリケーション配布用に使うのがflatpakです。利用のための設定は非常に簡単で、RHELのデスクトップ環境が既に手元にあるならflatpakパッケージを入れたあと、flathub.orgで3クリックして設定パッケージを導入することで完了します。Hatからのサポートは特にありません。これは配布手法に何を使っても同じですので気にせず進みます......。カテゴリのアプリケーションを見たときのスクリーンショットです。8そのままだと存在しなかったVLCのアイコンが画面下のほうに登場しています。まとめRHELをデスクトップ用途に使うのはしんどいのですが、もし使う必要がでてきたらflatpakとflathubを思いだすと少し楽ができます。:)おまけ個人的にはOSTree推しですが、実は最新のflatpakではOSTreeだけではなくコンテナイメージで標準的に使われるOCI形式も扱えたりします。