USBメモリから起動するCygwin+PC-IRAFの使い方
(2012年08月30日 改訂)

USBメモリから起動するCygwin+PC-IRAFの使い方



0.  Wikipedia によれば、Cygwin は MS-Windows の下で動作し、Unix-like 
   な作業環境を提供してくれるフリーウェアの一つである。Cygwin1.dll と
   いうダイナミック・リンク・ライブラリがシステムの中心であり、これに
   よって Unix 上のシェルやコマンドなどを、MS-Windows上で、ソースから
   コンパイルできるようにしたものである。従って、システム構造上、エミュ
   レーターとは異なるものである。シグナスソリューソンズが主に開発しており、
   公式サイトはこちらである。
     Cygwin 本体は、公式サイトなどからのダウンロードで簡単に入手・イン
   ストールが可能である。また、最近のバージョンでは X-Window も容易に
   動作するようになったため、初学者向きの Unix 系 OS 学習などでも重宝
   されることがあるようだ。
     天文学関連では、PC-IRAF の MS-Windows 版というのが、Cygwin 環境下で
   用意されている。すると、わざわざ Unix や Linux をインストールした PC 
   を用意しなくても、MS-Windows が動く PC さえあれば、Cygwin をインス
   トールすることで、Unix や Linux 、そして PC-IRAF を用いた画像解析実習
   などを容易に行えることになる。これは大変嬉しいことだ。
     さらに、これが USB メモリから Cygwin を立ち上げる形に出来れば、解析
   ツールのシステムと、解析データそのものを、一つの USB メモリに用意する
   ことが出来て、さらに便利である。

     と、思っていたら、日本女子大の濱部氏が、これを見事に実現されていた。
   FAT32 でフォーマットした USB メモリ内から Cygwin を起動し、さらに 
   X-Window、xgterm を動かして、最終的にはこれから PC-IRAF を立ち上げる
   ことができる。さらにこの PC-IRAF の中には、濱部氏自らが開発メンバーでも
   ある銀河の表面測光用ライブラリである SPIRAL もインストールされている
   ため、銀河の基本的な画像解析と分析が、これだけで結構行えてしまうので
   ある。なお、このシステムは(おそらく)非公開ではあるが、現在、関係者の
   間でのみ、密かに流通している(笑)。

     本稿は、このシステムを使用する際に必要な設定の備忘録である。このシス
   テムを動作させたPC環境は以下の通りである。

     PC     : レノボ製 ノートPC, Lenovo 3000 V100 Notebook 0763-64J
     CPU    : Core Duo T2300E 1.66GHz(2MB)
     Memory : 1.0GB
     HDD    : 100GB


----- I. Cygwin 起動前の設定 -----

1.1 profile の変更

      USB メモリ中の /cygwin/etc/profile を秀丸エディタなどで、書き込み可能
    な状況で開く。なお、この作業は MS-Windows のワードパッドなどでは上手く
    行かないことが確認されている。
      追記・変更する箇所は以下の通り。

          # Set the user id のセクションに対して、ユーザー visitor 用に、

          export USER="visitor"
          export HOME=/home/visitor

    を追記。他の ID については「#」でコメントアウトする。

1.2 .bashrc の変更

      USB メモリ中の /cygwin/home/*/.bashrc を秀丸エディタなどで、書き込み可
    能状態で開く。
      追記・変更する箇所は以下の通り。

          ユーザー visitor に対して、/cygwin/home/visitor/.bashrc に、

          export IMTDEV="inet:5137:127.0.0.1"
          export PGPLOT_DEV="/xwindow"

    を追記。


----- II. Cygwin, X-Window, PC-IRAF の起動 -----

2.1 Cygwin の起動

    MS-Windows のコマンドプロンプトを開き、カレントドライブを USB メモリ
  にする。そして、

        cygwin[RET]

  でメッセージがコマンドプロンプトの画面の中を、次々と流れて、しばらく
  すると cygwin が起動する。

2.2 X-Window の起動

    cygwin の適当なウィンドウから、

        startx[RET]

  と入力すると、ウインドウの中を様々なメッセージが次々と流れて、しばらく
  すると、X-Window が立ち上がる。

    Cygwin 上での X-Window の起動については、こちらの追記事項も参照のこと。

2.3 PC-IRAF の起動 --- 初めての起動の場合

    IRAF を使用するにおいて一般的なことではあるが、本システムで初めて PC
  -IRAF を起動する場合は、以下の作業を行う。

    X-Windows で立ち上がったウインドウから、

        mkiraf[RET]

  と入力して、IRAF を初期化する。ターミナルには、

        xgterm

  を指定する。
    この作業によって、mkiraf を実行したディレクトリに、login.cl という
  ファイルが出力される。これが IRAF の設定ファイルで、今後、IRAF を起動
  する度に、このファイルを読み込んで、その設定を反映させる。
    一旦この作業を行えば、今後は IRAF を初期化しない限り不要である。

    さらに、login.cl は以下のように書き換えると、IRAF が使いやすくなる(
  と思われる)。

        set     home            = "/home/visitor/"
        set     imdir           = "."
        set     stdimage        = imt4096
        set     imtype          = "fits"
        set     imextn          = "oif:imh fxf:fits,fit,FIT,fts plf:pl qpf:qp stf:hhh,??h"


2.4 PC-IRAFの起動 --- 通常の起動の場合

    X-Windows で立ち上がったウインドウから、

        xgterm[RET]

  と入力して、ターミナル xgterm を起動し、この xgterm から、

        cl[RET]

  で IRAF が起動する。


----- III. PC-IRAF, X-Window, Cygwin の終了 -----

    終了する時には、起動した時の反対でOK。
    DS9 は上部メニューの「ファイル」から「終了」を選択して終了。
    PC-IRAF は xgterm から logout[RET] で終了。さらに xgterm はプロン
  プトから exit で終了する。
    X-Window も exit[RET] で終了。ウィンドウも閉じられる。
    そして、cygwin のウィンドウから exit[RET] で Cygwin も終了し、コマンド
  プロンプトに戻る。そして、Cygwin の各種設定の保存のために、コマンドプロ
  ンプトから

        cygend[RET]

  と入力してバッチファイルを起動。メッセージがたくさん流れて、再び普通のコマ
  ンドプロンプトが帰ってくる。
    最後に exit[RET] でコマンドプロンプトを閉じて完全に終了。
    
    
  さぁ、では FITS 画像を解析しましょう!

(2012年08月30日追記)
       Cygwin 上で X-Window が立ち上がらないということが時々ある。原因はケース・
     バイ・ケースなのだが、ここでは、筆者が遭遇した対処法を幾つか記しておく。
     なお、予めお断りしておくが、これらは必ずしもベストの解決方法ではない。これら
     の方法を試すことで何らかの問題が生じても、筆者は責任を負いかねるので、くれぐれ
     も注意して欲しい。

         ・ startx や startxwin.sh では無く、startxwin.exe で X-Window を起動する。
          ただし、バージョンによっては startxwin そのものが無いこともある。

         ・ (不覚にも正しいメッセージを憶えていないのだが) MS-Windows XP の一般
          ユーザー権限で、 Cygwin から startx や startxwin で X-Window を立ち上げ
          ようとした場合、

              startx A fatal error has occurred and Cygwin/X will now exit.

          などのメッセージが出て、レスポンスが悪くなり、挙句の果てに fatal error と
          言われて、X-Window が立ち上がらないことがある。これは、ユーザー権限の問題
          で、先に起動した X-Window に関する一時ファイルが消去もしくは上書きできない
          ことに起因するようだ。
            対処方法としては、administrator でログインし、

              /cygwin/tmp/.X11-unix/

          にある「X0」というファイルを消去すれば良い。この X0 というファイルは、普通、
          X-Window の起動とともに作成され、X-Window のシャットダウントとともに消去さ
          れる。しかし、時々、何らかの要因によって、これが実行されないことがあるようだ。
          バージョンによっては、別の場所に作成されているかも知れないので、注意して欲しい。


西浦クンのお部屋トップページへ

西浦クンのメモトップページへ

東京学芸大学天文学研究室ホームページへ

東京学芸大学宇宙地球科学分野ホームページへ

東京学芸大学ホームページへ

Last modified: Thr Aug 30 14:35 JST 2012