Linux のタイル ウィンドウ マネージャーとは何ですか? (そして 5 つ試してください)
まとめ
- タイリング ウィンドウ マネージャーは、生産性を最大化するために画面上にウィンドウを効率的に配置し、他のプログラムに他のジョブを処理させます。
- 初期セットアップにはある程度の時間が必要であり、これを行うにはプログラミング言語に精通する必要がある場合があります。
- i3、Sway、Hyprland、Qtile、AwesomeWM などの人気のあるオプションは、さまざまなアプローチとセットアップを提供します。
タイル ウィンドウ マネージャーは、セットアップに少し時間を費やすだけで、生産性が向上する可能性があります。それらがどのように機能するのか、そして始めるために何が必要なのかを見てみましょう。
タイリング ウィンドウ マネージャーとは何ですか?
一般的な Linux デスクトップでは、ログインすると、GNOME デスクトップなどの本格的なデスクトップ環境が表示されます。これは、使用するウィンドウを描画するだけでなく、テキスト エディター、ターミナル、その他の多くのアプリも含まれる複雑なソフトウェア スイートです。
一方、ウィンドウ マネージャー (WM) はまさにウィンドウを管理します。それ以外のほとんどすべては、あなたまたは他のプログラムに任せられます。たとえば、タイリング WM は通常、組み込みの電源管理を提供しません。代わりに、これはプラグイン機能として提供されるか、自分で追加する必要があります。
GNOME と KDE Plasma は両方ともウィンドウ マネージャーを備えていますが、これらはより大規模なソフトウェア コレクションの一部です。 KDE は簡単にインストールできますが、デスクトップで使用されるウィンドウ マネージャーである KWin だけをインストールすることはできません。
これでウィンドウ マネージャーの部分は説明されましたが、タイルの部分はどうなるのでしょうか?すべては、ウィンドウを画面に追加するときにウィンドウがどのように正確に配置されるかによって決まります。実際、そもそもこれらのウィンドウを開くことも少し異なります。
タイル ウィンドウ マネージャーの違い
一般的なデスクトップを見ると、ウィンドウ間にかなりの量の未使用スペースがあることに気づくでしょう。タイリング ウィンドウ マネージャーはこれを単に排除し、ウィンドウを移動させて、表示領域が現在表示されているウィンドウ間で常に分割されるようにします。
ウィンドウを並べて表示できるからといって、必ずしも並べて表示できるウィンドウ マネージャーになるわけではありません。たとえば、macOS では Sequoia でウィンドウ スナップが導入され、Windows では Windows 11 の最新のスナップ機能を含め、長年にわたりさまざまな形式のウィンドウ スナップが行われてきました。これらのスナップ実装には、従来のタイル ウィンドウ マネージャーとの共通点はあまりありません。
代わりに、タイル ウィンドウ マネージャーでウィンドウを手動でタイル表示する必要はほとんどありません。これはウィンドウの作成時に自動的に行われます。それらをずらして移動すると、他のウィンドウもそれに応じて移動します。
このウィンドウの方法により、タイル ウィンドウ マネージャーには 2 つのアプローチが必要になります。あらかじめ決められたさまざまなスキームに従ってウィンドウを動的に配置するものもあれば、起動時に新しいウィンドウを配置する場所の指定を許可または要求するものもあります。以下では、動的タイル ウィンドウ マネージャーと手動タイル ウィンドウ マネージャーの両方を見ていきます。
試してみたいタイルウィンドウマネージャー
ここでは、このシーンに慣れていない場合に試してみることをお勧めするタイル ウィンドウ マネージャーをいくつか紹介します。
i3
最も人気のあるタイリング ウィンドウ マネージャーの 1 つである i3 ウィンドウ マネージャーは、いくつかの理由から簡単に始めることができます。まず、他の一部のタイル WM は構成に Lua や Python などのプログラミング言語を使用しますが、i3 は一般的な構成ファイルを使用します。
i3 は非常に人気があるため、初心者にも最適です。非常に多くの人が使用しているため、構成のセットアップのさまざまな側面に対応するサードパーティのソリューションが多数あります。 i3 は非常に基本的な構成をインストールしますが、初めて使用する場合は、別のデバイスでドキュメントを開いたほうがよいでしょう。
i3 ウィンドウ マネージャーは手動タイリングを使用します。つまり、tmux を使用したターミナルで行うのと同じように、ウィンドウを簡単に分割できます。 i3 を使用していた頃は、ワークフローにすぐに慣れました。とはいえ、ダイナミック タイルを使用する WM で時間を過ごした後では、今では奇妙に感じるかもしれないと思います。
他のタイル ウィンドウ マネージャーと比較して、i3 には強力なユーティリティ セットも備わっています。 i3lock
コマンドは、たとえば、他の多くの SM が設定を完全にユーザーに任せている画面のロックとロック解除を処理します。
留意すべき点の 1 つは、i3 は新しい Wayland プロトコルの代わりに X11 を使用することです。 Wayland を使用している場合は、次に説明する Sway ウィンドウ マネージャーが最適です。
揺れる
このセクションが他のセクションより短い場合、それは Sway WM の品質とは何の関係もありません。これは素晴らしいタイル ウィンドウ マネージャーです。i3 によく似ています。それは、まさにそれが本来の目的だからです。
上記の i3 に関するセクションで説明したように、Sway ウィンドウ マネージャーは i3 のドロップイン代替品として開発されましたが、Wayland バックエンドで実行されます。つまり、i3 構成をバックアップし、Wayland と Sway WM をインストールし、i3 構成をコピーすれば、すべて問題なく動作するはずです。
Sway 機能は、すべての i3 機能をサポートしており、さらにいくつかの追加機能もサポートしています。それ以外にも、同じ利点があります。また、i3 の人気の多くを引き継いでおり、利用可能な i3 の豊富な情報に加えて、Sway に特化した情報も多数見つかります。
ハイプラランド
Hyprland は、Wayland バックエンドで実行される新しいタイル ウィンドウ マネージャーです。主に互換性の理由でこれを行う Sway とは異なり、Hyprland はその機能を使用して、他の多くのタイル ウィンドウ マネージャーよりもはるかに目の保養を提供します。
i3 や Sway とは異なり、Hyprland は動的なウィンドウ マネージャーです。これは、新しいウィンドウを作成するときに、事前に決定された一連のレイアウトに従うことを意味します。たとえば、最初のウィンドウを左側に配置し、2 番目のウィンドウを右側に配置し、3 番目のウィンドウでは画面の右側を垂直に分割します。
目の保養に関して言えば、スクリーンショットで最初に気づくのは丸い角ですが、他の多くの WM ではこれらを追加することができます。一方、Hyprland の派手で弾むようなアニメーションは、他の多くのウィンドウ マネージャーでは見つかりません。
ほとんどの人がタイリング ウィンドウ マネージャーを選ぶ主な理由は派手なアニメーションではありませんが、友達に自慢できる非常に生産性の高いデスクトップが必要な場合は、Hyprland が最適な選択肢です。
クタイル
Hyprland と同様、Qtile は比較的新しい製品ですが、強力な動的タイル ウィンドウ マネージャーです。 Qtile は完全に Python で記述および構成されており、X11 または Wayland のいずれでも動作します。つまり、ウィンドウ プロトコルに関係なく実行できます。
私は Qtile を使用してかなりの時間を費やし、その速度と安定性の両方に感銘を受けましたが、これらはこのウィンドウ マネージャーの主な強みとは考えられません。むしろ、Qtile の本当の利点は、その優れたドキュメントにあります。
他の WM の重要な情報を見つけるためにランダムなフォーラムや Reddit スレッドを検索するのに何時間も費やす必要がありましたが、Qtile について知りたかったことはほぼすべてドキュメントに記載されていました。これから始める人にとって、キーバインドのビジュアルだけでも重要です。
Python コードの記述は、特にインデントベースの構文のファンでない場合には、誰にでも適しているわけではありません。そうは言っても、ドキュメントはここでも非常に役立ちます。
すごいWM
最後に、特にユニークな例を紹介します。 AwesomeWM はタイル ウィンドウ マネージャーですが、デフォルトではフローティング モードで実行されます。さらに奇妙なのは、少なくともほとんどのタイル WM と比較すると、少なくとも正しく設定すると、アプリを起動するためのメニューが備わっていることです。
余談ですが、ここで取り上げているウィンドウ マネージャーの中で、AwesomeWM は使い始めるのが最も難しいようです。実際にウィンドウ マネージャーを使用するのは、動的タイルのおかげで簡単です。さらに、利用可能なさまざまなレイアウトを簡単に切り替えることができます。問題は、すべてを構成することになります。
AwesomeWM はすべての設定に Lua プログラミング言語を使用します。この言語には多くのファンがいますが、初めて使用する場合は慣れるまでに時間がかかる場合があります。たとえば、私は約半年ほどウィンドウ マネージャーとして AwesomeWM を使用していますが、Neovim (構成に Lua も使用) をもっと長い間使用しており、Lua にはまだあまり慣れていません。
それでも、この構成により、AwesomeWM は非常に拡張可能でカスタマイズ可能になります。優れたタイル ウィンドウ マネージャーと同様に、ワークフローに適した構成を見つけたら、他のものは使いたくなくなります。