Sponsored Link



CYGWIN
| home | diary | color chart | recommended | bbs |


cygwinのインストールメモです。
cygwinというのはWindows 上で動く UNIX のようなものです。
(かなり適当な説明ですが・・・。)
学校や会社でUNIX系のOSを使っていて家でも使いたい、けどインストールするのはめんどくさいって人にはいいかもしれません。
普通の人は使うことはないと思います。
+インストールと初期設定 [10/21] (11/05 補足)
+ちょっと日本語化(jless、vim) [10/21]
+OpenGL/GLUT [10/29]
+w3m のインストール [10/29]
+lftp のインストール [11/05]
+lv のインストール [11/05]
+rxvt のインストール [11/18]





インストールと初期設定
http://cygwin.com からsetup.exeをダウンロードして実行。あとはインストール先とかを適当に指定して実行するだけ。全部ダウンロードするとかなり時間がかかりますが、がんばりましょう。(55Mくらいです。)

無事インストールが完了するとデスクトップに cygwin のアイコンができているのでそれをダブルクリックすれば cygwin が起動します。

インストールしたら基本的な設定です。
windows側の環境変数として僕は以下のものを設定しました。

CYGWIN binmode nontsec tty
HOME /home/username
環境変数の設定はNT/2000なら システムのプロパティ- 詳細 - 環境変数 です。
95/98/Me の人はC:\autoexec.bat に set CYGWIN="binmode nontsec tty" という感じで記述してください。

cygwin側の設定はホームディレクトリに .bashrc を作成します。
僕の .bashrc はこんな感じ。
# Source global definitions
if [ -f /etc/bashrc ]; then
  . /etc/bashrc
fi 

export SHELL=/bin/bash
export HOME=/home/goh
export TMPDIR=/tmp
export TZ=JST-09
export MAKE_MODE=unix

PATH=/usr/local/bin:/usr/X11R6/bin:$PATH
PAGER=less
JLESSCHARSET=japanese-sjis
export PATH PAGER JLESSCHARSET

PS1="$HOSTNAME:\w$ "

if [ -n ${DISPLAY} ]; then
    export DISPLAY=localhost:0.0
fi

if [ ! -n "${TERM}" ]; then
    TERM=cygwin
fi

alias ls="ls -F --color=auto"
alias la="ls -aF"
alias ll="ls -l"
alias rm="rm -i"
alias cp="cp -i"
alias mv="mv -i"

[補足] (11/05)
普通の状態だと日本語ファイル名が文字化けします。が、これは簡単に解決できます。
ls のオプションに "--show-control-chars" をつければOKです。
ですのでこれを alias に入れちゃいました。
alias ls="ls -F --color=auto --show-control-chars"
↑TOP
ちょっと日本語化(jless、vim)
インストール直後は less や vim 等で日本語を表示しようとすると文字化けてしまいます。(vim 6.0は日本語表示できるはずなのですが、僕の環境ではダメでした。)
別に日本語が表示できなくても構わないのですが、文字化けは気持ちいいものではありません。
そこで less、vimで日本語がとおるようにしました。
と言っても僕はめんどくさがりなのでバイナリを探してきて入れただけです。

まずは less から。
[Cygwin を使う。] からless-358-iso254-cygwin132-1.tar.bz2 をダウンロードして、cygwinのルートディレクトリに解凍します。
このファイルを /tmp に移動して
$ cd /tmp
$ bunzip2 less-358-iso254-cygwin132-1.tar.bz2
$ cd /
$ tar xvf /tmp/less-358-iso254-cygwin132-1.tar
これでOKです。 /usr/local/bin にインストールされるのでこのディレクトリを PATH に追加しましょう。
上に書いた .bashrc ではすでに追加されています。
PATH=/usr/local/bin:/usr/X11R6/bin:$PATH
の部分です。
それから 環境変数 JLESSCHARSET を設定しましょう。
これも 上記の .bashrc には追加されています。
(上記の例では JLESSCHARSET に japanese-sjis を設定していますが、EUCもちゃんと表示されます。
何故でしょう?)
これで less での日本語表示ができました。


次は vim です。setup.exe でダウンロードできるバイナリはマルチバイト表示できるようにコンパイルされていないようで日本語表示できませんでした。

そこで日本語表示できるバイナリを探してみたら yzone home page さんにありました。これを上記の less と同じようにインストールします。
さらに iconv-1.6.1-dll.tar.bz2 をダウンロードします。 これは文字コード変換をしてくれるものでこれがないと SJIS のみしか表示できないようです。
ダウンロードしたら PATH のとおったディレクトリ(フォルダ)に置きます。 僕は /bin に置きました。(Windows から見ると E:\cygwin に cygwin をインストールしている場合、 E:\cygwin\bin です。)

最後に /usr/local/share/vim/vim60/vimrc_example2.vim を ホームディレクトリに .vimrc という名前でコピーします。(.vimrc は vim の設定ファイルです。 書き方を詳しく知らないのでとりあえずそのまま使いました。)

これで vim でちゃんと日本語が表示されました。
↑TOP
OpenGL/GLUT
Cygwin で OpenGL を使ったプログラミングをする方法です。
いろいろDLしなければいけないかと思ったのですが、最近のCygwinにはGLUTが入ってるらしいです。調べてみると opengl というパッケージがあって、その中に必要なものが入っていました。
あとはコンパイルの時のオプションをちゃんと指定するだけです。必要なのは、
-DWIN32 
-lglut32 -lglu32 -lopengl32
です。
あと、explorer など Windows からプログラムを実行する場合は glut32.dll を windows の SYSTEM フォルダに入れておく必要があります。
↑TOP
w3m のインストール
w3m はテキストブラウザです。 テキストブラウザというのはその名のとおり、テキストのみを表示するブラウザです。画像をダウンロードしないのでページの表示が速いのが利点です。

w3m のページからソースをダウンロードします。最新バージョンは0.2.1です。
ダウンロードしたら Cygwin 上で展開、コンパイル、インストールします。
$ tar xzvf w3m-0.2.1.tar.gz
$ cd w3m-0.2.1 $ ./configure $ make $ make install
./configure を実行したときにいろいろ聞かれますが適当に答えればいいと思います。 文字コードは SJIS にしなくてはいけないかと思いますが。
実行するときは
$ w3m [URL]
です。 URL を指定しないで実行するとメッセージが表示されて終了してしまいます。どうしてもURL 指定しないで実行したい場合はオプションとして -v を指定すればいいと思います。
↑TOP
lftp のインストール
今日は lftp をインストール。
Cygwin には最初から ncftp というFTPクライアントが入っていますが、lftp の方が好みなのです。linux でもそれを使っているので同じものの方が何かと混乱しなくて済むという理由もあります。
lftp のいい点は レジューム が出来る(途中からダウンロード出来る)、ミラーが出来る、バックグラウンドでダウンロードすることが出来る、などがあります。
最新バージョン 2.4.6 をダウンロードしてコンパイルしようとしたら、エラーが出ました。 どうやら time.h まわりでエラーが出てるようです。 本来ならこのエラーをなんとかすべきなのでしょうが、すぐに直るかわからないし、面倒くさいので今回は古いバージョン 2.4.4 を使いました。
2.4.4 だと何の問題もありません。
$ ./configure
$ make
$ make install
いやいや、簡単ですね。時間があれば 2.4.6 もなんとかしてみたいです。
(ちなみにこの HP は FFFTP を使ってアップロードしてたりします。)
↑TOP
lv のインストール
lv は less と同じようなページャです。Unicode対応であったり、デフォルトで日本語が表示出来たりします。日本語を表示できる less をインストールしたので必要ないと言えば必要ないのですが入れてみました。
まずはソースをLV Homepage からダウンロードします。普通にコンパイル出来ますが、デフォルトのアウトプットが ISO_2002_JP になっていてこのままだと Cygwin 上で文字化けしてしまいます。なので、これをSHIFT_JISにします。
src/conf.c の 47行目の
#define DEFAULT_OUTPUT_CODING_SYSTEM ISO_2002_JP
という所の ISO_2002_JP を SHIFT_JIS に直しました。ついでに(?) DEFAULT_KEYBOARD_CODING_SYSTEM , DEFAULT_PATHNAME_CODING_SYSTEM もSHIFT_JISにしました。 で、あとは
$ ../src/configure (READMEに書いてあるとおりです。)
$ make
$ make install
でOK。 のはずなのですが make install がうまくいきません。Makefileを書き直しても良いのですが手動でインストールしました。
$ /usr/bin/install lv /usr/local/bin/
$ /usr/bin/install ../lv.hlp /usr/local/lib/lv/
$ /usr/bin/install ../lv.1 /usr/local/man/man1/
$ cd /usr/local/bin/
$ ln lv.exe lgrep
これでOKです。
↑TOP
rxvt のインストール
日本語が通って、X のいらない rxvt をインストールしました。 Cygwin のコンソールは windows のコマンドプロンプト(MSDOSプロンプト)で動くのですが、それだと ls の表示が遅かったりするのでこちらを使う方が良いかと思います。 これもやっぱり人が作ったものを頂いて来ただけです。 (作者さん Thanks です)
ダウンロードしたのは、rxvt の ソース日本語化パッチ の2つです。
まず任意のディレクトリでソースを展開してパッチをあてます。(僕は /tmp/ で作業を行いました。)
$ cp rxvt-2.7.2-6.src.tar.gz /tmp
$cp rxvt-272-6j01-patch.gz /tmp
$ cd /tmp
$ tar xzvf rxvt-2.7.2-6.src.tar.gz
$ gunzip rxvt-272-6j01.patch.gz
$ cd rxvt-2.7.2
$ patch -p1 < ../rxvt-272-6j01.patch
あとは CYGWIN-PATCHES/rxvt-2.7.2j.README に書いてあるとおりにやりました。
$ ./configure --prefix=/usr --x-includes="../W11 -IW11" \
  --x-libraries="../W11/lib -mwindows ../W11/wrap/rxvt_res.o -Wl,--subsystem,console" \
  --with-xpm-includes=../W11 \
  --with-xpm-library=../W11/lib \
  --enable-menubar \
  --enable-xpm-background \
  --enable-languages \
  --with-encoding=sjis
をしてから、config.h 内の "#define USE_XIM 1" という行をコメントアウトします。 そして、make 。 ここで、エラーが出ました。 xpm.c の34行目の #include <xpm.h> でエラーが出ているようです。 とりあえずここを #include <X11/xpm.h> になおしたらコンパイルが通りました。 あとは、make install すればOKです。 Cygwin のコンソール上から実行するときは DISPLAY=:0 rxvt -fn msgothic-14 -fm msgothic-14 -km sjis とします。 ですがいちいち Cygwin上から実行するのも面倒なのでショートカットを作りました。
デスクトップ上(別にデスクトップでなくてもいいです)で右クリックして新規作成-ショートカット として 先ほどインストールした rxvt.exe を指定します。 これでとりあえず rxvtのショートカットができます。 次にこのショートカットを右クリックしてプロパティを出します。 プロパティのリンク先の部分を
E:\cygwin\bin\rxvt.exe -fn msgothic-14 -fm msgothic-14 -km sjis -e ./bash.exe --login -i
に変更します。これでこのショートカットから rxvt が呼び出せるようになりました。
ただ、この rxvt 上で vim を実行するとまともに表示されません。 残念です。

と思ったのですが、環境変数 TERM を cygwin にしてやれば大丈夫なようです。 rxvt に -tn cygwin というオプションを付けてやればOKです。
↑TOP

| home | diary | color chart | bbs |