How to use SETI@home screen saver on Windows NT/2000:
This WWW page is written in
Japanese.
[English page
]
SETI@home screen saver を
Windows NT/2000 で使う方法
目的: SETI@home を logon 待ち状態の screen saver として使いたい !
SETI@home とは、あなたのコンピュータが CPU を使っていない時間に宇宙電波解析の計算をするソフトウェアです。(詳しい目的・方法については SETI@home のホームページをお読みください。)
SETI@home の日本語ページ /
オリジナル英語ページ
通常、Windows では screen saver として SETI@home のソフトが動作し、ユーザーが PC を使っていない時間に計算を行います。
ところが Windows NT や Windows 2000では「ユーザーの logon/logoff」というのがあります。
NT/2000 で screen saver が動くのは、ユーザーが logon していて、しかも設定した時間以上 PC を放置したときだけです。
Windows NT/2000 で CPU が一番暇なはずの、「誰も logon していない、logon 待ち状態」 (下の window) のときには、SETI@home screen saver を動かすことができません。
Windows NT/2000 が logon 待ちで放置されているとき、logon 画面が動く screen saver が表示されることがあります。
そこで、ちょっと「裏技」を使って、SETI@home を「サービス」として動かし、logon 待ちの default screen saver の代わりに SETI@home の screen saver を表示する方法を開発しました。
※ File server, Domain controler, Internet server など、ユーザーが logon していない時も network 上の他の computers にサービスを提供する Windows NT machine では、負荷が重くなるので SETI@home を動かすべきではありません。
具体的な設定方法
- まず、http://setiathome.ssl.berkeley.edu/windows.html からプログラムを download
して、default のまま install します。
"C:\Program Files\SETI@home" というディレクトリに install されます。
SETI@home を起動し、サーバに接続して mail address を入力します。
このとき "C:\Program Files\SETI@home\user_info.sah" という、ユーザー情報を記録するファイルが作られます。
- 「リソースキット」を利用して、SETI@home を「サービス」として登録します。
Administrator で Windows NT/2000 に logonして、「Windows NT リソースキット」
から C:\Program Files\ResKit\ ディレクトリに INSTSRV.EXE と SRVANY.EXE という2個のファイルを入れます。
そこで Command Prompt から
"C:\Program Files\ResKit\INSTSRV.EXE" "SETI at home" "C:\Program Files\ResKit\SRVANY.EXE"
を実行して、サービスを登録します。
この方法は、「桜時計をサービス化する方法」の WWW page を参考にしました。
- Registry を設定して、「サービス」と logon screen saver を登録します。
以下の内容を「SETIhome.reg」ファイルに書き、Administrator で logon して
Explorer でファイルを double click します。
REGEDIT4
[HKEY_USERS\.DEFAULT\Software\SETI@Home]
"Status"=dword:00000000
"ClientPath"="C:\\Program Files\\SETI@home\\SETI@home.exe"
"ClientDir"="C:\\Program Files\\SETI@home"
"WinDir"="C:\\WINNT\\"
[HKEY_USERS\.DEFAULT\Control Panel\Desktop]
"ScreenSaveTimeOut"="60"
"ScreenSaveActive"="1"
"SCRNSAVE.EXE"="C:\\WINNT\\SETIhome.scr"
"ScreenSaverIsSecure"="0"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SETI at home\Parameters]
"Application"="C:\\Program Files\\SETI@home\\SETI@home.exe -min"
"AppDirectory"="C:\\Program Files\\SETI@home"
----- 以上。
[HKEY_USERS\.DEFAULT\] 以下の registry には、「サービス」が「System Account」
で動作するための設定が入っています。
[HKEY_USERS\.DEFAULT\Software\SETI@Home] は、SETI@home application の設定です。
[HKEY_USERS\.DEFAULT\Control Panel\Desktop] は、logon 待ちのときの screen saver
の設定です。
"SCRNSAVE.EXE"= の行で SETI@home screen saver を指定し、default の "logon.scr"
を置き換えます。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SETI at home\Parameters]
は、前項で登録した「サービス」が動作するためのパラメータを指定します。
どんなプログラムでも「サービス」として動かす "SRVANY.EXE" が、"SETI@home.exe"
をサービス化し、最小化の状態で起動します。
- Contrpl Panel の「サービス」で、SETI@home のサービスを設定・開始します。
Windows NT4 では「コントロール パネル」→「サービス」、
Windows 2000 では「管理ツール」→「サービス」を開くと、
サービスのリストの中に「SETI at home」ができています。
それを選択して double click して出てくる dialog で、
- 「Start up の種類」=「自動」
- 「Logon」=「system account / desktop との対話を許可」
を選んで閉じます。
画面右下に SETI@home の緑色の電波望遠鏡アイコンがあったら、右 click して
「Exit」を選択して終了させます。
※ SETI@home が実行中だと、サービスを起動することができません。
そのあと、「サービス」の window で「SETI at home」のサービスを「開始」します。
「サービス」のリストで「SETI at home」の欄が「開始 自動」になっていることを確認して、「サービス」の window を閉じます。
- Windows から logoff して、logon 待ち画面から約1分後に SETI@home の
screen saver が表示されたら成功です。
Windows NT/2000 に誰も logon していない時に、SETI@home の計算が行われます。
logon するために keyboard にさわると、SETI@home screen saver が停止して logon 画面に戻ります。
※ SETI@home が「サービス」として動いていると、一般 user が logon 中に
SETI@home screen saver を使えないことが多いです。