Cygwin + PuTTY + zsh + screen + emacs での日本語環境設定

この記事の目的は

  • cygwin を putty 経由で使う
  • シェル(zsh)、emacs、screen で日本語の表示、入力ができる

ということをすること。以下簡単に箇条書き。

  1. Cygwin をインストール
    • emacs, zsh, screen を install にする
  2. PuTTY ごった煮版をインストール
  3. Tera Term のインストーラーから cygterm をインストール
  4. putty で、cygterm 用の設定(セッション)を作成

    PuTTYを起動し、localhost:23にtelnet接続するセッションを1つ作成する。
    端末->行規則オプション->ローカルエコー を”強制的にオフ”
    端末->行規則オプション->ローカルラインの編集 を”強制的にオフ”
    端末->キーボード->バックスペースキー を”Control-H”に
    ウインドウ->変換 で文字コードを”MS_Kanji/Auto-Detect Japanese”に

    PuTTYを使ってCygwinに接続する – ばーぶろぐ /var/blog

    セッションの名前は「cygterm」にしておく。この名前は、次の cygterm.cfg の編集時に使う。

  5. 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 用セッション名

  6. Windows の環境変数 Path に、”C:\cygwin\bin” を追加

    マイコンピュータ → 右クリック → プロパティ → 詳細設定タブ → 環境変数 → システム環境変数 Path を編集

  7. cygtem.exe を実行
    「cygwin1.dllが見つかりません」 ってエラーがでたら、先程の環境変数 Path に、”C:\cygwin\bin” があるか確認。もしくは cygwin インストールしたフォルダが、”C:\cygwin” じゃない?
    また、別の問題だが、関連して、Windows Vista/7 では zsh が起動時にエラーを吐く。対処方法は、PuTTYを使ってCygwinに接続する – ばーぶろぐ /var/blog を参考にさせていただいた。
  8. 自宅サーバから、.zshrc, .screenrc, .emacs をダウンロード
  9. .zshrc を編集
    下記のように LANG の値を変更、なければ追加

    export LANG=ja_JP.SJIS
  10. .screenrc を編集
    下記のように defencoding の値を変更、もしくは追加

    defencoding SJIS
  11. .emacs を編集
    下記の三つの値を設定、もしくは値を変更

    (set-language-environment "Japanese")
    (set-terminal-coding-system 'sjis)
    (set-keyboard-coding-system 'sjis)

おわり。日本語表示入力に関してはこれで問題ない。

参考にさせていただいたページ

コメントをどうぞ

Spam Protection by WP-SpamFree