電卓片手に

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

投稿日:

この記事の目的は

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

  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)

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

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