Cygwinを日本語化するためのプチTips
同僚から『Cygtermは便利だけど日本語ファイル名が文字化けしてしまう・・・』と相談されたので、ちょっと調べてみました。
どうもCygwinは一部日本語のメッセージカタログが提供されているのですが、この時の文字コードはEUCしかないので、SJISをメインで利用したいならメッセージカタログをSJISへ以下のように変換すると良いそうです。
(1) SJIS日本語メッセージカタログを作成する
$ tar zxvf mo-euc2sjis.tgz
- 展開されたディレクトリへ移動し、変換シェルを実行する(これだけ!)
$ cd mo-euc2sjis $ ./sjismo.sh
LANG=ja_JP.SJIS; export LANG
setenv LANG ja_JP.SJIS
- わざと引数なしで『awk』を実行してみるとエラーが日本語で表示される
使い方: awk [POSIX または GNU 形式オプション] -f プログラムファイル [--] 入力ファイル … 使い方: awk [POSIX または GNU 形式オプション] [--] 'プログラム' 入力ファイル … POSIX オプション: GNU 長形式オプション -f プログラムファイル --file=プログラムファイル -F フィールドセパレータ --field-separator=フィールドセパレータ -v 変数=代入値 --assign=変数=代入値 -m[fr] 数値 -W compat --compat -W copyleft --copyleft -W copyright --copyright -W dump-variables[=ファイル] --dump-variables[=ファイル] -W exec=ファイル --exec=ファイル -W gen-po --gen-po -W help --help -W lint[=fatal] --lint[=fatal] -W lint-old --lint-old -W non-decimal-data --non-decimal-data -W profile[=ファイル] --profile[=ファイル] -W posix --posix -W re-interval --re-interval -W source=プログラム文 --source=プログラム文 -W traditional --traditional -W usage --usage -W version --version バグを報告するには、`gawk.info(英文)' の `Bugs' ノードを 参照してください。 印刷されたマニュアルで対応するセクション は、`Reporting Problems and Bugs' です。 gawk は、パターンを検索、そして処理する言語です。 デフォルト設定では、標準入力を読み込み、標準出力に書き出します。 使用例: gawk '{ sum += $1 }; END { print sum }' 入力ファイル gawk -F: '{ print $1 }' /etc/passwd
(2) bashで日本語のファイル名をls表示可能にする(元ネタはこちら)
- 以下のオプションでlsコマンドを実行するだけ
ls --show-control-chars
(3) bashのコマンドラインから日本語を入力可能にする(元ネタはこちら)
- ホームディレクトリの.inputrcファイルに以下の定義を追加する
set meta-flag on set convert-meta off set input-meta on set output-meta on
何気なく調査し始めたCygwinの日本語化手順ですが、tcsh、bashなどのコマンドラインから日本語を入力する際に、画面上はマルチバイトとして表示されていますが、入力文字としてはマルチバイトコードとしては認識していないので、まだまだ改善する余地が残っています。
う〜ん、Cygwin・・・、奥が深過ぎ〜。(^-^;