Solaris8でのログイン時に標準シェルがcshの時には/etc/.loginの読み込みを行いますが、

その読み込みがX-window(CDE)のログインであると判断できる要素(値、環境変数?)がありますでしょうか。

■質問の前提
Solaris8上で、標準シェルがcshのユーザを作り、/etc/.loginの中に、
---
script /tmp/`date +%y%m%d%H%M%S%`.log
logout
---
と追記し、自動的に操作履歴を取得する仕組みを考えています。

この仕組みを設定したところ、telnet,sshを開いた時には、
問題なくScriptでの操作履歴保存ができました。

ところが、X-Window(CDE)でログインする際に、パスワード入力後に、
デスクトップが開かずに、画面が進まない状態になってしまいました。

その状態で、telnetで入り、状態を見たところ、
X-Windowを開く時にも、/etc/.loginを読み込み、scriptを実行し停止した
状態になっているらしく、scriptのプロセスをkillしたところ、
/etc/.loginのscriptの次の行のlogoutを実行しX-Windowのログイン画面に
戻るようになりました。(標準シェルをcshにしているユーザで発生)

この状態では困るので、/etc/.loginの中のscriptコマンド実行前に、
X-windowのログインの場合は、実行しないという条件分岐をつけようと考えています。

回答の条件
  • 1人5回まで
  • 登録:2006/11/23 13:43:28
  • 終了:2006/11/23 20:48:59

回答(4件)

id:hamster009 No.1

hamster009回答回数3431ベストアンサー獲得回数502006/11/23 14:34:58

ポイント1pt

logoutがよけいなんじゃないですか?

id:noface

logoutを外すと、ログイン後、exitやCtrl+D等でscriptを終了し、操作履歴の取得を止めることが可能となってしまいます。

伺いたい事、問題としている事は、logoutを実行し、ログイン画面に戻ることではありません。

/etc/.loginの読み込み時に、どのような方法で、X-Windowでのログインであることを判別するかです。

2006/11/23 14:54:00
id:hamster009 No.2

hamster009回答回数3431ベストアンサー獲得回数502006/11/23 15:31:57

ポイント1pt

質問自体がまちがっている気がします。

id:ttamo No.3

たも回答回数175ベストアンサー獲得回数292006/11/23 18:08:50

ポイント80pt

再現、試行をする環境がないので自信ありませんが、$DISPLAY 環境変数じゃだめでしょうか。

id:noface

ありがとうございます。

確かに$DISPLAYでCDEでのログインの見分けが可能でした。

但し、、、私の説明不足でしたが、CDEでログインした瞬間でのscript実行は回避し、

デスクトップが開き端末エミュレータ・コンソール等を開いた際には、Scriptでログを取りたいと考えています。

ご指摘の$DISPLAYは、CDEログイン時でも、デスクトップがでた後の端末エミュレータ等でも、

値が同じ為、前述の希望の動作ができない状態にあります。

2006/11/23 20:07:41
id:znz No.4

znz回答回数193ベストアンサー獲得回数252006/11/23 19:41:42

ポイント80pt

Solaris8環境がないので、そういう状況になったときに自分が調べる方法の紹介だけになりますが、/etc/.loginの中で

env > /tmp/`date +%y%m%d%H%M%S%`.log

のように環境変数を保存して調べてみれば良いのではないでしょうか?

環境変数でダメだった場合はttyなどいろいろと試すと良いと思います。

id:noface

ありがとうございます。

env,setでのログ吐きも試みましたが、$DISPLAYの件と同様にCDEログイン時とデスクトップがでた後の端末エミュレータ時で、値に差がないような状態です。

シェル変数、環境変数以外、何かコマンドで区別できる値が取得できればいいのですが・・・

(ちなみにttyの値は、同じでした)

2006/11/23 20:10:47
  • id:noface
    /etc/.loginを読み込んでいるcshの親プロセスを手繰り寄せることで、区別が出来そうです。
    具体的な記述は、後ほど記載いたします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません