[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:04187] Re: xdm&tcsh(about LANG etc)



私はX terminalを使用するのでない限りxdmなど使用しないので、
.bash_login に次のような記述をいれています。

case "`tty`" in
/dev/tty1)
        Startx="startx"
        echo -n "exec ${Startx}? "; read a
        case "$a" in
        [nN]*)
                :
                ;;
        *)
                exec $Startx > ${HOME}/startx.log 2>${HOME}/startx.err
                ;;
        esac
        ;;
esac

xdmを使用した場合のようにlogin時の環境設定で悩まなくて
済みます。

それはともかく、


In <34DD7F3B.AD539F9E@xxxxxxxxxxxx>
[debian-users:04186] Re: xdm&tcsh(about LANG etc), Feb.08 '98 18:54 JST
knob@xxxxxxxxxxxx says:
=   1. ~/.xsessionを以下の様に修正。
=   
=   #!/usr/bin/tcsh
=   setenv LANG ja_JP.ujis &

.xsession は、これ「だけ」しか書いていませんか?
ならば、そういうことではなくて、.xsession のなかで
window manager の起動など、session開始時に必要なプロセスの
立ち上げをすべて行なうようにしておく必要があるということです。
setenv したあとでafterstepなりなんなりを起動するように
してみて下さい。

複数のプロセスを起動するのであれば、最後に起動するプロセスを
別にして全てbackgroundで起動します。( `&' をつける。)
または、全てbackgroundで起動して.xsessionの最後で
waitするという方法もあります。

setenvはtcsh内部コマンドなのでbackgroundで起動する意味は
ありません。


=   if [ -x $startup ] && grep -q ^allow-user-xsession /etc/X11/config
=   then   ^^^^^^^^^
=     exec $startup
=            ^^^^^^^^
=   省略
=   
=   となっております。もし/etc/X11/configに allow-user-xsession
=   というのがあったら$HOME/.xsessionを実行する、という意味かと
=   思われるのですが、xdmでloginできない状況です。

/etc/X11/config に ``allow-user-xsession'' で始まる行があって、
$HOME/.xsession に実行権が立っていたら .xsession を実行します。
exec なので、.xsessionの実行と同時にこのスクリプトそのものは
それ以降継続されなくなります。


=   3. 気になるのは、/etc/X11/Xsessionが #!/bin/sh で始まるのに対し
=      ~/.xsessionが #!/usr/bin/tcshで始まることです。
=      shellのことは、あまり詳しくないのですがこれって成り立つでしょうか

csh/tcshの構文にしたがって~/.xsessionを記述する限りにおいては
特にもんだいありません。


 -.- . -. -.
Ken Nakagaki <kenn@xxxxxxxxxxxxxxxxx>
「人は船ではない。人は会社ではない」-- Gerry Spence