それで、私は現在、興味からオペレーティング システムを調べていて、独自のオペレーティング システムの作成に関する記事やガイドをいくつか読んできましたが、Linux と、ゼロから独自のオペレーティング システムを作成する方法が私には魅力的ではないことがわかりました。そこで、自分でカスタマイズできる既製の Linux OS を入手できることがわかりましたが、さらに調べてみると、それは私が探しているものではないことがわかりました。
ファイルの読み込み方法やアプリケーションの処理方法を変更するつもりはないので、タスク バー (Windows の場合)、スタート ボタン、デスクトップなど、ユーザーが操作する OS の部分 (アプリケーション?) をカスタマイズできるようにしたいと考えていますが、どこから調べ始めればよいでしょうか?
- また、私は単にきれいな色のボタンがいくつかあるだけのテーマを作成しようとしているのではなく、基本を学んで、表示方法を再現したいと考えています。
正しい方向を指し示してくれると嬉しいですし、その途中で学ぶ必要があるかもしれないことがあれば教えてください。
(OS に関する知識はありませんが、いくつかの高等コーディング言語に関する知識はあります)
答え1
Linuxには、次のようないくつかの異なるグラフィカルユーザー環境が用意されています。グノーム、翻訳またはエクセデスクトップ環境。このようなデスクトップ環境には、次のようなパネルアプリケーションが含まれます。GNOMEパネルまたはKDE キッカーこれらのアプリケーションはタスクバーとアプリケーションランチャー(Windowsのスタートボタンに相当)を提供します。デスクトップ環境には、ウィンドウマネージャは、アプリケーションウィンドウの配置と外観を制御するソフトウェアです。これらすべての外観は、違う 種類のテーマ。
グラフィカルユーザー環境の動作をカスタマイズしたい場合は、さまざまなウィンドウマネージャさまざまな形やサイズのものがあります。
ほとんどのLinuxディストリビューションは、上記のデスクトップ環境のいずれかを搭載していますが、通常は他のグラフィカルユーザー環境も提供しており、パッケージ管理システムディストリビューションに同梱されているデフォルトの環境が気に入らない場合でも、好みのグラフィカル ユーザー環境を最初から設定するのではなく、ディストリビューションを使用することをお勧めします。これは通常、決して簡単な作業ではありません。
デスクトップ環境の基盤には、ほとんどのデスクトップLinuxシステムには、X ウィンドウ システムは、グラフィカルユーザーインターフェースのシステムレベルのインフラストラクチャです。Xの標準的な実装は、X.org ディスプレイサーバー最近のほとんどのデスクトップ Linux ディストリビューションで使用されています。
ウェイランドは、X Window Systemを置き換えることを目的とした、注目のディスプレイサーバープロトコルです。合成ウィンドウマネージャウェイランドはウェストンGNOMEとKDEの両プロジェクトはWaylandのサポートを実装すると発表しましたが、現在、一部のLinuxベースのOSでは使用されているものの、デスクトップでは実用的な代替手段ではありません。車載インフォテインメント(IVI) システム。
答え2
ファイルの読み込み方法やアプリケーションの処理方法を変更するつもりはないので、タスク バー (Windows の場合)、スタート ボタン、デスクトップなど、ユーザーが操作する OS の部分 (アプリケーション?) をカスタマイズできるようにしたいと考えていますが、どこから調べ始めればよいでしょうか?
私もデスクトップには非常にこだわりがあります。GNU/Linux はモジュール設計のため、この点では Windows や OSX よりもはるかに柔軟になる可能性がありますが、最大限に活用するには、どのように組み合わされるかを理解する必要があります。
カーネルの他に、通常の Linux GUI には 3 つのレイヤーが関係します。
Xorg サーバーは普遍的です。私の知る限り、これに代わるものはありません (Wayland は別として、Thomas Nyman の回答を参照してください)。サーバーと呼ばれるのは、GUI アプリケーションがサーバーのクライアントであるためです。Xorg (以前の X11、別名「X Windowing System」) は、最初の MS および Apple GUI とほぼ同時期に登場しました。1単独 で使用することもできますが、ユーザーの観点から見ると、Xorg が提供するものは非常に基本的なものです。ただし、車のエンジンのように、Xorg が別個の存在であることを知って理解することが重要です。エンジンは単独ではほとんどの人にとってあまり役に立ちませんが、もちろん、エンジンのない車も役に立ちません。
ウィンドウ マネージャー (略称 WM)。X はウィンドウを作成するための基本的な機能を提供しますが、WM はタイトル バー、フレーム、独立したメニューなどを追加します。一部のウィンドウ マネージャーは、以下の #3 との統合専用に設計されていますが、その多くは単独でも使用できます。WM はウィンドウの動作と外観を管理するため、優れたスタンドアロン WM は必要なものをすべて提供できます。ただし、タスク バーなどは実際には「ウィンドウ」の特殊な形式であり、一部の WM はそれらを構成およびインスタンス化できることに留意してください。また、タスク バーとドックは多くの場合、#3 を必要とせずに WM で実行できる独立したアプリケーションです。いつかこれを試してみることを強くお勧めしますが、新しいユーザーには少しわかりにくいかもしれません。
デスクトップ環境。略して DE と表記されます。DE は WM の上に構築され、多くの場合、使用する WM を選択できますが、最初はデフォルトのままにしておく必要があります。多くの点で、DE は実際には WM の GUI フロントエンドです。WM は一般にテキスト ファイルで構成され、DE はポイント アンド クリック インターフェイスを提供します。通常、DE には統合アプリケーション スイートも含まれており、その中心となるのはファイル ブラウザーです。ただし、これらのアプリケーションは DE を必要としないことがよくあります (たとえば、私のお気に入りのターミナル アプリは XFCE のターミナルですが、私は XFCE は使用していません)。すでに述べたように、タスク バーもこの例の 1 つです。したがって、ここではさまざまな組み合わせが可能です。
私は主要な DE の状況について詳しいわけではないので、設定に関してそれらすべてがどの程度柔軟であるかを正確に言うことはできません。伝統的に、柔軟性はむしろ WM の特性であり、DE は最終的にその特定のビジョンに合うようにこれを制限します。ただし (警告しました!)、真に動的なスタンドアロン WM は通常、HTML/CSS の複雑さと同程度のテキスト ファイルでの作業が多くなります。基本的なことを行うのは難しくありませんが、必要なものを正確に簡単に得るにはある程度の経験が必要です。
CD を焼くことに抵抗がなければ、Gnome、KDE、XFCE など、さまざまな DE を使用するライブ CD をいくつか作成し、短期間で希望どおりの外観にする方法を見つけ出すことをお勧めします。うまくいかないかもしれませんが、どの DE で作業するのが好みかはわかるはずです。その時点ではテーマや色は無視して、機能に焦点を当ててください。
現在、私は KDE を主な環境として使用しています。前述のように、私は非常にこだわりがあり、KDE は非常に設定可能です。長い間 GNOME を見ていなかったので、設定可能性の点で比較するとどうなのかはわかりませんが、DE のカテゴリで柔軟性の面で大きな候補となるのはこれら 2 つだと思います。
最後に言及すべきことはウィジェットセットこれは、上記の1、2、3のようなレイヤーのようなものです(実際にはそうではありません)。2ウィジェット セットは、ウィンドウフレーム内の一般的なもの(ボタン、スクロールバーなど)の外観を決定するものであり、二GUI の外観には、ウィジェット セットのテーマ (フレーム内) と WM のテーマ (フレーム、タイトルバー) という、別個で独立した形式の「テーマ」が関係します。Linux で最も一般的なウィジェット セットは GTK です。これは GNOME と連携して開発されましたが、他の DE でも使用されています。これに対する大きな例外は、クロスプラットフォーム ツールキットである Qt を使用する KDE です。
1はい、それは Linux よりも古いです。X は「Unix ライク」な世界全体で使用されています。
2「ウィジェット セット」は、Qt と GTK (+glib) がウィジェットを提供する以上の機能を備えているため、少し曖昧な用語ですが、現時点ではこれで十分です。