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 動作が割り振られているのでめでたく変換モードに入ります。
(これを実現するまでにどれだけ苦労したことか...)
メインメニュー へ戻る