Category Archives: Display Manager

WDM の 初期 Xclients.in で起動しそうなウィンドウマネージャ

/usr/local/lib/X11/wdm/Xclients を、ざっくり見た。

  • startup Window Maker ( wmaker*|WMaker*|WindowMaker* )
  • startup AfterStep ( afterstep*|Afterstep*|AfterStep* )
  • startup Blackbox ( blackbox*|Blackbox*|BlackBox* )
  • startup Fluxbox ( fluxbox*|Fluxbox*|FluxBox* )
  • startup FVWM ( fvwm*|FVWM* )
  • startup FVWM2 ( fvwm2*|FVWM2* )
  • startup FVWM95 ( fvwm95*|FVWM95* )
  • startup IceWM ( icewm*|IceWm*|IceWM* )
  • startup TWM ( twm*|TWM* )
  • startup Xfce ( xfcw*|Xfce*|XFce*|XFCE* )
  • startup Gnome ( gnome*|Gnome* )
  • startup KDE ( startkde*|kde*|KDE* )
  • startup xsession ( xsession*|Xsession* )
  • general purpose entry (その他?)

といった具合で、ここにあるウィンドウマネージャは、Xclients.in を修正しなくても動くはずだ。

たとえば、wdm 画面のウィンドウマネージャの選択リストに、FVWM2 を含めたい場合は、

  1. wdmReconfig の $WMLIST に fvwm2 を追記。
  2. wdmReconfig を実行。

の順でいけるはず。早速やってみる。

/usr/local/lib/X11/wdmReconfig の wmaker の設定の後に、追記する。

rc_word=wmaker
WMAKER_PATH=”wmaker”
    for rc_dir in $path; do
      if test -x $rc_dir/$rc_word; then
        WMAKER_PATH=$rc_dir/$rc_word
        WMLIST=WindowMaker
        break
      fi
    done

rc_word=fvwm2
FVWM2_PATH=”fvwm2″
    for rc_dir in $path; do
      if test -x $rc_dir/$rc_word; then
        FVWM2_PATH=$rc_dir/$rc_word
        WMLIST=”$WMLIST:fvwm2″
        break
      fi
    done

で、

# ./wdmReconfig

xdm-config の中をみると、

DisplayManager*wdmWm:           WindowMaker:fvwm2

となっている。よし。

wdm を再起動して試してみよう。

ウィンドウマネージャ選択リストに fvwm2 が表示された。もちろん、ログインした後に fvwm2 が起動した。

なんとかなったようだ。

てか、ここまでやって、なんだんだけど、wdm-config や Xclients を直接書き換えたほうが早いし・・・。 

 

 

WDM の wdmReconfig を実行した後にウィンドウマネージャが開かなくなる

なにか、やらかしたに違いないが・・・編集前後のファイルを見比べてみることにした。

wdm-config や Xclients の設定は、wdmReconfig (シェルスクリプト)を実行することで作り変えるようだ。スクリプトを眺めてみた。

  • wdmReconfig ⇒ ウィンドウマネージャの選択リスト作成と wdm-config、Xclient を作成。
  • wdm-config.in ⇒ これを元にして、wdm-config 作成。
  • Xclients.in ⇒ これを元にして、Xclients 作成。

まず、wdm の再インストールの後、wdm-config と Xclients のバックアップを取る。

そして、おもむろに wdmReconfig を実行し、Xming で接続してみる。

やはり、ログインしても、wdm 画面に戻ってしまう。

~/.xsession-errors を見ると、

exec: /usr/local/lib/X11/wdm/Xclients: not found

ん?  バックアップした Xclients を見比べてみた。

#!/bin/sh -
# configs/Xclients.  Generated from Xclients.in by configure.

上がバックアップしておいた Xclients の1~2行目。下が、wdmReconfig で生成した Xclients の1~2行目。

#!@SHELL_LOGIN@
# @configure_input@

@SHELL_LOGIN@ が置換されてないでしょう? 意図的?

/usr/local/lib/X11/wdm/wdmReconfig を書き換える(というか1行追加する)。

# update Xclients
        configfile=/usr/local/lib/X11/wdm/Xclients
        rm -f $configfile
        sed -e “s:@XRDB_PATH\@:/usr/local/bin/xrdb:” \
            -e “s’@WMAKER_PATH\@’$WMAKER_PATH’” \
            -e “s’@AFTERSTEP_PATH\@’$AFTERSTEP_PATH’” \
            -e “s’@BLACKBOX_PATH\@’$BLACKBOX_PATH’” \
            -e “s’@ICEWM_PATH\@’$ICEWM_PATH’” \
            -e “s’@XSESSION_PATH\@’$XSESSION_PATH’” \
            -e “s’@STARTKDE_PATH\@’$STARTKDE_PATH’” \
                -e “s:@WINMGR_NAME\@::” \
                -e “s:@WINMGR_PATH\@::” \
                -e “s:@SHELL_LOGIN\@:/bin/sh:” \
                $configfile.in \
                > $configfile
        chmod 755 $configfile

で、wdm を再起動後で再度ログインしてみたら、無事、ウィンドウマネージャが起動した。

つづいて、wdm の画像が表示されていない件も、@GFXDIR@ が置換されていない。

 /usr/local/lib/X11/wdm/wdmReconfig を書き換える(さらに、1行追加する)。

# update wdm-config
        configfile=/usr/local/lib/X11/wdm/wdm-config
        rm -f $configfile
        sed \
                -e “s:@DMDIR\@:/usr/local/lib/X11/wdm:” \
                -e “s:@BINDIR\@:@BINDIR@:” \
                -e “s:@SHUTDOWN\@:/sbin/shutdown:” \
                -e “s:@LOGDIR\@:/var/log:” \
                -e “s:@RUNDIR\@:/var/run:” \
                -e “s:@PIXMAPFILE\@:beastie.xpm:” \
                -e “s:@PIXMAPCOMMENT\@::” \
                -e “s:@exec_prefix\@:/usr/local:” \
                -e “s/@WMLIST\@/$WMLIST/” \
                -e “s:@GFXDIR\@:/usr/local/lib/X11/wdm/pixmaps:” \
                $configfile.in \
                > $configfile
        chmod 644 $configfile

これで、wdmReconfig を実行すると、元通りの画像が表示された。

 

 

WDM でウィンドウマネージャを選択する

とりあえず初期状態では、下記のウィンドウマネージャが選択できる。

  • NoChange
  • wmaker
  • afterstep
  • blackbox
  • ctwm
  • enlightenment
  • fvwm
  • fvwm2
  • fvwm95
  • olvwm
  • qvwm
  • tvtwm
  • failsafe(ウィンドウ枠を表示しないフェイルセーフ)

(やること、むっちゃ増えたし。)

 これらの設定はどこにあるんだろうと、

# cd /usr/local/lib/X11/wdm
# grep wmaker *

Xclients:       wmaker*|WMaker*|WindowMaker*)
Xclients:               WMAKER_PATH=wmaker
Xclients.in:    wmaker*|WMaker*|WindowMaker*)
Xclients.in:            WMAKER_PATH=wmaker

wdm-config:DisplayManager*wdmWm:           wmaker:afterstep:blackbox:ctwm:enlightenment:fvwm:fvwm2:fvwm95:olvwm:qvwm:tvtwm

wdmReconfig:rc_word=wmaker
wdmReconfig:WMAKER_PATH=”wmaker”

ひとずつ、いじってみるか。

/usr/local/lib/X11/wdm/Xclients の wmaker* などは、ワイルドカードっぽいわけで、/usr/local/lib/X11/wdm/wdm-config の中のリストを変更してみた。

現状使えるウィンドウマネージャにマークを付けて、並び順を変えてみる。

DisplayManager*wdmWm:           wmaker@:enlightenment@:fvwm2@:twm@:afterstep:blackbox:ctwm::fvwm:fvwm95:olvwm:qvwm:tvtwm

 

問題なく起動した。

が、本来は、wdm-config や Xclients の設定は、wdmReconfig を実行することで作り変えるらしい。

で、とりあえずそのまま wdmReconfig を実行したら、wdm のユーザログイン後に、ウィンドウマネージャへ遷移せず、再び wdm の画面に戻ってしまうようになった。

結局 wdm の再インストール。

 

 

 

 

 

WDM - ディスプレイマネージャ

x11/wdm

wdm-1.28_10

ディスプレイマネージャ、いまだ、XDM しか入っていない。

そういえば以前、jail 環境で Window Maker を入れたっけか。

つーことで、WDM をインストールしてみる。

# cd /usr/ports/x11/wdm
# make config-recursive
# make install clean

あら、あっさり入っちゃった。

wdm is an X display manager based on the original X11 X Display Manager (xdm).

 

で、usr/local/etc/rc.d/wdm.sh を作成した。

#!/bin/sh

/usr/local/bin/wdm

jail 再起動して、Xming で接続!

 

おう、いえーぃっ!

しかも、なんだか、ウィンドウマネージャが選択できるっぽい。

gdm インストールの失敗で気落ちしていたが、なんだかテンション上がってきたーっ!

 

 

 

GDM - ディスプレイマネージャ(失敗記録)

x11/gdm

気分を変えて GDM をインストールしてみるか。上手にできるかな?

さて、jail環境で。

# cd /usr/ports/x11/gdm
# make config-recursive
# make install clean

とても多くの時間を必要としそうだよ。

とはいえ、意識的にディスプレイマネージャをインストールするのは、XDM に続いてお初なので、楽しみである。

make 中にエラーが出た。

/usr/bin/ld: warning: libz.so.6, needed by /usr/local/lib/libxml2.so, not found (try using -rpath or -rpath-link)
(途中略)
gmake[2]: *** [xsltproc] Error 1
gmake[2]: Leaving directory `/var/tmp/usr/ports/textproc/libxslt/work/libxslt-1.1.26/xsltproc’

# cd /usr/ports/textproc/libxml2
# make deinstall
# make reinstall clean

ふたたび、gdm の make を実行。

またエラーが出た。  

/libexec/ld-elf.so.1: Shared object “libutil.so.9″ not found, required by “perl5.12.4″
*** Error code 1

Stop in /usr/ports/textproc/p5-XML-Parser.
*** Error code 1

libutil.so.8 が libutil.so.9 にアップグレードしたとか・・・。

現在、FreeBSD 8.2R 。

やっぱ、FreeBSD 9.0 にアップグレードしなきゃならんのか?