TOP / 環境構築 / Cygwinの情報

Cygwinの情報

ここでは、Windows系のOSにUnixやLinuxのCUIインタフェースやコマンドを使えるようにしたCygwinについて説明します。

Cygwinのダウンロード先

CygwinでWindowsのドライブ(C:\など)にアクセスする

Cygwinは、WindowsでLinuxの環境を使うものなのでディレクトリアクセス方法がルートを起点にします。Windowsのドライブにアクセスするには以下のようにcygdriveでアクセスできます。


    cd /cygdrive/c
    

bashはCtrl+iで補完をしてくれるので、Windowsの長いディレクトリ名やファイル名も補完すれば比較的楽にアクセスできます。

WindowsXPでのCygwin日本語化

基本的にWindows2000と日本語化の設定は変わらないと思うのでシェルスクリプトを作成してみました。

Cygwinをインストール後、はじめて起動したときに.bash_profileなどを自動で作成してくれます。そのファイルに対して追加記述するスクリプトです。

使い方は簡単でCygwinをインストールしたディレクトリ内に/home/ユーザ名があるのでそこにファイルを保存して以下のように実行するだけです。


    sh setjpn.sh
    

以下のようにしても動作します。


    chmod 755 setjpsn.sh
    ./setjpn.sh
    

ユーザのディレクトリ内のファイルを修正するので特にroot権限などは必要ありません。

cygwinの入力と出力をShift_JIS(sjis)またはUTF-8にするsetjpn.shのソースコード

コピーして使ってください。とりあえずsjisの設定です。


#!/usr/bin/bash
# $Id$
#

# .inputrc
cat <<-HEREDOC >> .inputrc
set kanji-code sjis
set convert-meta off
set meta-flag on
set output-meta on
HEREDOC

# .bash_profile
cat <<-HEREDOC >> .bash_profile
export LANG=ja_JP.SJIS
export TZ=JST-9
export JLESSCHARSET=japanese-sjis
export LESSCHARSET=dos
alias ls='ls --show-control-chars --color -F'
HEREDOC

# .vimrc
#cat <<-HEREDOC >> .vimrc
#set enc=utf-8
#set fenc=utf-8
#set fencs=utf-8,iso-2022-jp,sjis,euc-jp
#syntax on
#HEREDOC
cat <<-HEREDOC >> .vimrc
set enc=sjis
set fenc=sjis
set fencs=sjis,utf-8,iso-2022-jp,euc-jp
syntax on
HEREDOC
    

こっちは、UTF-8にするスクリプトのソースコード

コピペして使ってください.


#!/usr/bin/bash
# $Id$
#

# .inputrc
cat <<-HEREDOC >> .inputrc
set kanji-code utf-8
set convert-meta off
set meta-flag on
set output-meta on
HEREDOC

# .bash_profile
cat <<-HEREDOC >> .bash_profile
export LANG=ja_JP.UTF-8
export TZ=JST-9
export JLESSCHARSET=japanese-utf-8
export LESSCHARSET=dos
alias ls='ls --show-control-chars --color -F'
HEREDOC

# .vimrc
cat <<-HEREDOC >> .vimrc
set enc=utf-8
set fenc=utf-8
set fencs=utf-8,iso-2022-jp,sjis,euc-jp
syntax on
HEREDOC
    

Windows2000でのCygwin日本語化

インストール終了後は、日本語に対応していません。そのため日本語入力、表示のためいくつか設定を行う必要があります。

インプットメソッドの日本語入力を可能にするには、.inputrcファイルを新規に作成して以下の設定を記述します。これによりbashのREADLINEを8bit対応にします。


    set kanji-code sjis
    set convert-meta off
    set meta-flag on
    set output-meta on
    

日本語表示を可能にするため、.bash_profileに以下の設定を追加します。


    export LANG=ja_JP.SJIS
    export TZ=JST-9
    export JLESSCHARSET=japanese-sjis
    export LESSCHARSET=dos
    alias ls='ls --show-control-chars --color -F'
    
 

viの日本語対応

viも日本語の設定になっていないので、以下の設定を.vimrcに新規作成して追加します。


    set encoding=sjis
    

viの空白、タブ設定

.vimrcにts,sw変数を追加するとタブストップの設定やスペース幅の設定を行えます。またsyntax変数の設定をonにする事で、ソースコードをハイライト表示する事が可能です


    set ts=4
    set sw=4
    syntax on
    

何故今もviを使っているか

初めて使ったIBM製のUnixであるAIXには、vi以外のエディタがなかったというのが最大の要因です。その後も運用のためのシェルスクリプトをUnix上で作成したり、C言語の実装をしたりしましたが、本番用のサーバにemacsを入れられなかったのが、viを勉強してみようというきっかけになりました。

また私はキーボードが日本語の配列ではなくアスキー配列です。つまり英語の配列なのです。viを開発したビルジョイが英語圏の人なので非常にアスキー配列に合います。これも開発環境が英語OSだったので日本語の概念がそもそも存在しなかったのです。

LinuxでもMac OSXでもCygwinでも初期のシェルインタフェースがbashになっています。ログイン後にset -o viと入力すると、bashもviモードで実行する事が出来ます。またCtrl+[はESCキーと同じ信号を送ります。[キーの位置が、日本語の配列ではかなりEnterキーよりなので打ちづらいですが、アスキー配列だとしっくりきます。

またCtrlキーの押し方がかなり驚異的です。ノートパソコンなどは、Ctrlキーが左隅ではなく、小指をAキーから真下付近に配置されています。これを小指の第一間接で押すのです。通常のキーボードの場合は、小指の付け根、つまり手のひらでCtrlキーを押します。ここまでくるとviの異様なインターフェスも使い勝手が良いものです。

はじめてつかったころは、なんじゃこりゃっておもってたんですけどね。


    set -o vi
    

仮想ソフトウェア

VMWare PlayerにDebian Sargeをインストールしてみたので仮想ソフトウェアについてちょっと 書いてみます。

最近XenやVMWareなど仮想ソフトウェアが雑誌で紹介されて少しずつ利便性が理解されつつあり ます。特に一般家庭の最近のハードウェアはリソースがあまっている傾向があるので高いスペックの マシンに仮想ソフトウェアを利用し、Linuxや他のOSをインストールして学習できる環境を構築でき るのは非常に便利だと感じます。

やはりOSがまるごと手に入ってパフォーマンスも問題なければ、Cygwinの利便性も失われてしまうと感じます。 VMWareをインストールして感じたのは導入のしやすさです。GUIのインストーラが付属しているのですぐに導入できます。VMWare PlayerとQemuを利用してLinuxなどをインストールする事が比較的容易です。Microsoftが次期OSを出すころには、仮想ソフトウェアも無償提供されていくことを考えると、いろいろ応用できて面白そうです。

データベースを複数間接続してのスケーラビティを試したり、分散コンパイラや分散型バージョン管理など、運用に進んでいくためにちょっとテストしてみたいという環境を物理制約を減らして試せるのは非常に良い。

更新履歴

  • 2007年7月06日 - setjpn.shにUTF-8のスクリプトを記述.
  • 2006年7月13日 - /cygdrive/cについて追加.
  • 2006年7月12日 - WindowsXPの日本語化について追加
  • 2006年4月16日 - 仮想ソフトウェアの記事を追加
  • 2006年3月26日 - Cygwinの情報をXHTML化。ダウンロード先を追加
  • 2004年10月7日 - Cygwinの情報を作成


イバラキングへのリンク Get Firefox Valid XHTML 1.1 Apple Darwinへのリンク