Cygwin

アプリケーションの説明

Windows で動作する, Unix 環境 (のクローン) を提供するソフトウェアです.

関連サイト

インストールの前に

UNIX の知識が無ければ, Cygwin をインストールをインストールしたところで 使いこなせないでしょう. それでも TeX を使いたいというのなら, 角籐 亮さんの ところから, ローカライズされた TeX を落として使う方がいいです.

インストール方法

  1. Cygwin Information and Installation の トップページから setup.exe をダウンロードする.
  2. setup.exe を実行.

インストール後の設定

MS-DOS プロンプトの設定

このままでは, cygwin.bat を実行すると出てくる DOS 窓に, クリップボードのテキストを貼り付けることができません. そこで, Cygwin のショートカットを右クリックし, プロパティを選択します.

その他のタブをクリックし, 高速に貼り付けのチェックを外します.

環境変数の設定

Cygwin のショートカットを選択して, Cygwin を起動します. 恐らく, bash が起動して, コマンド入力待ち状態になったことでしょう. そうしたら, mkdir コマンドを使って, /usr/local/src ディレクトリを作っておいて, これからインストールするプログラムのソースをそこに保存するようにします. また, /usr/bin/bash.exe を /usr/bin/sh.exe に上書きコピーします (心配な人は, パスが通っていないフォルダにバックアップを取っておきましょう).

次に, 以下の環境変数を Windows の方で設定します. MAKE_MODE, HOME, SHELL は, cygwin.bat に書いてもいいかもしれません. 環境変数の領域が足りない場合は各自工夫してみましょう. LISPDIR は無くても問題ありません.

Cygwin 環境変数
変数値
HOMEd:\\arq (注 1)
MAKE_MODEUNIX
CYGWINbinmode nontsec notty
SHELL/bin/bash
LISPDIRf:/MEADOW/site-lisp/

また, Cygwin の環境内で, 次の環境変数を指定します. .bashrc にでも書いておきましょう.

Cygwin 環境変数
変数値
LANGja_JP.SJIS
MANPATH/usr/local/man:/usr/man
PATH/usr/local/bin:/usr/X11R6/bin:/usr/bin:/bin:$HOME/cmd
ファイルの設定

Meadow 1.15 の設定で説明しましたが, ここで環境変数のファイルを設定します. Cygwin 上では, シェルは zsh を主に使っていますが, bash の方が軽いので, 両方の環境設定ファイルを設定します. ここで設定するファイルは, 次のものになります.

/etc/passwd, /etc/group

恐らく Windows NT 系 (NT / 2000 / XP) では 特に設定する必要は無いと思います. 編集する前に, 必ずバックアップを取っておきます. まずは, /etc/passwd から.

bin:*:1:1:bin:/bin:
admin:Password:500:544:Administrator:/home/admin:/bin/bash
arq:Password:501:10000:Real Name:/cygdrive/d/arq:/bin/zsh
User2:Password:502:10000:Real Name:Home Directory:shell
...

このファイルは, ユーザー名, パスワード, ユーザー ID, グループ ID, 本名, ホームディレクトリ, ログインシェル をこの順番に, : (コロン) で区切って書いています. Cygwin には, useradd も chfn も chsh も存在しないので (でも, chown や chgrp は存在する. NT 系では有効なのだろうか?), 全て手書きで書いていきます.

改行コードが LF である必要があるので, Windows 付属のメモ帳は使ってはいけません (XP 付属のものは OK?). vi や Emacsen (meadow 等) を使えるならそれで, そうでなければ秀丸エディタなどの LF 改行コードを扱えるテキストエディタで編集します. このファイルは間違っても非 ASCII 文字を使っていけません.

どの行から書いても問題ありませんが, bin と admin の行は, 先に書いたほうが混乱が無いでしょう.

Password の部分は, crypt を使って暗号化されたものを使います. 使い方は, Cygwin で, crypt password と入力すると英数字の文字列が出てくるので, それをコピーします.

Real Name は空欄にしても問題ありませんし, 空白文字 (半角スペースやタブ文字) が入ってもかまいません. Home Directory は, ログイン時にホームディレクトリになるディレクトリを指定します. こちらは空白文字を入れてはいけません.

shell はログインシェルを指定します. /etc/shells に使用できるシェルのリストがあるので, その中から 1 つを選んで利用します. ただし, admin に関しては, 安定して動作をしている /bin/bash にするべきでしょう.

あとは, ユーザーが追加されるごとに, 1 行ずつ追加していきます. ユーザー ID は絶対に他のユーザーと同じ物を使ってはいけません. グループ ID に関しては, bin は必ず 1, admin は 1 以外, 他のユーザーは何でもいいですが, 1 と admin のグループ ID 以外の数字で統一しておけば問題ないでしょう. また, 決して空行 (何も書いていない行) を書いてはいけません. ファイルの末尾は改行で終わらないようにします.

/etc/group に関しては, 上の例の通りに書いたなら, 次に書く例の通りに写せば問題ないでしょう. これも, 末尾に改行を入れないでください

bin::1:root,bin,daemon,admin
all::544:
users::10000:

ここまで出来たら, いったん, Cygwin を再起動して, login コマンドを試してみます. ユーザー名とパスワードを聞かれるので, 指示通りに打ちます (パスワードを打つときは, 画面に入力した文字は表示されませんが, きちんと受け付けられています. Back Space キーや, Ctrl-h もきちんと受け付けてもらえるので, 落ち着いて入力しましょう. 成功したら, /etc/passwd に書いてあるシェルを ログインシェルとして, 使えるようになります.).

入力関連 (.inputrc)

cygwin では, 次のような内容のファイルを $HOME/.inputrc に書いておきます.

set kanji-code sjis 
set convert-meta off 
set meta-flag on 
set output-meta on 
set input-meta on
シェル関連

長くなるので別の文書にしました. bash 関連 の説明と, zsh 関連 の説明をご覧ください.

Emacs 関連

こちらも長くなるので別の文書にしました. Emacs 関連 の説明をご覧ください.

その他アプリケーションの設定ファイル

こちらも独立した文書にしました. アプリケーションの設定ファイル の説明をご覧ください.

Windows アプリケーションとの連携

次に /usr/local/bin ディレクトリに移り, ln コマンドを使って, meadow.exe と fiber.exe (注 3) のショートカットを作ります. 具体的には, 次のようにコマンドを打ちます.

cd /usr/local/src
ln -s f:/MEADOW/1.15/bin/meadow.exe emacs
ln -s f:/MEADOW/1.15/bin/fiber.exe fiber