SETI@home

SETI@home クライアントソフト for Windows
コマンドライン版
インストール手順

Copyright (C) 1999,2000 Yasuhiro Arakawa
(更新履歴)

・ コマンドライン版 「SETI@home」 クライアントソフトをインストールする
・ クライアントソフトをサービス化する

コマンドライン版 「SETI@home」 クライアントソフトをインストールする

Windows NT 用のコマンドライン版クライアントソフトは, グラフィック表示部分がないため見た目は地味ですが, 余計な処理がないので高速です。 常にバックグラウンドで解析処理をしたい方にはお薦めのパッケージと思います。
なおNT用となっていますが, Windows 98 でも動作する場合があるようです。 (95はダメらしい)

  1. ダウンロードページから 「alpha-winnt-cmdline.exe」(アルファCPU版) または 「i386-winnt-cmdline.exe」(インテルCPU版) を探してファイルをダウンロードします。 ダウンロードしたファイルは実行形式のファイルになっていて, 例えばインテルCPU版の最新版 (Ver. 3.0) の場合は 「setiathome-3.0.i386-winnt-cmdline.exe」 という名前になっています。

  2. MD5サムチェックツールを持っている方は, MD5サム値を調べて正しくダウンロードできたか確認することをお薦めします。 正しいMD5サム値はダウンロードページに書いてあります。 (「Checksums: md5」の項目です) 残念ながらWindows標準のMD5サムチェックツールはありませんが, 「SETI@home お役立ちツール集」にいくつか紹介していますので参考にしてください。

  3. 解析作業用に適当なフォルダを作成し, そのフォルダにダウンロードファイルをコピーします。 「コマンドプロンプト」 でその作業ディレクトリに移動し, 実行ファイルを起動します。 ファイル名が長いので適当な名前にかえてもかまいません。 なお 引数に「help」などを付けて起動すると, 起動オプションの説明が表示されます。 (ちなみに help という起動オプションがあるわけではありません。)

    以下に引数に help を付けて起動した際の表示メッセージ例を示します。

    bad arg: help
    options:
            -version                show version info
            -login                  log in
            -countries              show list of country codes
            -proxy hostname:port    connect to SH server through specified
                                       proxy server
            -stop_after_process     stop after current WU - do NOT send result
            -stop_after_xfer        stop after current WU - DO send result
            -verbose                print running status
            -nolock                 skip multiple-instance check
            -socks_server hostname:port     SOCKS proxy
            -socks_user name        SOCKS user name
            -socks_passwd passwd    SOCKS password
            -cpu N                  set client to run on CPU N
    

    頻繁に起動や終了を繰り返す方はバッチファイルやショートカットファイルを作成しておくとよいでしょう。 ログオンと同時に起動してほしい場合は, そのバッチファイルやショートカットファイルをスタートアップフォルダに放り込んでおけばよいと思います。

    クライアントソフトを異なるフォルダにインストールすることによって, ソフトを複数同時に起動できます。 これはマルチプロセッサ構成のプラットフォームで有効と思われます。 (-cpu オプションでプロセッサ番号(0以上の値)を指定します。 (Thanx! Osamu Fukui さん))

    バージョン2からはSOCKSに対応しました。 ただしWindows標準の機能ではSOCKSがうまく機能しないかもしれません。 その場合は SocksCap などのツールを使うとうまくいくと思います。

  4. 初めてソフトを起動すると, バージョン表示の後, 以下のメッセージが表示されます。

    Welcome to SETI@home.
    We use your email address to identify you.
    Please type:
        1 to set up a new account (first-time users);
        2 to log into an existing account (returning users).
    Your choice (1 or 2):
    

    初めて SETI@home プロジェクトに参加する方, または新たにユーザ登録をしたい方は 1 を, 既に登録済みのアカウントを持っていてそのアカウントを利用する方は 2 を選択して下さい。

    1 を選択するとアカウント情報の入力を行います。 以下に設定例を示します。

    Welcome to SETI@home.
    We use your email address to identify you.
    Please type:
        1 to set up a new account (first-time users);
        2 to log into an existing account (returning users).
    Your choice (1 or 2): 1
    
    Your email address: spiegel@alles.or.jp
    OK to show your email address on the SETI@home web site? (y/n): y
    Your name or nickname: Spiegel
    OK to show your name on the SETI@home web site? (y/n): y
    Your country number (Return see country list): 106
    Your postal code: xxx-xxxx
    Computer location: 0=unspecified 1=school 2=work 3=home :3
    
    
    Here's your account info:
    Email address: spiegel@alles.or.jp
    OK to show email address? yes
    Name: Spiegel
    OK to show name? yes
    Country: Japan
    Postal code: xxx-xxxx
    Computer location: Home
    
    Everything correct? (y/n)
    

    設定内容が正しければ最後のプロンプトで y を入力します。 サーバと接続を開始して処理がはじまります。

    2 を選択すると登録アカウントのメールアドレスを聞いてきます。

    Welcome to SETI@home.
    We use your email address to identify you.
    Please type:
        1 to set up a new account (first-time users);
        2 to log into an existing account (returning users).
    Your choice (1 or 2): 2
    Email address: spiegel@alles.or.jp
    

    入力後すぐにサーバと接続を開始して処理がはじまります。

  5. 処理を中断する場合は Ctrl+C でいつでも中断できます。

クライアントソフトをサービス化する

もし Windows NT 用のリソースキットを持っておられるなら, クライアントソフトをサービス化して, 完全にバックグラウンドタスクとして稼働させることができます。
サービス化する場合の特徴を以下に挙げます。

  1. OSの起動直後からバックグラウンドタスクとして動作させることが可能で, ログオフ状態でも解析処理を行うことができます。
  2. ユーザインタフェースがないので細かい制御ができません。 (-stop_after_process オプションが使えない)

この方法はレジストリ編集作業が必要です。 レジストリの変更は慎重にお願いします。 レジストリ変更作業の結果システムに致命的な傷害が発生しても当方は責任を負いかねます。 またクライアントソフトのサービス化について, SETI@home プロジェクト側は何も保証していません。 私も何も保証できません。 あらかじめご了承ください。

サービス化の処理をする前に 「コマンドプロンプト」上で 上記のインストール作業を行って正常に処理が行われることを確認して下さい。

クライアントソフトをサービス化するためには, リソースキットの 「SRVANY.EXE」 を使います。 SRVANY.EXE を使ったサービスの登録や設定方法については, 同梱の 「SRVANY.WRI」 ドキュメントを参照して下さい。 ここでは,レジストリの設定例だけを紹介します。

instsrvコマンドを使いサービス名「SETI@home」でサービスを登録したと仮定します。 すると 「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services」 に 「SETI@home」 というキーができているはずです。 このキーの直下に 「Parameters」 というキーを作り, 更にその下に以下に示す値を設定して下さい。

Application 実行ファイルを 「C:\usr\SETI@home\setiathome-i386-winnt-cmdline.exe」 のようにフルパスで指定して下さい。 フルパスに空白文字が含まれる場合はダブルクォーテーションで囲んでください。 また,ここには起動オプションを付けないでください。
AppParameters 起動オプションが必要な場合はここに設定します。 例えば,プロキシサーバ (ホスト:proxy.domain , ポート番号:8080) を経由する必要がある場合は 「-proxy proxy.domain:8080」 のように指定します。
AppDirectory 実行ファイルのあるフォルダをフルパスで指定して下さい。 Applicationの値が上記のとおりなら 「C:\usr\SETI@home」 と指定します。

コントロールパネルの 「サービス」 アプレットを開き 登録したサービス名の [スタートアップ(R)...] ボタンを押して下さい。 すると以下のダイアログが開きます。

サービスダイアログ画面

NT起動直後からサービスを動作させたい場合は, スタートアップの種類を「自動」にします。 ユーザが手動でサービスを起動したい場合は「手動」にします。
「デスクトップとの対話をサービスに許可」をチェックしないでください。 この項目をチェックした場合, 「コマンドプロンプト」 が表示されますが, このウィンドウを「閉じる」とプロセスも終了してしまいます。


[Top Page]