Pop!_OS は、通常、いくつかの便利なデフォルトに基づいて、明らかな初心者向け Linux ディストリビューションとして推奨され続けています。 Nvidia ドライバーが自動的にインストールされ、洗練されたタイル ワークフローが同梱され、Linux ラップトップおよびデスクトップも販売する会社である System76 から提供されており、垂直統合スタックに近い印象を与えます。
しかし、プロモーションの層を超えて、実際にシステムがどのように設計されているかを見ると、別の景色が見えてきます。 Pop!_OS は、初心者向けの最も単純な Linux システムを目指しているわけではありません。むしろ、Linux をすでに十分に理解しているユーザー向けに構築されたディストリビューションになりつつあります。
垂直スタックの負担
Pop!_OS は独自のシステム スタックを構築します
ほとんどの Linux ディストリビューションは保守的なモデルに従い、上流のプロジェクトからソフトウェアを組み立て、一貫したテーマを適用し、安定性に重点を置いていますが、Pop!_OS は逆の方向に進んでいます… System76 は独自のシステム コンポーネントのエコシステムを着実に構築しており、Ubuntu の上に垂直統合されたスタックを効果的に作成しています。
このスタックには、system76-scheduler、system76-power、まったく新しい COSMIC デスクトップ環境などのシステム サービスが含まれています。このコードの多くは Rust で書かれており、これは System76 が最新言語の安全性と保守性を重視していることを反映しています。エンジニアリングの観点から見ると、これは本当に興味深い仕事です。
system76-scheduler を例に挙げます。 CPU のスケジューリングを Linux カーネルのデフォルトのヒューリスティックに完全に任せるのではなく、このデーモンはシステムの実行中に Completely Fair Scheduler のパラメータを積極的に調整します。大規模なプロジェクトをコンパイルしている開発者や、入力ラグを削減しようとしているゲーマーにとって、これは実際には非常に賢明です。 CPU を大量に使用するワークロードがバックグラウンドで実行されている場合でも、システムの応答性は維持されます。
問題は、何かが予期せぬ動作をしたときに何が起こるかということです。パフォーマンスの問題を診断しようとしている初心者は、標準の Linux スケジューリング動作を扱うことはもうありません。彼らは、スケジューラ パラメータを動的に変更する追加のデーモンを扱っています。ほとんどの Linux ドキュメントはデフォルトのカーネル動作を前提としていますが、Pop!_OS はその前提を静かに変更します。これは通常、初心者が必要とするものではありません。
COSMICとエコシステムのギャップ
COSMIC には成熟したエコシステムとサポートが不足しています
COSMIC デスクトップ環境の導入により、この効果はさらに増幅されます。過去 10 年間、Linux デスクトップの世界は主に GNOME と KDE Plasma という 2 つの主要な環境を中心に展開してきました。彼らは、膨大な量のドキュメント、拡張機能、チュートリアル、コミュニティの知識を蓄積してきました。ユーザーがバグに遭遇したとき、他の誰かがすでにそのバグについてどこかに書いている可能性が高くなります。
System76 は、GNOME のカスタマイズを続ける代わりに、まったく新しいデスクトップ環境をゼロから構築することを選択しました。これは Rust で書かれ、Wayland ベースのコンポジター上で実行され、長期的な柔軟性を考慮して設計されたモジュール式アーキテクチャを提供することを目的としています。繰り返しますが、エンジニアリングの観点からすると非常に興味深いです。ただし、エコシステムの成熟度レベルは、基盤となるテクノロジーと同じくらい重要です。
新しいRustベースのCOSMICに切り替えようとしたが失敗だった
COSMIC は GNOME から多くのヒントを得ていますが、日常のワークフローに必要な安定性に欠けています。 1 週間後、以前の Linux セットアップに戻ります
GNOME と KDE は長年にわたって改良されてきました。それらの特殊なケースはよく理解されており、その特異性は何千ものフォーラム スレッドやバグ レポートで文書化されています。 COSMIC はまだ新しく、周囲のエコシステムもそれに応じて小規模です。何か異常なことが起こったとき、集合的な知識ベースがまだ存在していないだけです。経験豊富な Linux ユーザーにとって、これは深刻な障害ではありませんが、初心者は通常、遭遇したエラーをグーグルで検索することに大きく依存しています (現在、チャット ボットが問題を悪化させています)。そのセーフティネットを取り除くと、学習プロセスはより険しいものになります。
それほど簡単ではない Nvidia ドライバー
Nvidia セットアップは重要なシステムの複雑さを隠します
Pop!_OS を支持するもう 1 つの議論は、Nvidia ドライバーの処理です。このディストリビューションは、プリインストールされた独自のドライバーを含む専用の ISO を提供します。これはユーザビリティの向上です。これまで、Linux に Nvidia ドライバーをインストールするには、ほとんどの初心者が慣れているよりも多くの手動手順が必要でした。最近のディストリビューションは、独自のドライバーをインストールするグラフィカル ドライバー マネージャーを提供していますが、そのプロセスはまだそれほど初心者向けではありません。 Pop!_OS は初期インストール段階を簡素化しますが、Linux ドライバー管理が実際にどのように機能するかを隠します。 Nvidia ドライバーはカーネル モジュールに依存しており、それらのモジュールは実行中のカーネルとの互換性を維持する必要があります。ほとんどのシステムは、カーネルの更新時にモジュールを自動的に再構築する DKMS を通じてこれを処理します。
最終的には、カーネルの更新が独自のモジュールと競合することになり (これは決して珍しいことではありません)、ドライバー マネージャーを通じてドライバーをインストールしたユーザーは通常、問題がカーネル モジュールと DKMS に関係していることを理解します。 「Nvidia ISO」をインストールしただけの人は、何が起こっているのかわからないかもしれません。インストールを容易にする抽象化により、後で役立つ可能性のあるコンテキストも削除されます。
ハードウェアのバリエーションにより、別の複雑さが生じます。 Nvidia のドライバー スタックは、GPU アーキテクチャごとに異なる方法で対話します。 GTX 10 シリーズなどの古い Pascal ベースのカードを使用しているユーザーは、最近、Wayland の負荷が高い環境との互換性の問題に遭遇しています。このような場合、単純であるはずの Pop!_OS セットアップの保守が予想外に困難になる可能性があります。
認知障壁としてのタイル張り
Pop!_OS は、Pop Shell インターフェイスを介したタイル ウィンドウ管理に重点を置いています。タイリング ウィンドウ マネージャーを使用すると、手動で配置することなく複数のウィンドウとペインをきれいに共存させることができ、タスク間を切り替える際の摩擦が軽減されますが、初心者は通常、デスクトップが根本的に異なる Windows または macOS 環境からやって来ます。
これらのシステムでは、Windows フロートとアプリケーションが重なり合い、ユーザーが手動で画面上にそれらを配置します。そのメンタル モデルは、数十年にわたる主流のオペレーティング システム設計によって強化されてきました。タイリングは、その使い慣れた動作を、多くの場合キーボード ショートカットに依存する自動レイアウト システムに置き換えます。 Pop!_OS ではタイリングを無効にすることができますが、タイリングは依然としてシステムの設計哲学の中心であり、興味深いユーザビリティの問題を引き起こします。
タイル指向のディストリビューションを初心者に推奨するということは、初心者に 2 つのなじみのないことを学ぶように求めることを意味します。彼らは新しいオペレーティング システムと Windows を管理する新しい方法を学ばなければなりません。インターフェイス設計の文献では、この種の認知的積み重ねを妨げる傾向があります。学習は、変化が徐々に導入されるときに最も効果的に機能します。初心者ディストリビューションは、後から高度なワークフローに対応できる余地を残しながら、参入障壁を低くするのが理想的です。
Linux のタイル ウィンドウ マネージャーが気に入らない理由
場合によっては、積み重ねたほうがよい場合もあります (それでも、タイルを貼りたいときはタイルを貼ります)。
Pop!_OS は、そのスペクトルの最先端に近いところから始まります。 Windows から移行している人にとって、アプリケーションを起動する Super Plus Enter のようなキーボード駆動のワークフローは奇妙に感じるかもしれません。従来のメニュー構造の代わりに検索可能なアプリケーション ランチャーに依存するだけでも、確立された習慣を破壊する可能性があります。これらは克服できない課題ではありませんが、不必要な課題です。
安定性は退屈なソフトウェアから生まれる
成熟したエコシステムはより予測可能なエクスペリエンスを提供します
テクノロジージャーナリズムは目新しさを称賛する傾向があります。新しいプログラミング言語、新しいアーキテクチャ、新しいフレームワークは、不釣り合いなほどの注目を集めます。 Pop!_OS は、そのコンポーネントの多くが真に最新であるため、この物語から恩恵を受けています。 COSMIC は Rust で書かれており、デスクトップ スタックは現代の設計原則を念頭に置いて再構築されていますが、安定性は、長い時間を経たソフトウェアから得られることがよくあります。
Linux Mint のようなディストリビューションは、古くてよく理解されているコンポーネントを意図的に選択しています。彼らのデスクトップ環境は、数百万台のマシンでの長年の使用を通じて洗練されてきました。その成熟度により、驚くべきエッジケースの数が減少します。メニューは一貫して動作し、通知システムが劇的に変更されることはほとんどありません。フォーカス処理のバグは、長いリリース サイクルにわたって繰り返し発見され、修正されてきました。
Pop!_OS は現在、エコシステム内で異なる役割を担っています。これは、System76 が Linux デスクトップへの新しいアプローチを実験する環境です。これらの実験は最終的に他のディストリビューションに影響を与える可能性があります。イノベーションはエコシステムにとって健全ですが、常に最も予測可能なエクスペリエンスを生み出すとは限りません。
初心者ディストリビューションは目新しさよりも予測可能性を優先する必要があります
経験豊富な Linux ユーザーが Pop!_OS を初心者に勧めるとき、彼らは自分の優先順位をまだ共有していない人に自分の優先順位を投影していることがよくあります。彼らは、統合された GPU スイッチング、最新の Rust コンポジター、タイル ウィンドウ ワークフローなどの機能を見て、それらが使い始めたときにどれほど便利だったかを想像します。
これらの機能はすべてクール (ポップ!) ですが、初心者は Linux の基礎を学習する際に、予測どおりに動作するシステムを必要とします。広く文書化されており、チュートリアルで期待されているとおりにほぼ正確に動作するディストリビューション。