さまざまなウィンドウ マネージャを使い分ける必要がある、あるいは単にた まには別のものを使ってみたいという場合は、kdm に組み込まれた chooser を利用 することができます。chooser を使えば、あらかじめ定義した一覧にあるウィンドウ マネージャを選択することができます。このためにはまた設定ファイルの変更が必要 になります。まず、パラメータを渡すために Xsession ファイル (Redhat の場合のパスは /etc/X11/xdm/ 、また、S.u.S.E. であれば /usr/X11R6/lib/X11/xdm/ を変更する必要があります。それには 'exec $startup' という行を見つけ、これを 'exec $startup " $@"' (括弧なしで) に変更します。そのあと /etc/xinitrc、あるいは ~/.xinitrc というファイルを作成/編集し、各ウィンドウ マネージャに対して機能 するようにします。下のスクリプトには起動させる 3 種類のウィンドウ マネージャ が記されています。好みに応じてさらに追加してもかまいません。忘れずに .xinitrc ファイルのコピーを /etc/skel に保存してください。こう すれば、以降に作成するユーザごとにこのファイルが自動的に生成されます。
#!/bin/bash # # .xsession/.xinitrc # # choose a window manager # defaultwm=kde #set the window manager to $1 if it was supplied windowmgr=${1:-$defaultwm} #start the respective window managers case ${windowmgr} in kde|kwm|kdestart) WINDOWMANAGER=startkde ;; fvwm|fvwm2) WINDOWMANAGER=fvwm2 ;; fvwm95) WINDOWMANAGER=fvwm95 ;; *) WINDOWMANAGER=windowmgr # default for unknown wm's esac # # load resources # if [ -f /usr/X11R6/lib/X11/Xmodmap ]; then xmodmap /usr/X11R6/lib/X11/Xmodmap fi if [ -f ~/.Xmodmap ]; then xmodmap ~/.Xmodmap fi if [ -f ~/.Xdefaults ]; then xrdb -merge ~/.Xdefaults fi if [ -f ~/.Xresources ]; then xrdb -merge ~/.Xresources fi # # finally start the window manager # exec $WINDOWMANAGER |