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の情報を作成
