1999-11-06

最近のLinuxPPCはGNOMEがデフォルトのデスクトップ環境になっているんだけど、これが重い。。。で、普段は KDEなんか使ってたりするんだけど、これでもまだ重い。486機でもGUIがそれなりにさくさく動くのが Linuxの「売り」の一つだったと思うんだけどなぁ。というわけで幾分軽そうなAfterStepを動かしてみることにしました。
#軽さを求めるんなら twmとか、mwmとかでもいいんではという話もあるが、
#それではちょっとダサ過ぎるんで:-P。

まずはどこでGNOMEを起動してるのかな〜と探してみると、/etc/rc.d/rc.sysinitの中にそれらしき記述が。

# Set preferred X display manager link
preferred=
if [ -f /etc/sysconfig/desktop ]; then
    if [ -n "`grep GNOME /etc/sysconfig/desktop`" ]; then
        preferred=gdm
    elif [ -n "`grep KDE /etc/sysconfig/desktop`" ]; then
        preferred=kdm
    elif [ -n "`grep AnotherLevel /etc/sysconfig/desktop`" ]; then
        preferred=xdm
    fi               
fi
if [ -n "$preferred" ] && which $preferred >/dev/null 2>&1; then
    ln -snf `which $preferred` /etc/X11/prefdm                  
else
        if [ ! -L /etc/X11/prefdm ]; then
        if which gdm >/dev/null 2>&1; then
            ln -snf `which gdm` /etc/X11/prefdm
        elif which kdm >/dev/null 2>&1; then
            ln -snf `which kdm` /etc/X11/prefdm
        elif which xdm >/dev/null 2>&1; then
            ln -snf `which xdm` /etc/X11/prefdm
        fi
    fi    
fi
どうやら、/etc/X11/prefdm が実際に起動されるディスプレイマネージャへのシンボリックリンクになっているらしい。gdmもkdmもあまり好きでないのでシンプルなxdmでいいよねというわけで(実はgdmもkdmもよくわかっていないだけ:-P)
$ ln -snf `which xdm` /etc/X11/prefdm
を実行してディスプレイマネージャをxdmに変更。ログアウト。しばし待つ。と、あの懐かしいxdmのログインが面画出ている!RedHatのロゴが邪魔だけど。ま、それくらいは目をつぶることにして早速ログイン。



何も出てこない。



なぜ?(その後しばらくしたらまたxdmのログイン画面になったけど)。

何か設定間違ったかな〜と思いつつiMacからはログインできそうもないんで近くに転がっているWindowsからtelnetでログイン。
#こういうときに UNIX系のシステムって便利よね〜。
どこか間違ったところあったかなと/etc/X11あたりをチェックしていると、ふと目に止まったのがXsessionというファイル。そういえば大学時代は$HOME/.xseesionを書き換えていろいろ遊んでいたっけと思ってホームディレクトリを覗くと.xseesionが存在しないことが判明。そりゃログインできないかもねぇと、なんとなく納得してホームディレクトリに.xsessionを作成。以下がその内容。

#!/bin/bash -login
# (c) 1999 Red Hat Software, Inc.

xsetroot -solid '#356390'

# redirect errors to a file in user's home directory if we can
for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$
USER"
do
    if ( cp /dev/null "$errfile" 2> /dev/null )
    then
    chmod 600 "$errfile"
    exec > "$errfile" 2>&1
    break
    fi
done

# clean up after xbanner
if [ -x /usr/X11R6/bin/freetemp ]; then
    /usr/X11R6/bin/freetemp
fi

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap

# merge in defaults and keymaps
if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f $userresources ]; then
    xrdb -merge $userresources
fi

if [ -f $usermodmap ]; then
    xmodmap $usermodmap
fi

PATH="$PATH:/usr/X11R6/bin"

# If you login from xdm, uncomment this to make error messages appear
# in the console window.
#
# tail -f /home/shin/.xsession-errors > /dev/console &

exec afterstep

最後に afterstepを起動するように指定しただけで /etc/X11/xdm/Xsessionの内容ほとんどそのままだけど。あとは

$ chmod u+x .xsession

として実行権を付けるのを忘れずに。

そして再度ログイン。今度はちゃんとAfterStepが起動されました。

でも、何か使いにくいんだよなぁ。


prevnext

H2 HOME PAGE - Linux iMac - DIARY - 00000008