KDE Linux、Javaアプリ・DOSアプリの初回起動を自動化。ベータまで83%

KDEが開発するイメージベースのLinux OSが、「開けないファイル」に自動で対応する仕組みを実装した。フルスタックQAシステムも稼働を始め、ベータまでの進捗は83%に達した。

KDE Linux、Javaアプリ・DOSアプリの初回起動を自動化。ベータまで83%

KDEが開発するイメージベースのLinux OSが、「開けないファイル」に自動で対応する仕組みを実装した。フルスタックQAシステムも稼働を始め、ベータまでの進捗は83%に達した。


開けないファイルを開けるようにする

イメージベースOS(いわゆるイミュータブルOS)には、構造的な弱点がある。ベースシステムが読み取り専用であるため、従来のLinuxのようにaptpacmanでランタイムを追加できない。

Javaアプリを受け取っても、JRE(Java実行環境)がなければ動かない。DOSの実行ファイルを渡されても、エミュレータがなければ何も起きない。

KDE Linuxの開発者ハディ・チョクル(Hadi Chokr)氏が7月に実装したPackage Compatibility Helperは、この弱点を解消する。

仕組みはこうだ。ユーザーがファイルを開こうとしたとき、システム上にそのファイルを扱えるソフトウェアがなければ、ツールが起動する。Flathubから必要なソフトウェアを取得してよいかユーザーに確認し、同意があればダウンロードして実行する。初回だけこの手順が入り、以降は通常通り動く。

現時点ではJavaアプリとDOSアプリに対応している。JREやDOSBox Stagingなど、ファイルに応じた実行環境を提案する。KDE Blogsの7月報では、DOSアプリの対応を紹介するスクリーンショットに1993年発売のDoomが映っている。

この仕組みはKDE Linux専用ではない。Flatpakを使うイメージベースOSであれば、どのディストリビューションでも利用できるよう汎用的に設計された。KDE Blogsの7月報によると、今後さらに多くのファイル形式やランタイムへの拡張が予定されている。

イミュータブルOSは「壊れにくい」ことが売りだ。だが日常的に使うには「何でも動く」こともまた要る。Package Compatibility Helperはその両方を成り立たせるための仕組みだ。

QAシステムが本番稼働を始めた

トーマス・ダックワース(Thomas Duckworth)氏とブシャン・シャー(Bhushan Shah)氏が構築してきた次世代QAシステムも、7月に統合が完了した。

KDE Linuxはシステム全体を単一の署名済みイメージとして配布する。パッケージの組み合わせで壊れることはないが、逆に言えば、イメージ単位で「正しく動くか」を出荷前に確認する必要がある。このQAシステムは、openQAを基盤に構築されたフルスタックの統合テストスイートだ。

ダックワース氏のブログ記事に詳細がある。従来のopenQAがスクリーンショットの画像比較(needle)でUIを検証するのに対し、KDE LinuxのシステムはアクセシビリティAPI(AT-SPI2)を通じてUIをコードで直接操作する。画面の見た目ではなく、アプリケーションの動作そのものを検証する設計だ。

CIパイプライン上でワーカーを一時的に起動し、インストール・アップグレード・基本操作を自動で検証してから出荷する。

このシステムはすでに実績を出している。稼働直後に2件の重大な問題を検出・防御した。

1件目はArch Linuxのgccリグレッションに起因するKWinのクラッシュで、ログインそのものが不可能になるものだった。2件目はログイン時のウォレット自動解除のリグレッション。どちらも修正済みだが、こうした統合テストがなければ出荷前に見つけられなかった種類の問題だった。

カーネル堅牢化とバグ修正

セキュリティ面では、チョクル氏がFedoraベースのセキュリティ強化プロジェクトSecureBlueの設定を参考に、KDE Linuxに適用可能なカーネル堅牢化の調整を追加した。ユーザーに体感できる負荷は与えない範囲だという。

パフォーマンス面では、ネイト・グラハム(Nate Graham)氏がデスクトップ用途に不要なハードウェアウォッチドッグのカーネルモジュールを削除した。CPU使用率がわずかに下がり、起動も速くなる。ダックワース氏はCUPSの印刷サービスをソケット起動に切り替え、必要時にのみ動作するようにした。

バグ修正も複数入った。DirtyFrag脆弱性の対策で削除されていたesp4/esp6カーネルモジュールが復元された。脆弱性自体は修正済みで、モジュールの欠如がIPsec VPNを壊していたためだ。

USB入力デバイスのオートサスペンド無効化スクリプト、既存システムと新規システム間のFlatpak同期メカニズム、WWAN(携帯回線)モデムの即時利用もそれぞれ修正された。

ドキュメント面では、Fcitx 5入力メソッドのXWaylandアプリでの設定手順や、デュアルブートのブートローダーメニュー設定が文書化された。デュアルブートについてはインストーラーが複雑なディスク構成に対応していないため、手動設定が前提となる。

ベータまで83%

KDE Linuxのベータマイルストーンは83%の進捗に達した。2月の62%、3月の71%、6月の78%と毎月伸びている。

KDE Linuxベータ進捗推移
※ベータマイルストーンの完了率。KDE公式月次報告に基づく

今回の7月報は、グラハム氏の個人ブログからKDE公式のblogs.kde.orgに掲載場所を移した初回でもある。

KDE Linuxは「壊れないOS」から「普通に使えるOS」へ、一歩ずつ距離を詰めている。

関連記事

この記事を共有する