長南です。
ユーザのディレクトリを削除するような荒事をやるときは、
バックアップを取ってからやらないと……。
堀野さんのメールより [vine-users:075843]
>
> 御指摘により、他のユーザーでloginできるかを調べました。
> 1. rootでは正常に起動しました。
> 2. 一般ユーザーでは、ダメであったため、あらたにユーザーを作成した
> ところ、このユーザーでは、成功しました。
当該ユーザのみ不具合、ほかのユーザなら正常ということですから、
十中八九そのユーザ固有の問題であることがわかったわけです。
それだけでも、かなりの前進だと思います。
> 3. loginできないユーザーを削除して、あらたに同じ名前で、
> ユーザーを作成して、loginを試みました(ディレクトリも削除しました。)
> が、次のようなエラーとなり、全くloginできません。
>
> gnome-session情報の読み込みまたは、保存する際にエラーが発生しました。
>
> gnome-setting-daemon情報の読み込みまたは、保存する際にエラーが
> 発生しました。
> GConfエラー 設定サーバーgconfとの接続に失敗
> OrbitのTCP/IPネットワークを有効にしていないか、システムで古い
> NFSのロックがクラッシュを引き起こしたことが考えられます。
> 1. IORファイル /tmp/gconfd-XXX/lock/ior のオープンに失敗
> 2. gconfdがありません。許可がありません
グラフィックなログイン画面で Ctrl-Alt-F2 を押して、テキスト
ログインを試みたら、問題のユーザでもログインできるのでは
ないでしょうか。としたら、問題はおそらくそのユーザの X や
Gnome 関係のファイルでしょう。ホームディレクトリでこんなことを
やってみてください。ユーザ名は hoge だとします。
find . ! -user hoge -ls
これで hoge 以外が所有者のファイルがあったら、chown コマンドで
所有者を変更。
次に、/tmp に移動して、ls を実行します。gconfd-hoge ディレクトリが
あったら、それを消去してください。root にならないと、消せないかも
しれません。
今度は、グラフィックでも正常にログインできないでしょうか。
それでもうまく行かないときは、もう一度、ユーザの作り直しをやって
みてください。そのとき、一歩一歩確認を取りながら。
ユーザを hoge として、実際にこんな具合にやってみました。
1) まず、root でログインして。
2) userdel hoge
3) cd /home
4) rm -rf hoge
5) ls # /home/hoge がなくなっていることを確認
6) useradd hoge
useradd: グループ hoge は存在します。このユーザをそのグループに
追加するには -g を用いてください。 # あれっ、グループは
消してくれないの?
7) less /etc/group # なるほど、グループ hoge は消えていない。
8) less /etc/passwd # ユーザ hoge は消えている。
9) useradd -g hoge hoge
10) passwd hoge
11) less /etc/passwd
12) less /etc/groupe
13) cd /tmp
14) ls
15) gconfd-hoge が存在したら、念のため rm -rf gconfd-hoge で消去。
16) root でログアウトし、ユーザ hoge でログイン。
わたくしのところでは、上のように実行したところ、ユーザ hoge で
問題なくグラフィックログインができました。
> (新たなユーザーを作成する際に、Invalid chractor "?" in comment とか、
> 「ユーザー名に不正な文字があります。」などのエラーが出て、なかなか
> うまくできませんでした。)
こういうことも、コマンドとエラーを省略なしに書いておいてくださると、
情報として役に立つことがあります。
--
長南洋一