Cygwinのページ (最終更新日は '07.5.19です。)


[Cygwinとは]

Cygwinは、Windows(WindowsCEは除く)上で、POSIX互換のAPIを提供して、UNIXの各種ソフトを動かすための環境です。
UNIXの一般的なコマンドや、gcc,X Window SystemなどがWindows上で動作します。

[Cygwinを導入する]

(1)setup.exeをCygwinのHPよりダウンロードする。
(2)setup.exeを実行する。
(3)setup.exeでのインストールの手順は、早田さんのHPを参照してください。
なお、X Window Systemを導入する場合は、ダウンロードするパッケージの選択で明示的に選択する必要があります。
(フリーズしたように非常に反応が遅いですが待ってください。)

[Cygwinの設定]

(1)Cygwinのアイコンをダブルクリックして起動する。
(2)homeディレクトリが作成されていないときは、ユーザ名のディレクトリを作成する。
下記は例です。なお、XXXXXXXをユーザ名に置き換えてください。

cd /
cd home
mkdir XXXXXXX


(3).bash_profileが作成されていないときは、homeディレクトリに作成する。
下記は、例です。

# ~/.bash_profile: executed by bash for login shells.

if [ -e /etc/bash.bashrc ] ; then
  source /etc/bash.bashrc
fi

if [ -e ~/.bashrc ] ; then
  source ~/.bashrc
fi

(2).bashrcをhomeディレクトリに作成する。
下記は例です。なお、XXXXXXXをユーザ名に置き換えてください。

# Source global definitions
if [ -f /etc/bashrc ]; then
       . /etc/bashrc
fi

export SHELL=/bin/bash
export HOME=/home/XXXXXXX
export TMPDIR=/tmp
export TZ=JST-09
export MAKE_MODE=unix
#export LANG=ja_JP.SJIS

PATH=/usr/local/sbin:/usr/sbin:/sbin:.:~/bin
PATH=/usr/local/bin:/usr/X11R6/bin:/usr/bin:/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 --show-control-chars'

#if [ `tty` == '/dev/conin' ]; then
#  startx
#fi

[CygwinでX Window Systemを動かす]

(1).xinitrcをhomeディレクトリに作成する。
下記は例です。
・xloadは無かったのでコメントにしてあります。
・xconsoleは、エラーになるのでコメントにしてあります。

#!/bin/sh
# $Xorg: xinitrc.cpp,v 1.3 2000/08/17 19:54:30 cpqbld Exp $

userresources="$HOME"/.Xresources
usermodmap="$HOME"/.Xmodmap
sysresources=/usr/X11R6/lib/X11/xinit/.Xresources
sysmodmap=/usr/X11R6/lib/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f "$sysresources" ]; then
    xrdb -merge "$sysresources"
fi

#if [ -d /usr/X11R6/lib/X11/fonts/TT ]; then
#    xset fp+ /usr/X11R6/lib/X11/fonts/TT
#fi

if [ -f "$sysmodmap" ]; then
    xmodmap "$sysmodmap"
fi

if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi

if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# start some nice programs
#xset fp+ /usr/X11R6/lib/X11/fonts/MS/

#xclock -geometry 50x50-1+1 &
#xterm -geometry 80x50+494+51 &
#xterm -geometry 80x20+494-0 &

xsetroot  -solid  gray  &
xbiff  -geometry  -430+5  &
oclock  -geometry  75x75-0-0  &
#xload  -geometry  -80-0  &
xterm  -geometry  +0+60  -ls  &
xterm  -geometry  +0-100  &
#xconsole  -geometry  -0+0  -fn  5x7  &

exec xterm -e /usr/bin/bash -l

(2)必要ならば、起動時のエラーのログを取る為にstartxを書き換える。
xinitの行に赤字の箇所を追加する。

xinit $client $clientargs -- $server $display $serverargs 2> $HOME/.xinitrc-errors

(3)Cygwin起動時にX Window Systemを自動的に起動させたい場合は、[cygwinの設定](2)の.bashrcの緑色の箇所のコメントを外してください。

(4)X Window System起動時の設定はデフォルトで、-multiwindowが指定されていて、ウィンドウマネージャを実行できません。
  指定を外す場合は、.xserverrcを作成し、-multiwindowを指定しないようにしてください。下記は、例です。

#!/bin/sh 
exec X -clipboard

また、.xinitrcをウィンドウマネージャの終了でX Window Systemが終了するように、いちばん最後にウィンドウマネージャをexecで実行するようにします。
・ウィンドウマネージャは、好みに合わせてコメント箇所を変えてください。(下記の赤字の箇所)
なお、twmのようにメニューで終了できない場合は、exec xtermの行のように、ターミナルを最後に指定してください。ターミナルでexitすることで終了します。

 twm   X Window System標準のウィンドウマネージャ
 fvwm2  fvwmウィンドウマネージャ
 mwm   Motifのウィンドウマネージャ
 openbox Openboxウィンドウマネージャ
 wmaker Window Makerウィンドウマネージャ(少し重いです。)

#twm &
#exec xterm -e /usr/bin/bash -l
exec wmaker

[Cygwinで日本語]

(1)ls
.bashrcに下記を追加する。
'03/4/27 export LANGの行を追加しました。)

export LANG=ja_JP.SJIS
alias ls='ls --show-control-chars'

(2)日本語入力
.inputrcに下記を追加する。('07.5.18 設定を修正しました。)

set convert-meta off
set input-meta on
set meta-flag on
set output-meta on

(3)vi
.vimrcに下記を追加する。なおsjisの他に類似の指定でjapan,shift-jis,cp932,euc-jpがある。(www.vim.orgを参照してください。)

set encoding=sjis

(4)X Window System
(i)日本語のキーボード用の.Xmodmapをhomeディレクトリに作成する。
早田さんのHPにあるもの(これ)を保存して、名前を.Xmodmapに変えると便利です。
(ii)フォントの設定を行う。
 ・Windowsのフォントにリンクを張る。

cd /usr/X11R6/lib/fonts
mkdir MS
cd MS
ln -s `cygpath -u $WINDIR`/Fonts/{ms*.ttc,arial*.ttf,times*.ttf} .

 ・/usr/X11R6/lib/fonts/MSにfonts.dirを作成する。
 (中丸さんのHPのここにあるstartup.tgzから入手しました。)

 ・.xinitrcにフォントのパスを追加する。

xset fp+ /usr/X11R6/lib/X11/fonts/MS/

(iii)Window Makerのメニューの変更
~/GNUstep/Defaults/WMRootMenuのRxvtの項目に-km sjisを追加する。

("Rxvt", EXEC, "rxvt -km sjis -bg black -fg white"),

[Cygwinでいろいろ]

(1)suでrootにできない。
 Cygwinをインストールしたときに/etc/passwdにはadminとWindowsのユーザ名のアカウントしか作られないようです。
 /etc/passwdにrootを追加してください。

(2)Windows 9x/Meでのアカウントのパスワードの設定方法
 「crypt パスワードの文字列」を実行して表示される文字列を/etc/passwdのpasswdエントリ(下記の赤字の箇所)に書き込む。

XXXXXXX:use_crypt:544:XXXXXXX:/home/XXXXXXX:/bin/bash

(3)telnetなど
(i)Windowsの環境変数「PATH」にc:\Cygwin\bin(c:\Cygwinにインストールした場合)へのパスを追加する。
・Windows 9x/Meでは、「ファイル名を指定して実行」で「msconfig.exe」を実行して環境タブでPATHの値に「;」で区切って追加する。
・Windows NT 4/2000/Xpでは、「コントロールパネル」から「システム」「詳細」「環境変数」でPATHの値に「;」で区切って追加する。
(ii)inetd.exeを起動する。
・Windows 9x/Meでは、c:\Cygwin\usr\sbin\inetd.exe(c:\Cygwinにインストールした場合)をエクスプローラでダブルクリックして実行する。
・Windows NT 4/2000/Xpでは、サービスとして登録し、起動する。(ここを参照)
(iii) telnet localhostと入力してloginできるか試してみる。

(4)スペシャルファイルなど
どうも/dev/consoleは、/dev/coninまたは/dev/conoutになっているようです。

[Cygwinリソース]


戻る