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