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

[debian-users:00723] Re: startx & xdm trouble



瀬戸川です。

鵜飼さん、八田さん、情報ありがとうございます。結論から言いますと全て
うまくいきました。^-^

鵜飼さん:

> /usr/X11R6/bin/X は 
> -rwsr-xr-x   1 root     root         4060 Jan 14 12:11 /usr/X11R6/bin/X*
>    ^
> ですが、これ(setuid)は大丈夫ですか?

これは大丈夫でした。

> > 2はxbase パッケージのインストール(dselect より)時のconfiguration

    ちょきちょき...

>  /etc/X11/xdm/Xservers が変なのでは?
> 
> /usr/doc/xbase/ を読んで /usr/sbin/xbase-configure すればいいかも。

root以外からのstartx失敗の件は、鵜飼さんの指摘されたsetuid の確認をし
てもそのままだったので、まずはxdm 起動の問題を試してみました。ポイン
トは

    /usr/sbin/xbase-configure を実行する

という事でした。/etc/X11/config や/etc/X11/xdm/Xservers 等は手作業で
記述を追加してみたりしていましたが、それだけでは不備だったようです。
パッケージインストール時xdm を起動しない設定にしていた場合、次の2ス
テップでxdm を起動できるように設定変更できるようです。

1./etc/X11/config の編集

no-xdm-start-server
no-start-xdm

となっている個所を

xdm-start-server
start-xdm

と変更。

2./usr/sbin/xbase-configureを実行

このスクリプトの後半で1の設定を見てxdm 関係の設定を自動的に追加して
いるようです。具体的には下記の変更がありました。

/etc/X11/xdm/Xservers

# $XConsortium: Xserv.ws.cpp,v 1.3 93/09/28 14:30:30 gildea Exp $
#
# Xservers file, workstation prototype
#
# This file should contain entries to start the servers on the
# local machine; if you have more than one display (not screen),
# you can add entries to the list (one per line).  If you also
# have some X terminals connected which do not support XDMCP,
# you can add them here as well.  Each X terminal line should
# look like:
#       XTerminalName:0 foreign
#
# X servers are automatically added to this file by the Debian
# xbase and xserver configuration scripts.

:0 local /usr/X11R6/bin/X    ← このエントリが追加された
^^^^^^^^^^^^^^^^^^^^^^^^^
ただこのエントリ追加は手作業でも試しているので、それ以外の部分でも設
定が必要なようです。

#/usr/sbin/xbase-configure を詳しく追えば分かるかもしれません

ここまで変更してからrebootするとxdm がちゃんと立ち上がりました。

---
root以外のユーザーでのstartx については、実はxdm の設定をしてreboot
する前にloginしているユーザーを間違って一度startx を実行しました。
するとrootではなくてもちゃんとXが起動されました。xbase-configure
スクリプトによって何か変ったようです。

気になった部分は/etc/X11/Xserverというファイルです。

/usr/X11R6/bin/XF86_SVGA
Console

The first line in this file is the full pathname of the default X server.
The second line shows who is allowed to run the X server:
RootOnly
Console      (anyone whose controlling tty is on the console)
Anybody

インストールした時から2行目は"Console" となっていたんですが、それ
以外の"RootOnly"という記述にひっかかったので再びxdm を起動しない設
定に戻し、reboot後"RootOnly"を試しました。結果はstartx実行時下記の
メッセージが表示されXの起動は失敗しました。

X: you are not authorised to run the X server
_X11TransSocketUNIXConnect: Can't connect: errno = 111
giving up.

xinit:  Connection refused (errno 111):  unable to connect to X server

xinit:  No such process (errno 3):  Server error.

前回の質問で書いたエラーとは明らかに理由が異なるようです。再び"Console"
に戻しxbase-configure を実行すると問題なくXが起動できるようになります。

---
結果的に/usr/sbin/xbase-configure スクリプトの実行だけで両方の問題
が解決してしまいました。startxの問題は依然疑問が残りますが、とりあ
えず問題無く動いています。m(_)m

                            =====================================
                            real life  : ## SETOGAWA Michihiko ##
                            on the road: m-seto@xxxxxxxxxxxxxxxxx