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

[debian-users:11023] Re: About Xsession



やぎ@横浜です.こんばんは.

ありがとうございました.おかげさまでご教示のとおり設定した結果,個別の
.xsessionを読むようになりましたが, kdmでウインドウマネージャを選択しても
反映されません. Xsessionにウインドウマネージャを選択するスプリクトを書い
た場合には kdmで選択できるようです.このことから

Xsesion → .xsession

の際にウインドウマネージャの引数のやりとりができてないように思うのですが
どうでしょか.
kdmでウインドウマネージャを選択できるようにしているのだから個別に
.xsessionを作らなくてもいいのですが,スクリプトの勉強のために覚えたいこと
なのでご存知の方おられましたらご教示お願い致します.参考までに
/etc/X11/Xsessionと~/.xsessionのファイルを載せておきます.


On Wed, 16 Dec 1998 15:13:00 +0900
syano@xxxxxxxxxxxxxxxxxxxxxx (Shohei Yano) wrote:

> 
> はじめまして、Sやの@長岡 と申します。
> 
>    Kazuyuki Yagi <yagik@xxxxxxxxxxxxxxxx> wrote:
>    > xdm起動後,ユーザごとに使うウインドウマネージャーをかえるために
>    > 各ホームディレクトリ上に.xsessionをおいてるのですが,
>    > 設定は/etc/Xsessionのものが反映
>    > されてしまい,各自同じウインドウマネージャーとなってしまいます.
> 
> Debianの/etc/X11/Xsession には 
> ------------------------
>     なんたらかんたら
> 	  :
>      if [ -x $startup ]
> 	 exec $startup
> ------------------------
> と書いてありますので
> .xsessionのファイルを実行可能モード
> にしてけば良いのではないでしょうか?
> 
> chmod +x ~/.xsession
> 
> でどうでしょう?
> 
> 

/etc/X11/Xsession
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
#!/bin/sh
#
# /etc/X11/Xsession
#
# global Xsession file -- used by both xdm and xinit (startx)

# If /etc/environment is present, source it. It's useful to put default
# environment settings in this file, and then source it both here and in
# /etc/profile.
if [ -f /etc/environment ]; then
  . /etc/environment
fi

sysmodmap=/etc/X11/Xmodmap
usrmodmap=$HOME/.Xmodmap
sysresources=/etc/X11/Xresources
usrresources=$HOME/.Xresources

startup=$HOME/.xsession

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

case $# in
1)
  case $1 in
  failsafe)
    if grep -q ^allow-failsafe /etc/X11/config; then
      exec xterm -geometry 80x24-0-0
    fi
    ;;
  esac
  ;;
esac

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

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

if grep -q ^allow-user-resources /etc/X11/config; then
  if [ -f $usrresources ]; then
    xrdb -merge $usrresources
  fi
fi

if grep -q ^allow-user-modmap /etc/X11/config; then
  if [ -f $usrmodmap ]; then
    xmodmap $usrmodmap
  fi
fi

if [ -x $startup ] && grep -q ^allow-user-xsession /etc/X11/config; then
  exec $startup
else
  xterm -ls &
  if [ -e /etc/X11/window-managers ]; then
    for i in `sed 's/#.*//' /etc/X11/window-managers`; do
      if [ -x $i ]; then
	exec $i
      fi
    done
  fi
  exec twm
fi


・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

~/.xsession

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

#!/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
#           ;;

      wmaker)
            WINDOWMANAGER=wmaker
            ;;

      *)    WINDOWMANAGER=windowmgr   # default for unknown wm's

    esac

    #
    # load resources
    #

    if [ -f /usr/X11/Xmodmap ]; then
        xmodmap /usr/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