ウィンドウマネージャーxウィンドウシステムの比較。 I3wm。 Linuxに最適なウィンドウマネージャー。 タイル型マネージャー。 デスクトップ環境のないウィンドウマネージャー

09.07.2020

Linuxウィンドウマネージャーは、システム上のアプリケーションウィンドウを管理するために使用されます。 たとえば、グラフィカルアプリケーションを起動すると、独自のウィンドウが開きます。 このウィンドウを移動して美しく見せるために、これらすべての機能を担当するマネージャーがバックグラウンドで作業しています。

通常、ウィンドウマネージャーはデスクトップ環境に組み込まれていますが、非常に軽量なシステムの場合は、環境なしでウィンドウマネージャーを使用できます。 この記事では、システムにインストールして使用できる最高のLinuxウィンドウマネージャーを集めました。

ウィンドウマネージャーとデスクトップ環境を混同しないでください。 デスクトップ環境には通常、ツールバー、壁紙、ウィジェット、フォルダー、およびアイコンが含まれています。 また、通常、コンピューターでの作業を容易にするために、ライブラリとアプリケーションの個別のセットがあります。 また、ウィンドウマネージャーはウィンドウのみを管理します。 デスクトップ環境には、ウィンドウを個別に描画および作成できるウィンドウマネージャーとウィンドウビルダーが既に組み込まれています。

1.i3

私たちのリストの最初はi3です。 これは、十分に文書化され、高度にカスタマイズ可能なウィンドウマネージャーです。 このマネージャーでは、ユーザーはその位置から始めて、必要に応じてすべてを構成できます。 アプリケーションを開く独自のキーボードショートカットで終わります。 i3の利点は、すべての構成がプレーンテキストであるため、LUAやHaskellなどの言語を知る必要がないことです。

フローティングウィンドウの切り替えは、Win + Shift + Spaceを使用して行われます。 ウィンドウマネージャーは積極的に開発されており、見つかったエラーは開発者によって修正されています。 ターミナルを使用して、必要なアクションを実行することもできます。

2.素晴らしいWM

Awesome WMは、Xlibの代わりにXCB非同期ライブラリを使用するLinux用の最高のウィンドウマネージャーの1つです。 ウィンドウマネージャーはC ++で書かれています。 カスタマイズしたり、スタイルを変更したり、 外観また、ホットキーをカスタマイズします。 そして、これはすべてLUA言語で行う必要があります。

デフォルトの構成で十分です 快適な仕事..。 ここでは複数のデスクトップがサポートされており、マウスを使用してパネルのサイズを変更したり移動したりできます。 すべてのコンポーネントは、構成ファイルを介して変更できます。

3. XMonad

XMonadは、Haskellプログラミング言語でウィンドウマネージャーを拡張できるようにしたい場合に最適です。 事前にプログラムされたテンプレートに制限されることはなく、構成内のすべてをプログラムできます。 デフォルト設定は非常に簡単に変更でき、プログラムコードは常にクリーンで安全に保たれます。 XMonadは非常に高速で軽量なので、低速のシステムでも動作します。

機能のうち、複数のモニターのサポートに注意することができます。また、機能が不足している場合は、モジュールを使用して追加できます。

4.オープンボックス

Openboxは非常に軽量で、最も人気のあるLinuxウィンドウマネージャーの1つです。 たった100メガバイトしかかかりません ランダム・アクセス・メモリロード後。 それは非常に安定しており、開発者は常に新しい「穴」やバグを埋めています。

高度にカスタマイズ可能で使いやすいです。 構成ファイルを編集したり、カスタマイズユーティリティを使用したりできます。

5.DWM

このLinuxウィンドウマネージャーはパッケージに含まれています ソフトウェアサックルズスイート。 通常、ユーザーは変更することで機能をカスタマイズおよび拡張できます ソースコード..。 すべてのdwmコードは2000行未満に収まるため、非常にクリーンで読みやすいコードの例です。 さらに、dwmは非常に軽量で、シンプルなデザインであり、リソースが少なくて済みます。

シンプルなdwm設定とホットキーはよく考えられており、これが最高のウィンドウマネージャーの1つになっています。 デスクトップ上のアプリケーションとウィンドウをグループ化できます。 バーマネージャーのステータスには、Wi-Fi接続、音量レベル、バッテリーのステータスに関する情報が表示されます。

6.ガラ

このウィンドウマネージャーは、GTKクライアントデコレーションに基づいています。 ElementaryOSのデザインルールを使用したかのように、シンプルでありながら思慮深いデザインになっています。

ガラは初心者に適しています。 それは信じられないほど構成可能であり、簡単に使用するために必要なすべてのホットキーを備えています。 ホットコーナーでは、特定のタスクまたはコマンドの実行を割り当てることができます。

また、ガラにはアニメーションと興味深い効果があります。 必要に応じて追加および削除できます。 ウィンドウマネージャーは非常に軽量で、Chromebookや古いラップトップなどのローエンドハードウェアでうまく機能します。 ガラは安定しています。 また、これまでで最も参照されているウィンドウマネージャーの1つと見なされています。

7.KWin

KDEデスクトップ環境で高度にカスタマイズ可能なウィンドウマネージャー。 ただし、他のグラフィック環境でも使用できます。 任意の設定は、グラフィカルインターフェイスを介して変更できます。

KWinは、他のウィンドウマネージャーと比較して最も効果があります。 ウィンドウに影を付けたり、ベタベタしたりぐらついたり、さまざまな効果を追加してウィンドウを最小化および最大化するなどのことができます。

8.Fluxbox

最軽量のLinuxウィンドウマネージャーをお探しの場合は、Fluxboxが最適です。 どのハードウェアでも非常に迅速に動作します。 また、使いやすく、カスタマイズも簡単です。

構成するプログラミング言語を知る必要はありません。ウィンドウマネージャーには、単純な構成とウィンドウ管理があります。 キャリブレーション用のさまざまなテーマとパラメーターがプリインストールされており、自動タイリングがサポートされています。

9.ムスカ

このウィンドウマネージャーは非常にシンプルでわかりやすいと考えられています。 使い方もとても効率的です。 ディスクスペースとメモリ。 ここにはパネルや窓の装飾はありません。 ただし、追加のアプリケーションをインストールすることで追加できます。 ウィンドウグループ化システムは、仮想デスクトップと非常によく似ています。

Windowsはさまざまな名前のグループに分類されており、非常に簡単に切り替えることができます。 ユーザーはグループを作成または削除できます。 Muscaは複数のモニターをサポートし、ウィンドウグループを自動的に作成できます。

10. SpectrWM

このウィンドウマネージャーはXmonadと非常によく似ています。 ただし、プレーンテキストの構成ファイルを使用します。 設定を変更した後、環境を再起動せずに構成を再計算できます。 これにより、ユーザーはマネージャーを再起動せずに変更の結果を確認できます。 デフォルトでは、インターフェースは非常にシンプルです。

spectrwmのセットアップは非常に簡単です。これは、基本的な設定セットがあり、それらを変更するためにプログラミング言語を知る必要がないためです。 したがって、初心者やXmonadを使いたいが、Haskellを知らない人には理想的です。

11. HerbstluftWM

このウィンドウマネージャーは非常に理解しやすく、カスタマイズも簡単です。 すべての設定は コマンドラインそして、あなたは環境から抜け出す必要はありません。 HerbstluftWMの優れた機能は、手動および自動のウィンドウタイリングのサポートです。 ユーザーは、ウィンドウまたはアプリケーションごとに自動タイリングを設定できます。 自動タイリングはいつでも手動に変更できます。

Bashスクリプトを使用して構成しますが、それ以外の点ではすべてが非常に簡単です。 さまざまなレイアウトテンプレートを使用して、その場でテンプレートを作成できます。 2台のモニターの使用もサポートされています。

12.悟り

あなたが初心者なら、これはあなたにとって最高のウィンドウマネージャーです。 環境をセットアップするためにプログラミングの知識は必要ありません。 とにかく、それはデスクトップ環境のように見えます。 すべての設定は、グラフィカルインターフェイスを介して行われます。

好みに合わせて完全にカスタマイズできます。また、コンポジットマネージャーを追加することもできます。 仮想デスクトップ、ウィジェットもあります。 Enlightenmentは非常に高速な環境であり、ラップトップに最適です。

13. JWM

JWMは非常に軽量なウィンドウマネージャーです。 パピーリナックスのデフォルトのディスプレイマネージャーとして使用されます。 また、古いコンピューターにも最適です。 メニューとウィンドウは、他のマネージャーよりも速く開きます。 また、JWMは簡単に構成でき、プログラミングの知識は必要ありません。

14.ウィンドウメーカー

Window MakerのデザインはNeXTグラフィカルインターフェイスに非常に似ており、ユーザーが操作するのに便利です。 ウィンドウマネージャーは非常に軽量でエレガントで、さまざまなドックパネルによる拡張をサポートしています。

15. IceWM

IceWMは、最も軽量なウィンドウマネージャーの1つです。 ハードディスクの空き容量はごくわずかです。 キーボードを使用して操作するのに十分な速度と簡単さです。 使用できる設定やテーマもたくさんあります。 また、複数のモニターでの作業もサポートしています。

16.パンテオン

Linuxの初心者は、Pantheonは以前にmacOSを使用したことがある人のために作られていると思うかもしれません。 美しいデザインのモダンなウィンドウマネージャーです。 ここには、アプリケーションの起動に使用できるドックがあります。 プログラムは、カテゴリまたはアルファベットで並べ替えることができます。

17.XFWM

このコンポジットマネージャーを使用すると、画面を非常に簡単にパーツに分割し、そこにウィンドウを配置できます。 ウィンドウスナップが組み込まれているだけでなく、さまざまなスキンと新しいテーマを作成する機能があります。 新しいウィンドウを開く場所(画面の端または中央)をカスタマイズできます。

18.Ratpoison

Ratpoisonの設定は非常に簡単です。 構造が非常にシンプルなため、他のマネージャーよりもセットアップにかかる時間が大幅に短縮されます。 プログラムの主なアクションはキーボードを使用して実行され、マウスでの作業はほとんどありません。 必要に応じて、複数のデスクトップを作成できます。

19. Compiz

Compizデスクトップキューブ

Compizは、過去によく使用されていた古いウィンドウマネージャーです。 ここには、クウィンよりもさらに多くの効果があります。 たとえば、デスクトップキューブ効果で知られています。 また、プラグインを使用したCompizの機能の拡張もサポートしています。 プラグインを有効または無効にすることで、この機能またはその機能を有効または無効にできます。 セットアッププロセスは非常に簡単です-すべてが特別なユーティリティにあります。

20.ウェイランド

このウィンドウマネージャーには描画APIがありません。 Waylandユーザーは、グラフィックメモリへのポインタのように機能するDRMバッファ記述子を取得します。 Waylandは、プロセッサではなく、グラフィックカードを使用して画像をレンダリングします。 Waylandは、グラフィカルなフロントエンドの作業を容易にし、多くの不要なものを削除します。 その主な目標は、Linuxグラフィックスタックを簡素化することです。 将来的には、すべての環境でXサーバーの代わりに使用される予定ですが、まだ開発中です。

結論

Linuxウィンドウマネージャーには、スタック、タイリング、コンポジットの3つの主要なタイプがあります。 コンポジットは、2Dおよび3D環境を処理します。 積み重ね可能で、ウィンドウを上に重ねることができます 背景画像デスクトップ。 また、タイリングにより、すべてのウィンドウが同時に表示され、重ならないようになります。

この記事では、最高のLinuxウィンドウマネージャーについて説明しました。 それぞれに長所と短所があります。 選択を決定する前に、必要なものを正確に決定し、できるだけ多くのオプションを試してください。 プログラムは無料で、いくつかのコマンドでインストールできます。 あなたが知っている最高のウィンドウマネージャーは何ですか? どちらを使いますか? コメントを書いてください!

LinuxにはKDE、GNOME、Unityなどの多くのWindowsマネージャーがありますが、すべてが適しているわけではありません。たとえば、コードを操作する場合は、グラフィカルなフリルなしでOSを操作するときに最大限の快適さが必要です。と鐘と笛。 タイル型ウィンドウマネージャーは、実際の画面領域の節約を表しています。 少なくとも画面の隅に丸みがないため、巨大な形になっています。 さらに、グラフィックリソースの使用、コンピュータメモリが最小限に抑えられます。 それでは、私の意見では最高のウィンドウマネージャーのレビューに移りましょう。

グラフィカルインターフェイスを変更する方法(グラフィカル/ウィンドウ環境)

起動時またはログイン時に、グラフィカルインターフェイスを変更するには アカウント Ubuntuはこのボタンをクリックします:

次に、プリインストールされているグラフィックデザインを選択します。

だから、レビュー自体

1.ウィンドウマネージャー-i3

外観---グラフィック描画をまったく必要とせず、十分に小さい人のための単なるおとぎ話-フレームのない窓、 簡単な説明車やその他のものをロードしているので、公式サイトからのスクリーンショット:

ご覧のとおり、すべてが面白くて非常に魅力的です。コードに簡単に登ってバックグラウンドで映画を見ることができ、さらに、右側のニュースを読むことができます)は非常に興味深いものです。 さらに、このサイトでは、このウィンドウマネージャーを簡単に制御するためのホットキーを見つけることができます。

さて、習慣として、読みにくい文章に対する罪悪感を和らげるために写真を添付し​​ます(そうでなければ、現時点ではできません)

2.ウィンドウマネージャー-素晴らしい

-英語からの翻訳のように-素晴らしい、私の意見では、タイル型ウィンドウマネージャー。 おそらくこのリストから最も便利なものの1つです-突然何かを修正または追加したい場合は、十分に文書化されたコードがあります:)そしてもちろん、メニューを簡単にナビゲートできるようにする一連のホットキーがあります。

サイトのスクリーンショット:

3.ウィンドウマネージャー-DWM

-動的ウィンドウマネージャー。 同時に、ウィンドウ装飾の「タイル」スタイルだけでなく、さまざまなスタイルも組み合わせています。必要に応じて選択します。これが、上記のウィンドウマネージャーとの主な違いです。 キーボードショートカットも同様に理解、記憶、管理が簡単です:)ので、スクリーンショットを次に示します。

私たちが見ることができるように-色でより飽和している、興味深いウィンドウフレーム:)

結論、結論

もちろん、これらのオプションはすべての人に適しているわけではなく、通常のユーザーよりもコードを扱う人々に受け入れられます。 だけでなく 通常のユーザーフレーミングなしで実空間のみを占有するためにウィンドウを必要とする、も悪いオプションではありません。 各ウィンドウマネージャーは非常に機能的で、すばやく制御するためのホットキーがあります。 試してみてください-ほとんどの場合、インストールは非常に簡単で、探す価値があります Ubuntuアプリケーション名前を入力し、インストールボタンをクリックします。

次に、私のお気に入りのウィンドウマネージャーについて説明します。

私はさまざまなことを試しました:

KDE、視覚的にはまったく私には合いません。 開発者はポピーのインターフェースをコピーしたかったようですが、彼らはそれを非常にひどくしました。

Gnomeこれで 最近巨大なボタンとすべてのコントロールがあるだけなので、タブレットのシェルになりました。 すべてが300%スケーリングされているようです。 このため、多くの空き領域が無駄になります。

団結私も気に入らなかった。

XFCE私の意見では悪くはありませんが、同時にそのUIには多くの要望が残されています。 私はMacOSインターフェースが好きです。なぜなら、どこでもすべての要素の比率が非常に正しいからです。 大きすぎたり小さすぎたりするボタンはありません。 正しいインデントはウィンドウ内のいたるところにあります。 このため、すべてが非常に調和しているように見えます。 これがXFCEに現在欠けているものです。 あなたが完璧主義者でないなら、それはあなたに合うでしょう。

通常のWMに加えて、タイリングもあります。 これらは、ウィンドウが重ならないWMです。

素晴らしい、 彼が好き。 しかし、ルアは少し混乱しています。 しかし、突然i3wmに対するAwesomeの利点を見つけた場合は、それらについて教えてください。お話ししたいと思います。

DWM、これは悪くはありませんが、設定を変更するたびに再コンパイルする必要があるというのは、どういうわけか奇妙なことです。 まあ、多分誰かのために大丈夫です。 しかし、私は自分のインターフェースで何かを変更したり、何かクールなものを見て追加したいことがよくあります。 そして、私はこの騒ぎにとてもうんざりしています。 私はそれが本当に好きですが、それは非常に小さく、バグがほとんどないためです。 そして、私は吸うことのない哲学自体が本当に好きです。 そして、私は間違いなく将来それに戻って、それを再試行します。 同じ人。 DWMを使用していて、i3よりも優れていると思われる場合は、私に連絡してください。ぜひお話ししたいと思います。 どこへ行っても私にメールしてください。

Xmonad..。 しかし、どういうわけか彼は私に来ませんでした。 Luaの設定はさらに少ないです。 しかし、Haskellで書かれた設定はどういうわけか人間ではありません。

i3現時点では、他の部分よりも気に入っています。 そして、私は一般的にタイリングマネージャーのイデオロギーが好きです。 まず、Windowsでの作業が非常に単純化されているため、私はそれが好きです。 マウスで何かを絶えず動かしたり、3次元で絶えず何かを上げたり下げたりする必要はありません。

第二に、画面上のスペースが無駄にならないので気に入っています。 空きスペースがないだけです。 ウィンドウを伸ばす必要はありません。 さて、ウィンドウに境界線がなくなったため、スペースも節約されます。

しかし、最初は非常に奇妙に思えます。 結局のところ、私たちは長い間、窓がこのようなものであることに慣れてきました。 特定の方法でそれらと対話する必要があること。

そして、強打と別のアプローチ。 最初は奇妙に思えます。

しかし、あなたはそれに恋をし、戻りたくありません。 さて、私がvin10またはポピーにいるとき、私はどういうわけか、マウスでウィンドウを絶えず動かしてサイズを変更するのが好きではありません。

一般的に、あなたは試してみるべきです。 あなたは好きか嫌いかのどちらかでしょう。

i3自体に移りましょう。

私が言ったように、ここの窓は常に完全なスペースを占めます。


そして、新しいウィンドウを開くと、スペースは半分に分割されます。 必要な数のウィンドウを開くことができます。


スペースの分割方法は自分で決めることができます。


各ウィンドウのサイズを変更することもできます。

これはメインのi3モードですが、さらに2つのモードがあります。 1つのケースでは、ウィンドウはリストのように動作し、2番目のケースでは、ウィンドウがオーバーラップします。

しかし、突然本当に必要になった場合は、任意のウィンドウをフローティングにすることができます。


I3には複数のデスクトップがあります。 また、設定したホットキーで簡単に切り替えることができます。

必要なウィンドウを開けにくく設定できるのも便利です。 仮想テーブル.

そして、あなたは常にあなたがどこに何を持っているかを正確に知るでしょう。 たとえば、私にとって、SlackとTelegramは常に9番目の仮想テーブルにあります。 私のgoプロジェクトは仮想テーブル8にあります。 そして、私のNode.jsプロジェクトは仮想テーブル7にあります。 私の個人知識ベース全体は、常に6つの仮想デスクで開かれています。 最初の仮想テーブルには、常にブラウザがあります。 そして、2番目の仮想テーブルには、常に仕事に関するすべての情報があります。

しかし、必要に応じて、それ自体でこれをすべて変更できます。

このように私は混乱することはありません。 私はいつも自分が何を持っているかを知っています。

ウィンドウが閉じていても、開いたときにどこで開くかは関係ありません。

プログラムの起動

次に、プログラムの実行方法について説明します。 2つの方法があります。 1つ目はホットキーです。 あなたが最も頻繁に実行するものをバインドすることができます。 たとえば、CTRL + SHIFT + Pは計算機を起動します。 また、ボタンはVPNのオンとオフにぶら下がっています。 またはスクリーンショットを撮ります。 一般的に、あなたが望むものは何でも。

そして、他のすべては、Macのスポットライトのように見えるものを通して起動することができます。 それはロフィと呼ばれています。


コントロールとスペースバーを押すだけで、ウィンドウが呼び出されます。 何かを入力し始めたら、Enterキーを押します。 プログラムが特定の画面に固定されている場合はそこで開き、そうでない場合は現在の仮想テーブルで開きます。

必要に応じて、プログラムを別の仮想テーブルに移動できます。

I3はすべてのスタートアッププログラムにも責任があります。 そして、これは設定で非常に簡単に行われます。

バー

たとえば、私の上に表示されているバーなど、任意のバーをオンにすることもできます。 この特定のものはポリバーと呼ばれます。 しかし、すべての好みのために他にもたくさんあります。

ポリバーについて話しましょう。

右側にアイコンが表示されています。これは通常のトレイです。 左側に数字が表示されています。これらは単なる仮想テーブルです。

そして、その間のすべてがモジュールです。 あなたがダウンロードするもの。 モジュールは基本的に単なるスクリプトです。 何があっても。 bashまたはPythonで。 好きなものを使うことができます。

それが私のすることです

  • カートを表示し、左クリックで空にして、右クリックで開きます。
  • 空きディスク容量を表示します。
  • LAN内の別のサーバー上のRAIDアレイの空き容量を表示します。
  • 天気と、太陽が昇ったり沈んだりするまでの時間を表示します。
  • プロセッサの負荷を示します。 1分あたりの値、5分、15分;
  • 利用可能なアップデートの数を表示します
  • ビットコインの価格を表示します
  • ドルの価格を表示します
  • IPアドレスを表示します
  • 音量を調整するもの
  • ワークロード、プロセッサ温度、および使用されるメモリの量
  • バッテリーチャージ

さて、一般的に、あなたはここにあなたが望むどんな情報でも絶対に表示することができます。 たとえば、JSONまたはGoogleテーブルから情報を出力できます。

ご挨拶! ドラフトを掘り下げてみると、数か月前に書く予定だった記事の古いドラフトが見つかりました。 残念ながら、人生の(そしてそれだけではない)状況では、これを時間通りに行うことができませんでした。 しかし、ついに時間を見つけました。今日は、Linuxの一般的なグラフィカル環境でのいくつかのウィンドウマネージャーについて説明します。 ウィンドウマネージャーの機能、機能、いわゆる複合ウィンドウマネージャーについての記述などについて詳しく考察します。 皆さんのおもしろいものになることを願っています。 はじめましょう。

ウィンドウマネージャーシステム上のアプリケーションウィンドウを管理するプログラムです。 つまり、画面上のウィンドウの配置を実行し、サイズの変更、フォーカスなどを担当します。 この場合、ウィンドウマネージャーは既存のウィンドウシステムの上で機能します。 最も単純なケースでは、ウィンドウマネージャーはウィンドウと入力機器がウィンドウとどのように相互作用するかを管理するだけで、他には何もしません。 この場合、レンダリングの負荷は中央処理装置(いわゆる ソフトウェアレンダリング)。 一部のウィンドウマネージャーは、ウィンドウの制御に加えて、そのエッジに影を描き、さまざまなアニメーション、滑らかさ、半透明性などを追加できます。 この場合、ウィンドウマネージャーは 複合..。 複合ウィンドウマネージャーの最も重要な(ただしオプションの)機能の1つは、ビデオカードの機能を使用してウィンドウを描画することです。 Opengl..。 したがって、レンダリングの品質が向上し、中央処理装置の負荷が大幅に軽減されます。 コンポジットマネージャーの機能は、ウィンドウマネージャーに組み込むことも、別のプログラムにすることもできます。 複合ウィンドウマネージャーを使用してウィンドウを描画することは、単に-と呼ばれることがよくあります。 合成..。 あなたがウィンドウズに精通しているなら、ここにからの例があります Windows 7:エフェクトが無効になっている場合 エアロ、レンダリングは中央処理装置によって行われます。 ビデオカードの負荷は少なくなりますが、ビデオを再生すると、ティアリングと呼ばれるアーティファクトが画面に表示されます(フレームの変更が速すぎて、中央に透明なちらつきバーが表示される場合)。

エアロエフェクトが有効になっている場合、レンダリングはグラフィックカードによって行われます。 ウィンドウの外観と最小化、半透明性などのアニメーションがあるので、これは明らかになります。

ただし、合成には欠点があります。 ビデオカードを使用してデスクトップを描画する場合、1秒あたりのフレームレートはモニターの周波数と同期します(通常、1秒あたり60フレーム、これは標準の60 Hzモニターに対応します)。したがって、ゲームでは周波数がわずかに低くなります。フレームが二重同期されるためです。 深刻なケースでは、ゲームのパフォーマンスが半分に低下する可能性があります。 したがって、ゲームを開始するときにグラフィック効果をオフにするための推奨事項を見つけることがよくあります(たとえば、Windows 7で同じAeroをオフにします)。 Linuxに直接戻りましょう。 現在、Linuxの主要なグラフィックサブシステムは Xorg(xx)。 そして、その中のウィンドウマネージャーの仕事は、私が上で説明したのとまったく同じです。 同時に、コンポジット機能は元々Xorgにはありませんでしたが、コンポジットマネージャーが側面からのように機能するため、かなり後に実装されました。 一般に、さまざまなレイヤーの非常に厚いサンドイッチが作成され、そこから画像が描画されます。

ほとんどの場合、これはユーザーにとって重要ではありません。 しかし、ゲームでは、これは具体的な制限を与えます。 現在、Xorgは2つのグラフィックサブシステムに置き換えられています- ウェイランドミール..。 1つ目はディストリビューションやグラフィカルシェルに関連付けられていませんが、2つ目は Ubuntuとそのグラフィカルシェル 団結、およびUbuntuのモバイル版ですでに動作します。 ミールについては別の記事で説明します。 Waylandに関しては、ウィンドウ処理と合成というおなじみの概念が欠けています。 それは持っているだけです 作曲、不要なレイヤーなしで、ウィンドウ上ですべての操作を実行します。 同時に、アプリケーションの描画は、それが記述されているソフトウェアツール(ツールキット)に依存します。 例えば Qt、 また GTK..。 これはいわゆる クライアント側のレンダリング..。 ウィンドウがWaylandコンポーザーで直接描画される場合、これは サーバー側のレンダリング..。 クライアント側でレンダリングする場合、アプリケーションウィンドウのタイトル、その外観などは、完全にアプリケーション開発者に委ねられます。 その結果、いわゆる「ウィンドウ効果」が発生する可能性があります。アプリケーションにウィンドウのサイズを変更する機能がない場合、アプリケーションウィンドウは常に固定サイズになります。 クライアント側にタイトル装飾があるウィンドウの例(ウィンドウタイトルのアプリケーションコントロールボタンに注意してください):

この機能はGNOMEに実装されています。 KDEはサーバー側のレンダリングを使用するため、すべてのウィンドウのタイトルが同じになり、サイズを簡単に変更できます。

ちなみに、クライアント側でのレンダリングをサポートしていないウィンドウマネージャーでCSD(クライアントサイドデコレーション)を使用してアプリケーションを実行すると、アプリケーションは2つのヘッダーを受け取ります。

ちなみに、CSDはかなり良い解決策であることが判明しました。 Appleがそれを引き継いだのはとても幸運でした:

Waylandはすでに自動車用OS、モバイルオペレーティングシステムで実行されています TizenSailfishOS、および他の多くの場所。 ウェイランド哲学- 「表示されるすべてのフレームは完璧でなければなりません。」..。 そして確かにそうです。 Waylandでの描画は、Xorgでの描画よりも品質が優れています(たとえば、Waylandでは、原則として、引き裂くことは不可能です)。さらに、Waylandでは作成が非常に困難です。 キーロガー(キーストロークインターセプター)、これはセキュリティにプラスの効果をもたらします。 ただし、Waylandは、独自のプロプライエタリドライバではまだサポートされていません。 NvidiaAMD、デフォルトで導入するのが非常に困難になります Linuxディストリビューション..。 Linuxグラフィックシェルによるサポートの問題に少し後で戻ります。 このトピックについては非常に長い間話すことができるので、Linuxの一般的なグラフィカル環境でのウィンドウマネージャーの概要に直接進むことを提案します。

Metacity-現在は亡くなったグラフィカル環境のウィンドウマネージャー GNOME 2..。 そこで使用されていたものを交換するために来ました ノコギリエイ啓発..。 非常に控えめなリソースの消費が異なります。 シンプルなソフトウェア合成(ドロップシャドウ、OHPフィルム、ウィンドウプレビュー)をサポートします。 それはもともとで書かれました GTK + 2、後で書き直されました GTK + 3これにより、GNOME3.0-3.8での使用が可能になりました。 現在プロジェクトの一部です GNOMEフラッシュバック、およびグラフィカル環境で使用されます シナモンハードウェアグラフィックアクセラレーションをサポートしていないハードウェアで実行し、のオプションとしても利用可能 Linux MintメイトUbuntuMATE.

つぶやく-Metacityのさらなる開発 GNOME 3..。 Mutterは完全な合成マネージャーであり、2Dレンダリングに高性能ライブラリを使用します ベクトルグラフィックス カイロ、および3Dレンダリングの場合- クラッター加速するために使用します Opengl..。 シェル操作 GNOMEシェル Mutterのプラグインとして実装され、その結果、このウィンドウマネージャーのすべての機能がGNOME3のすべての機能で使用されます。 GNOME 3.10、つぶやきのない環境での作業は不可能です。 Mutterは、最も完全で完全なWaylandサポートを備えたウィンドウマネージャーでもあり、レンダリングはクライアント側で行われます(クライアントはライブラリです) GTK + 3)。 つぶやき機能はで拡張できます プラグイン..。 Mutterは軽量のウィンドウマネージャーではなく、古くて弱いハードウェアにはまったく適していません。

マフィン-グラフィカル環境の開発者からのMutterのフォーク シナモン..。 開発チームによって開発されました Linux Mint..。 マフィンはMutterの機能の多くを継承し、レンダリングにCairoとClutterを使用します。 ただし、Waylandのサポートはなく(開発者はまだ使用できる状態にあるとは考えていません)、GTK +機能からの要約もあります(MutterリリースがGTK +リリースに関連付けられている場合、MuffinはGTKの任意のバージョンでビルドできます+サポートされている最小値以上)。 Mutterとは異なり、MuffinはRAMのほぼ半分を消費し、ビデオサブシステムのロードも少ないため、Cinnamonの使用は低価格のラップトップに最適です。 プラグインにより、機能も拡張可能です。

マルコ-グラフィカル環境の開発者からのMetacityのフォーク メイト..。 ウィンドウレンダリング、ソフトウェア合成などに同じ原則を使用します。 MetacityまたはCompizに置き換えることができます。

Compiz-より多くの機能と拡張機能のサポートを備えた最初の完全複合ウィンドウマネージャーの1つ。 元々、Compizはサポートされている3Dハードウェアでのみ機能していました Xgl:ほとんどのビデオカード NVIDIAATI..。 ただし、2006年5月22日以降、CompizはAIGLXを使用する標準のX.orgサーバーで実行されます。 Intel GMAグラフィックカードに加えて、AIGLXはオープンドライバーを使用するAMDグラフィックカード(R300以降)をサポートします。 有名 デスクトップのキューブ、およびその他の装飾プラグイン。 ウィンドウデコレータとペアリング エメラルド、かつては、グラフィックを表示するための最も一般的な方法でした Linuxの機能(それが作成する効果の多くは他では利用できませんでした オペレーティングシステムその時の、そしていくつかはCompizからコピーされました)。 Compizは完全に独立したウィンドウマネージャーとして使用でき、レンダリングはOpenGLを介して完全にハードウェアベースです。 ウィンドウマネージャーのMetacity、Marco、Xfwm4は、主に疲れを取り除くために、Compizに置き換えられることがよくあります。 現在、Compizの公式開発は終了しています。 Branch 0.8は愛好家によってサポートされ、0.9はUbuntu開発者によってUnity 7グラフィカルシェル用にサポートされています。Unity7グラフィカルシェルは、GNOME Shell forMutterと同様にCompizプラグインです。 Compizは、Linux MintMATEおよびUbuntuMATEのオプションとしても利用できます。




Xfwm4-グラフィカル環境の標準ウィンドウマネージャー Xfce..。 バージョン4.2から、ソフトウェア合成を取得しました。 このウィンドウマネージャーは非常に軽量でシンプルで、Xfceだけでなく、たとえばMATEでも使用できます。 開発者は現在それをGTK + 3に移植しており、OpenGLを介したレンダリングサポートも実装しています。 Compiz、Metacity、またはMarcoに置き換えることができます。

クウィン Linuxで最も機能が豊富で安定した柔軟なウィンドウマネージャーの1つです。 グラフィック環境の標準 KDE..。 ではじまる KDE 4、完全に合成され、Compizからの多くの効果をサポートし、レンダリングに使用できます OpenGL 2.0, 3.1 , OpenGL ESまたは拡張機能を介して描画 Xrender、フルスクリーンアプリケーション(たとえば、ゲーム、それによってパフォーマンスを向上させる)によってブロックすることができ、 十分な機会エフェクト、アニメーションの設定、およびバージョン5以降-拡張機能を介したレンダリングであるWaylandをサポートしています EGL(標準インターフェースの代わりに GLX)、その他多数。 KDE 4では、問題なくCompizに置き換えることができます。 Kwinはで書かれています Qt、およびこのフレームワークの機能の多くを使用します。 しかし、GNOMEが実質的にGTK + 3に釘付けになっている場合、その開発者は常に新しいリリースでAPIを壊しています。Qtでは状況は何倍も良く、KDEリリースはQtリリースと緊密に結びついていません。 緊急事態では、Kwinは驚くべき安定性を示します-ビデオドライバーに問題が発生した場合、レンダリングモードを自動的に切り替え、再起動しますが、レンダリングを停止しません。 また、Kwinは、そのすべての機能について、(Mutterおよび部分的にMuffinと比較して)非常に軽量であるため、 弱いラップトップ、ネットブックなど。




コンプトン-コンポジットマネージャー、フォーク Xcompmgr..。 これはウィンドウマネージャーではありませんが、既存の複合機能を補完するだけです。 多くの場合、Openbox、Metacity、Marcoと組み合わせて使用​​されます。 効果は豊富ではありませんが、OHPフィルム、シャドウ、アニメーション、スムーズなトランジション、そしてもちろんOpenGLを介した描画など、最も人気のあるものが完全に実装されています。 Linux MintMATEおよびUbuntuMATEのオプションとしても利用できます。

箱を開ける人気の超軽量ウィンドウマネージャーです。 ソフトウェアでさえ、複合機能はありません。 環境の標準的なウィンドウマネージャーですか LXDELXQt..。 他のものと交換できるだけでなく、MATEやXfceなどの多くの環境での交換にも使用できます。


もちろん、これらはLinuxで利用できるすべてのウィンドウマネージャーではありません。 そして将来、私は次のように書きます 独自のグラフィック環境を作成するさまざまなコンポーネントから。 フランケンシュタインのある怪物、さまざまな部分から縫い付けられています:)希望があれば、コメントに書き込んでください。