3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

(Linux)X WindowにおけるXディスプレイマネージャとXウィンドウマネージャ

X Windowにおけるディスプレイマネージャーとウィンドウマネージャーの意味についてごっちゃになってたので、まとめです。

ディスプレイマネージャ

まず、ディスプレイマネージャについてです。

Wikipediaによると、ディスプレイマネージャは、ユーザに対してログイン画面を提示し、ユーザ名とパスワードを入力可能である。ユーザが正しく入力するとセッションが開始される。

ディスプレイマネージャがユーザが操作するコンピュータ上で動作する場合、ログイン画面を表示する前にXサーバを起動し、オプションでログアウトの際にもログイン画面を表示する。この場合、ディスプレイマネージャは X Window System において、テキスト端末での init、getty、login の役割を果たす。 とのことです。

つまりグラフィカルログイン部分をつかさどるのがディスプレイマネージャの役割のようです。(ログインマネージャとも呼ばれることがあるようです)

ログインさえ終われば後は、ウィンドウマネージャに制御をゆだねるようですね。

ディスプレイマネージャーは大抵 GNOME,KDE,Xfce,LXDEなどのデスクトップ環境のサブセットとして提供されることが多いようです。

ディスプレイマネージャーの切り替えは各ディストリビューションによって異なるようです。

redhat系だと /etc/sysconfig/desktop ファイルを作成し、

gdmを指定する場合:DISPLAYMANAGER="GNOME"

kdmを指定する場合:DISPLAYMANAGER="KDE"

xdmを指定する場合:DISPLAYMANAGER="XDM"

lxdmを指定する場合:DISPLAYMANAGER="LXDM"

とするといいようです。(もちろん各ディスプレイマネージャがインストール済みという前提ですが...)

参考:

Fedora 9のgdmで自動ログインをするには - @IT

X Window System の仕組みと設定- @IT自分戦略研究所

Debian(Ubuntu)系だと "dpkg-reconfigure 既にインストール済のディスプレイマネージャ(gdm,lxde etc...)" とするとどのディスプレイマネージャを使うか選べるようです。

もしくは、/etc/X11/default-dispplay-manager を作成し、その中に各ディスプレイマネージャの実行ファイルへのパスを書いてやることもできます。

default-dispplay-manager ファイル内に書く各DMのパスは下記のとおりです。

xdmを指定する場合:/usr/bin/xdm

gdmを指定する場合:/usr/sbin/gdm

kdmを指定する場合:/usr/bin/kdm

lxdmを指定する場合:default-dispplay-manager を削除するとlxdm使うようです。

wdmを指定する場合:/usr/bin/wdm

参考:

X セッション関係のファイル - mooz deceives you

下記に、いくつかのディスプレイマネージャを列挙してみます。

XDM

Xディスプレイマネージャの実装であり、X11標準のようです。

ログイン後は設定不足のせいか英語になってしまいます。

GDM

言わずと知れた GNOME のディスプレイマネージャです。(EcoLinuxで atp-get install gdm でインストールすると90Mほど必要です)

他のウィンドウマネージャと異なるのは1回ログインするとそのユーザが記録されて、次回からリストとして表示されます。

KDM

こちらも言わずと知れた KDE のディスプレイマネージャです。(EcoLinuxで atp-get install kdm でインストールすると300MBほど必要です)

LXDM

軽量デスクトップ環境 LXDE 内のサブセットとして用意されています。

WDM(WINGs Display Manage)

/etc/X11/wdm/wdm-config で、DisplayManager*wdmLocale: の値を ja_JP.utf8 とすると、日本語表記になります。

しかし、ログイン後のウィドウマネージャは英語になってしまします。どこに設定あるんでしょう。。。

ウィンドウマネージャ

ウィンドウマネージャは名前の通り、ウインドウの見た目やマウスの操作方法,配置や外観を管理する部分です。

代表的なウィンドウマネージャはディスプレイマネージャと同じく、GNOME,KDE,Xfce,LXDEなどのデスクトップ環境のサブセットとして提供されています。

しかし、ディスプレイマネージャよりもかなり多くの種類があるようですね。

ウィンドウにかかわる部分を制御しているわけなので、重さ というのもウィンドウマネージャの種類によって変わってきます。

軽量に特化したウィンドウマネージャもあるようですし、GNOME等のデスクトップ環境と親和性の高いウィンドウマネージャもあるようです。

主なウィンドウマネージャを列挙します。

Metacity :GNOMEデスクトップ環境標準のウィンドウマネージャです。

KWin :KDEデスクトップ環境標準のウィンドウマネージャです。

Xfwm :Xfceデスクトップ環境で使われているウィンドウマネージャです。若干軽量です。

Openbox :LXDEデスクトップ環境でも使われる軽めのウィンドウマネージャです。

JWM :非常に軽量なウィンドウマネージャで、軽量ディストリビューション Puppy Linux で採用されています。

Fluxbox :シンプルで軽量のウィンドウマネージャです。

他のウィンドウマネージャの種類については下記サイト達が参考になります。比較検討しているサイトも多いのでいろいろ試してみるといいかもしれません。

しかし、ウィンドウマネージャ単体では使いやすくするまで結構時間かかるので、カスタマイズする必要が無い場合はGNOME,KDEをはじめとしたデスクトップ環境を導入するのがいいかもしれませんね。

ウインドウ・マネージャとは

Xウィンドウマネージャをとっかえひっかえしてみる - linuzau’s diary

モバイルUbuntu、NetWalker登場 軽量化 ウィンドウマネージャ比較編  その21

Desktop Linux Memo - ウィンドウマネージャー

見過ごしてはならないLinuxのデスクトップ10選 - IT業界を生き抜く秘密10箇条 - ZDNet Japan

今までLinuxというとサーバベースでX Windowなどほとんどスルーしてたので、X Window周りはまだまだよくわかってない3流PGです。。

参考:

ごえごえの Linux 備忘録: ディスプレイマネージャー/ウィンドウマネージャー/デスクトップマネージャー

X Window System(2:ウインドウ・マネージャと端末エミュレータ) - 再入門 体で覚えるLinuxの基本:ITpro