どせいたんさき。

ナスダヨー

NON-root IRAF installation on Linux

試してみたらとりあえず動いた.

インストール手順

iraf のページから適当にダウンロードしてくる.最新版を使いたかったので今回は ftp://iraf.noao.edu/iraf/v215/PCIX/iraf.lnux.x86_64.gz (Linux 64-bit) をダウンロード.適当なディレクトリに展開する.

mkdir iraf
wget ftp://iraf.noao.edu/iraf/v215/PCIX/iraf.lnux.x86_64.gz
tar zxvf iraf.lnux.x86_64.gz

通常なら iraf ユーザをつくっておいて root になってから unix/hlib 以下にある install を実行する.今回は root 権限がないマシンに個人的にインストールしたかったのでこの方法は使えない.でも iraf の path と環境変数を自分で指定すれば iraf は起動できるらしい.僕は iraf を起動するために簡単なスクリプトを使っているので以下のようにその中に組み込んだ.

#!/bin/tcsh
### script for iraf launch ###

### iraf environmental variable ###
setenv iraf /path/to/iraf/
source ${iraf}unix/hlib/irafuser.csh


### check & run ds9 ###
if ( `ps -A | grep ds9 | awk '{print $1}'` == "" ) then
	ds9 &
endif

### set iraf home directory ###
setenv irafdir "/your/iraf/home/dir"

### environmental variable for xgterm ###
setenv XGOPT "-iconic -sb -title IRAF -bg black -fg green -e ${hlib}/ecl.csh"
setenv XGFONT '-*-lucidatypewriter-medium-r-*-*-12-*-*-*-*-*-*-*'

### run iraf(ecl) ###
pushd ${irafdir} > /dev/null
xgterm -fn "${XGFONT}" ${XGOPT} &
popd > /dev/null


重要なのは最初の setenvsource コマンド.ここで iraf の起動に必要な環境設定はほとんど終わる.あとは ${hlib}/ecl.csh を実行さえすれば iraf が起動する.なので以下のコマンドを .profile に書きこむだけでも使えないことはない.でも,デフォルトで環境変数がロードされるのは少し怖かったのでスクリプト内部で完結するようにした.

### .profile ###
setenv iraf /path/to/iraf/
source ${iraf}unix/hlib/irafuser.csh
alias ecl ${hlib}/ecl.csh


参考までにスクリプトの後半部分は ds9 を起動しつつ指定のディレクトリにいって iraf を起動させるというもの.やたらと mkiraf をして login.cl をばらまくのが好きではないのです.

なお, mkiraf${hlib}/mkiraf.csh という場所に存在している.なので iraf 用の環境変数を整えておけば使うことはできるはず.ただし,スクリプトの最初の部分で環境変数 irafimdir がデフォルト値のままなのでここを書き換えておく必要がある.

#! /bin/csh
# MKIRAF -- Setup the IRAF environment for a user.  Should be called from the
# directory from which the user will thereafter type "cl" to start a session.

# The following definitions are site dependent. [SITEDEP]

#set	iraf	= "/iraf/iraf"
set	iraf	= "/your/path/to/iraf"
#set	imdir	= "/iraf/imdirs"
set	imdir	= "/your/path/to/iraf/imdirs"
set	ttymsg  =\
"Terminal types: xgterm,xterm,gterm,vt640,vt100,etc."