
さて、私がわざわざWindowsからUbuntuに移行してきた最大の目的は、実のところこのタイル型ウィンドウマネージャの導入にあります。
これから数回に分けてタイル型ウィンドウマネージャの魅力と、導入から設定までをご紹介してゆこうと思います。
今回はまず、そもそもタイル型ウィンドウマネージャとは何なのか、どのような種類があるのかについて取り上げます。
キーボード主体のPC操作に興味のある方は、ぜひ最後までお付き合いください。
タイル型ウィンドウマネージャとは何か?
タイル型ウィンドウマネージャは、一言で言えば「スクリーンに隙間無くウィンドウを表示し管理するソフト」です。また、その多くでキーボードによるウィンドウ操作が可能です。
詳しくは日本タイル型ウィンドウマネージャ推進委員会の説明をご覧ください。
ウィンドウマネージャの位置づけを理解するためには「ディスプレイマネージャ」「X Windows System」「デスクトップ環境」と「ウィンドウマネージャ」の関係を知っておく必要があります。
これらはUbuntuを起動すると大まかに以下の順で起動されます。
- まずグラフィカルログイン環境である「GDM(ディスプレイマネージャ)」が起動します
- ユーザを選択してログインすると「X Window System」上で「gnome-session(デスクトップ環境)」が起動します
- gnome-sessionの中では標準で「gnome-wm(ウィンドウマネージャ)」が起動します
最後のgnome-wmというのが、GNOME環境で通常使用しているウィンドウマネージャの正体です。(gnome-wmの実態はmetacityというようです)
詳しくはインストールの説明に回したいと思いますが、このウィンドウマネージャ部分の起動をすり替えることでウィンドウの操作性を劇的に変えることができるわけです。
タイル型ウィンドウマネージャの種類
タイル型ウィンドウマネージャには非常に多くの実装があり、それぞれ開発言語や特徴が異なります。
ざっと調べて見たところ、一昔前ならばratpoison、現在はawesomeとXmonadの2つが人気のようです。
awesomeとXmonadをそれぞれインストールして試してみたので、簡単に特徴をまとめておきます。
awesome
awesomeはC言語で実装されたタイル型ウィンドウマネージャで、設定ファイルはLuaで記述します。
awesomeの主な特徴は以下のとおり。
- 標準でステータスバーやコマンドラインランチャが揃っており、最初からそこそこ使える
- Luaの文法が比較的とっつきやすい
- ワークスペースを独自のタグという概念で管理しており、ウィンドウに複数のタグをつけたり、複数タグを同時に表示したりできる
- ウィジェットを追加することで、CPU使用率ほか様々な情報をステータスバーなどに表示できる
Luaが多少分かりやすいとはいえ、設定ファイルは本体のロジックを直接抜き出したかのような雰囲気で私はあまり好きになれませんでした。
また、マルチディスプレイへの対応が弱く、物理ディスプレイごとに独立したワークスペース(タグ)管理しか行えないようです。標準では画面ごとに9個のワークスペースが存在することになります。
awesome 参考情報
↓公式
awesome window manager
↓Wikipedia
awesome (window manager) - Wikipedia(en)
awesome - Wikipedia(ja)
↓日本タイルのawesomeページ
awesome - 日本タイル型ウィンドウマネージャ推進委員会 Wiki
↓インストールから使い方まで
今日からはじめるawesomeチュートリアル (3.3/3.4対応版)
ウィンドウマネージャawesomeが最強である○つの理由
awesome に乗り換えてみる
Ubuntu Linux 9.10 - デスクトップ環境
awesomeちゅーとりある。あるいはタイル型ウインドウマネージャの勧めのようなもの
オープンソースの明日を切り拓く者こそが使う、「畏敬」のウィンドウ・マネージャ「awesome」
awesome その3 - てきせっと!
awesomeを使ってみる — int neko
りぬーめも Arch Linux on S101: awesome
Xmonad
Xmonadは純粋関数型言語のHaskellで実装されたタイル型ウィンドウマネージャです。設定ファイルもHaskellで記述します。
Xmonadの主な特徴は以下のとおり。
- ステータスバーやコマンドラインランチャは別途用意する必要があり、初期状態がシンプル
- Haskellの文法がかなり特殊
- 設定ファイルにimportできるモジュールやそのドキュメントが充実しており、カスタマイズ性が極めて高い
- GNOME対応が充実しており、設定次第で普通にGNOMEパネルなどが使える
Haskellは興味深い特徴を持った先進的な言語です。文法が特殊だからといって避けるよりも、この機会にちょっと勉強してみるのもありかと思います。
Xmonadはマルチディスプレイへの対応が充実しており、物理ディスプレイをまたがったワークスペース管理が行えます。標準では9つのワークスペースを各画面で共有します。
Xmonad 参考情報
↓公式
xmonad | the tiling window manager that rocks
↓Wikipedia
xmonad - Wikipedia(en)
xmonad - Wikipedia(ja)
↓日本タイルのXmonadページ
xmonad - 日本タイル型ウィンドウマネージャ推進委員会 Wiki
↓インストールから使い方まで
ltakeshi’s hiki - xmonad
ltakeshi’s hiki - Xmonad/FAQ
xmonad の cheat sheet - HaHaHa!
わたしの.xsessionと.xmonad/xmonad.hs - ori’s diary
X11.app + Xmonad - laiso
おわりに
awesomeとXmonadを比較した結果、私自身はデュアルディスプレイ対応とカスタマイズ性の高さからXmonadを選択しました。
最後に、Xmonadの今後のリリースで組み込まれると噂のBluetileについて触れておきます。
BluetileはXmonadの亜種として開発され、現在本家へのマージが進められているマウス操作も充実したタイル型ウィンドウマネージャです。
詳しくはBluetileスクリーンキャストをご覧ください。興味深い内容です。
参考情報
タイル型ウィンドウマネージャawesomeのススメ
awesomeに限らず、ウィンドウマネージャについて分かりやすくまとめられています。
タイル型ウィンドウマネージャの特徴比較 - 日本タイル型ウィンドウマネージャ推進委員会 Wiki
タイル型ウィンドウマネージャの比較表です。
タイル型ウィンドウマネージャのトレンド
こちらはちょっと古いですが、各実装のトレンド比較グラフ。
連載一覧
- タイル型ウィンドウマネージャ awesomeとXmonadの比較
- UbuntuにおけるXmonadのインストールと使い方
- Xmonadの設定 1/3 「基本」編
- Xmonadの設定 2/3 「with GNOME」編
- Xmonadの設定 3/3 「応用」編
Comments»
[…] タイル型ウィンドウマネージャ awesomeとXmonadの比較 – ナレッジエース […]