Cygwin + PuTTY + zsh + screen + emacs での日本語環境設定
投稿日:
この記事の目的は
- cygwin を putty 経由で使う
- シェル(zsh)、emacs、screen で日本語の表示、入力ができる
ということをすること。以下簡単に箇条書き。
- Cygwin をインストール
- emacs, zsh, screen を install にする
- PuTTY ごった煮版をインストール
- Tera Term のインストーラーから cygterm をインストール
- putty で、cygterm 用の設定(セッション)を作成
PuTTYを起動し、localhost:23にtelnet接続するセッションを1つ作成する。 端末->行規則オプション->ローカルエコー を"強制的にオフ” 端末->行規則オプション->ローカルラインの編集 を"強制的にオフ" 端末->キーボード->バックスペースキー を"Control-H"に ウインドウ->変換 で文字コードを"MS_Kanji/Auto-Detect Japanese"に PuTTYを使ってCygwinに接続する - ばーぶろぐ /var/blog
セッションの名前は「cygterm」にしておく。この名前は、次の cygterm.cfg の編集時に使う。 - cygterm の設定をする
おそらく "C:\Program Files\teraterm" に cygterm.cfg というテキストファイルがあるので、適当なエディタで開く
TERM = "C:\Program Files\PuTTY\putty.exe" -load "cygterm" -telnet %s -P %d TERM_TYPE = xterm PORT_START = 20000 PORT_RANGE = 40 SHELL = /bin/zsh --login -i ENV_1 = SHELL=/bin/zsh
"TERM = ..." の行の cygterm は、前で設定した PuTTY の Cygwin 用セッション名 - Windows の環境変数 Path に、"C:\cygwin\bin" を追加 マイコンピュータ → 右クリック → プロパティ → 詳細設定タブ → 環境変数 → システム環境変数 Path を編集
- cygtem.exe を実行 「cygwin1.dllが見つかりません」 ってエラーがでたら、先程の環境変数 Path に、"C:\cygwin\bin" があるか確認。もしくは cygwin インストールしたフォルダが、"C:\cygwin" じゃない? また、別の問題だが、関連して、Windows Vista/7 では zsh が起動時にエラーを吐く。対処方法は、PuTTYを使ってCygwinに接続する - ばーぶろぐ /var/blog を参考にさせていただいた。
- 自宅サーバから、.zshrc, .screenrc, .emacs をダウンロード
- .zshrc を編集
下記のように LANG の値を変更、なければ追加
export LANG=ja_JP.SJIS
- .screenrc を編集
下記のように defencoding の値を変更、もしくは追加
defencoding SJIS
- .emacs を編集
下記の三つの値を設定、もしくは値を変更
(set-language-environment "Japanese") (set-terminal-coding-system 'sjis) (set-keyboard-coding-system 'sjis)
おわり。日本語表示入力に関してはこれで問題ない。