Linux デスクトップを混乱させた 60 年にわたる Unix 設計の選択

in tech

Linux がデスクトップ ユーザーを獲得するのに苦労している理由の 1 つは、Linux デスクトップが混乱しているという認識にあります。アプリは互いに見た目が違いすぎるため、コマンドラインのエリート主義者がシステムを支配しています。 Linux デスクトップのあり方は、主に Linux の前身である Unix と、60 年代、70 年代、80 年代に行われたいくつかの設計上の選択に由来しています。

Unix は「プログラマによるプログラマのための」ものでした

何かを正しくやりたいなら、自分でやれ

Xfce デスクトップでターミナル ウィンドウが開いており、pstree 出力、Vim で開いている .bashrc ファイル、ターミナル シェル ウィンドウがすべて重なって表示されています。

オリジナルの Unix は、1960 年代後半のベル研究所の開発者、ケン・トンプソンとデニス・リッチーの愛の結晶であることは明らかです。

トンプソンとリッチーは、現代のクラウド コンピューティングに似た「コンピューティング ユーティリティ」を開発する MIT、ベル研究所、ゼネラル エレクトリックによる野心的なプロジェクトである Multics プロジェクトに参加していました。 Multics が当時の他のコンピューティングの取り組みと異なっていたのは、ほとんどのコンピューティングがパンチカードを使用した「バッチ モード」で行われていた時代に、インタラクティブ コンピューティングに焦点を当てていたことでした。そのアイデアは、水道や電気のサービスと同様に、確実に動作するコンピューティング サービスを開発することでした。

Unix およびその後の Linux システムの一部となるいくつかのコンポーネント (置換可能なシェルや階層ファイル システムなど) は Multics 上で開発されました。

残念ながら、プロジェクトは行き詰まり、ベル研究所は撤退しましたが、後にハネウェルが商品化しました。トンプソンとリッチーは、Multics の画期的なプログラミング環境を引き続き使用したいと考えていました。デジタル PDP-7 が利用可能だったので、彼らは Unix と呼ばれる新しいシステムの開発に取り組み始めました。

Unix の開発は、制約のあるハードウェア (PDP-7 は古いラップトップに相当) の利用と、「プログラマによる、プログラマのための」Unix のようなオペレーティング システムの確立という 2 つの伝統を確立し、現在も Unix に受け継がれています。

最新の Linux システムは、滑らかなグラフィカル インターフェイスで技術者以外のユーザーにも対応しようとしていますが、プログラミング、エンジニアリング、データ サイエンスなどの技術的なタスクに適しています。

Unix ではテキストが王様でした

グラフィックスが存在しない場合は GUI はありません

-v フラグを指定した lspci コマンドの出力を表示する Linux ターミナル。

最新の Linux で依然として人々を不快にさせる要因の 1 つは、テキストの向きです。ほとんどのデスクトップ システムにはデフォルトでデスクトップ環境が備わっていますが、ユーザーはコマンド ラインを使用して多くの詳細な作業を行います。これも伝統によるものです。

テキストが強調されているのは、1960 年代後半から 1970 年代前半にはグラフィカル ユーザー インターフェイスが存在していなかったという事実によるものです。パンチカードはメインフレームでユーザープロセスに使用されていましたが、ミニコンピューターはテレタイプを介してコマンドラインでの対話型作業をサポートすることが多かったです。これらは事実上、リモート接続を受信できるタイプライターであり、通常は専用回線を介してリモート接続を受信できますが、緊急時には公衆電話システムを使用することもできます。

彼らは遅く、騒々しく、大量の紙を使用しました。 1970 年代にはビデオ端末が登場しました。これらは、画面とキーボードを備えた現代の PC に似ていますが、実際のコンピューターは別の部屋や建物にあることがほとんどでした。モデムまたは専用線を使用すると、コンピュータが別の都市にある可能性があります。紙を必要としないため、テレタイプよりも経済的でした。

ほとんどの端末で処理できるのはテキスト指向だけだったので、依然としてテキスト指向でした。

Xは「ポリシーではなくメカニズム」を設定する

「ディスプレイの管理は私たちが行いますが、UI についてはお客様ご自身でお願いします。」

FVWM のターミナル ウィンドウ。

1980 年代初頭、MIT では、Project Athena の開発者が、現在コースウェアと呼ばれるものをサポートする教育用分散コンピューティング環境を開発するプロジェクトに入札したさまざまなメーカーのワークステーション上のグラフィックスを管理する方法を必要としていました。このプロジェクトに参加した主な企業は、Digital Equipment Corporation と IBM の 2 社です。

X Window System は、この野心的なプロジェクトの一部でした。学術および技術コンピューティングにおいてワークステーションがより一般的になりつつあったため、X はさまざまなデバイス間で動作するウィンドウ システムの標準となりました。マシンごとに機能が異なるため、システムはその機能についての仮定をできるだけ少なくする必要がありました。 X は、ユーザー インターフェイスの定義よりも、画面のペイントとキーボードとマウスの処理に主に関心を持ちます。

主要開発者の一人であるジム・ゲティスは、1991 年の X に関するビデオ講義でこれを「ポリシーではなくメカニズム」と呼んだ。エリック・S・レイモンドは著書の中で次のように主張している。 Unix プログラミングの芸術、このアプローチは、X だけでなく、Unix 風のシステム全体を特徴付けるものであると考えられます。

ユーザーインターフェイスはいたるところにありました

UIを変更できる場合、1つだけを選ぶのは難しい

メカニズムをポリシーから分離した結果、デスクトップ、ウィンドウ マネージャー、および Linux 用アプリケーションの開発者は、物事がどのように機能するかについて大きく異なる意見を持つことになります。ウィンドウ内をクリックしてウィンドウを上げたりアクティブにしたりすることもできますが、Linux ではウィンドウのフォーカスをマウス ポインタに追従するように設定することができます。これにより、カーソルがその上にあるときのみウィンドウがアクティブになります。

デスクトップとウィンドウ マネージャーはすべて独自の美学を持っています。ウィンドウ マネージャーはウィンドウの周囲に境界線を描き、デスクトップとアプリはツールキットに依存して要素と全体的な「ルック アンド フィール」を定義します。別のツールキットを念頭に置いて設計されたアプリを使用したことがある場合は、すぐにそれに気づくでしょう。そのため、デスクトップには通常、さまざまなアプリを使用する際の不快感を軽減するために、Windows や macOS で提供されるものと同様の一連のプログラムが同梱されています。

最新の Linux における影響

テキスト端末など、はるか昔に存在しなくなった設計上の制約の影響は、引き続き Linux の設計に影響を与え続けています。デスクトップが広く利用可能であるにもかかわらず、他のシステムには存在しないコマンド ラインに重点が置かれています。一貫した設計を強制するのは難しく、技術的知識のないユーザーを拒絶する可能性があります。そして、熱心な技術ユーザーはこの方法を好みます。

関連情報は以下のリンクからご確認いただけます

詳しい情報を見る

関連記事

前の投稿
これら 5 つの伝説的な無料オープンソース アプリは、高価な有料アプリよりも優れています
次の投稿
Android のプライベート DNS 機能は、ほとんどの人が気づいていない問題を解決します

関連記事