GNOME Boxes の再構築と未来
GNOME Boxes の再構築と未来が以下で紹介されています。GNOME Boxes
GNOME Boxes は仮想マシンです。Linux や Windows を GNOME Boxes の仮想マシンにインストールし、ゲスト OS を仮想マシン内で動作させることができます。
USB デバイスをリダイレクトする機能や、3D アクセラレーション、クリップボードやフォルダーをホストと共有する機能も提供しています。
GNOME Boxes の再構築
GNOME Boxes の再構築作業はすでに始められており、2年が経過しています。そして今回再構築された GNOME Boxes のテスト版が利用可能になりました。
さてこれに合わせ GNOME Boxes での再構築の内容や、今後の方針が紹介されています。
Flatpak でのみ提供
公式の GNOME Boxes は、Flatpak でのみ提供されます。Flatpak
Flatpak は様々な Linux ディストリビューションに横断的にアプリを配布する仕組みです。Flatpak の登場によりアップストリーム自身がアプリをビルドし、ユーザーに直接提供できるようになりました。
Flatpak 登場以前
Flatpak 登場以前の Linux ディストリビューションでは、主にディストリビューター自身がアプリをビルドしてユーザーに提供し、ユーザーもまた主にそれらのアプリを利用していました。もちろん今でもディストリビューター自身がアプリをビルドしてユーザーに提供する方法は、一般的かつ広く普及している方法ですし、ディストリビューターが提供しているアプリをそのまま利用しているユーザーも多いでしょう。
アップストリームが制御できない
しかし従来の方法はアップストリームがアプリのビルド方法や配布に関し、制御が難しいという課題がありました。加えてディストリビューションごとに実装が異なるため、それぞれのディストリビューションに合わせた修正が必要になるケースも少なくありません。
アップストリームによっては、この状況は持続可能な状況ではありません。
libvirt/qemuのフロントエンド
GNOME Boxes は libvirt/qemu のフロントエンドアプリです。仮想マシンの機能はバックエンドである libvirt と qemu によって支えられています。
バックエンドにはそれぞれバージョンや構成があり、バージョンによって利用できる機能や性能に違いが出ます。
ディストリビューションが提供するバックエンドを利用するのではなく、Flatpak にバックエンドを含めた仮想化スタックを一纏めにして GNOME Boxes を提供すれば、ディストリビューションごとの違いを吸収できるようになります。
GTK4 と Libadwaita への移行
次に GTK4 と Libadwaita への移行です。GNOME 向けアプリなら自然なことでしょう。
UX の改善
GTK4 と Libadwaita への移行により、最新の UI の導入や応答性の向上、デスクトップとの統合が実現されました。さらにコードベースのメンテナンス性が大幅に向上しました。
SPICE から Libmks へ
従来は GTK3 ベースの SPICE ディスプレイウィジェットを使用していました。SPICE は古い入力処理や描画方式と密接に結びついました。
今回の移行の一環として、SPICE が Libmks に置き換えられました。
コードベースの現代化
コードベースが現代化され、新しいコントリビューターが継続的に開発に参加しやすくなりました。コードベースの現代化にあたり、GNOME アプリの現代的な設計パターンが取り入れられており、基盤となるアーキテクチャーが根本から見直されています。
Windows 11 のインストールも簡単に
Windows 11 のインストールには、UEFI セキュアブートと TPM デバイスが必要になります。GNOME Boxes ではこれらの構成を自動的に設定する機能もあり、簡単に Windows 11 をインストールすることも可能です。
ゲスト OS に SSH 経由で直接アクセス
Flatpak はサンドボックスでソフトウェアを実行します。そのためそのままでは VM コンテンツへのアクセスが困難です。
VSOCK デバイスの導入
そこで VM に VSOCK デバイスが導入され、systemd v256 以降を搭載したゲスト OS なら、SSH経由で VM コンテンツへ直接アクセスできるようになりました。またポートフォワーディングの初期サポートも追加され、ホスト OS から VM 内で実行されているサービスにアクセスできるようになりました。


