1996年 7月14日
TeraTermPro からLinux 上のMule を使用
- TeraTerm Pro について
TeraTermPro は寺西 高さんが作成されたWindows95, WindowsNT
用のターミナルエミュレータです。
モデムを介した通信やTCP/IP のtelnet サービスをほとんど完璧なVT100
エミュレートで操作可能、すばらしいフリーソフトです。
私は普段WinNT マシンを使っていて、別のマシンで動作中のLinux
を利用する場合はNT からtelnet でリモートログインします。
Linux ではMule を利用するのでNT のtelnetではなくTeraTermPro
を使用しています。
TeraTermPro は
ftp://riksun.riken.go.jp/pub/pc/misc/terminal/teraterm/ 
から入手できます。
(URL はTeraTermPro のreadmej.txt から引用)
 - リモートLinux 上のMULEのためのTeraTermPro 環境設定
私がMULE を利用するうえで、次のような要件があります。
  - Delete キーでカーソル位置の文字を削除する
   - Home キーでテキスト画面分割時に他のテキスト画面へフォーカスを移す
    (使い慣れたMIFES と同じキーバインド)
   - Shift+Space でWnn + Egg による日本語変換モードへ入る
 
しかし、私の.emacs ではTeraTermPro
越しにこれらのキー操作を行なっても希望する動作は得られませんでした。
試行錯誤の末たどりついた解決方法は...
  - Delete キーとHome キー動作のカスタマイズ
    これは簡単で、.emacs に次のような設定を行ないます。
(defvar sun-fkeymap (make-keymap))
(fset 'sun-fprefix sun-fkeymap)
(define-key global-map "\e[" 'sun-fprefix)
(define-key sun-fkeymap "3~"  'delete-char)         ;TeratermPro DEL key
(define-key sun-fkeymap "4~"  'other-window)        ;TeratermPro HOME key
   - Shift+Space キー動作のカスタマイズ
    もっといい方法が必ずあるのだと思いますが、
現在私が達成できているのは次の組合せです。
    
      - .emacs の設定>
(if (boundp 'MULE) (global-set-key [f7]  "\C-\\"))
       - TeraTermPro 側の設定
        TeraTermPro に附属するibmkeyb.cnf をkeyboard.cnf
という名前でコピー
        このkeyboard.cnf の最後に次の行を加える
User1=569,0,$1b[18~
        ここで569 というのはTeraTermPro から見た場合のShift+Space
押下で$1b[18~ はMule に対してF7 キーが押された場合と同等のコードになります。
        この設定を行ないTeraTermPro からLinux のMule に対してShift+Space
        を押すと、"^[[18~" という特殊なシーケンスのコードが送信され、Mule
        はF7 キーが押されたように認識します。
        .emacs でF7 キーは"Ctrl-\"とバインドしていて、これはデフォルトの
begin-conversion 動作が割り振られているのでめでたく変換モードに入ります。
       (これを実現するまでにどれだけ苦労したことか...)
     
 
 
メインメニュー へ戻る