KTerm

  1. 日本語マニュアル
  2. Home・End キーの有効化

KTerm の日本語マニュアル

X window での標準の日本語ターミナルエミュレータ、kterm のソースコー ドセット一式の中には、kterm.jmanというファイルが含まれて います。これは、実は kterm の日本語版のオンラインマニュアルページです。

この日本語版マニュアルは、通常のインストール手順ではシステム標準の マニュアルファイル置場には入らない(※注)のです が、せっかくあるのですから是非入れておきましょう(もちろん、日本語マニュ アルをサポートするシステムでないと意味がないのですが…)。

例えば、FreeBSD や HP-UX、Solaris 2.X 以降などでは日本語マニュアル がサポートされているようです。大抵は、/usr/X11R6/manjaというサブディレクトリを作り、その中に英語版同様 man1〜man9のようにセクション単位で分かれたディレクトリを 作って日本語版マニュアルを収めるようになっているはずです。

ですから、このman1kterm.1という日本語マ ニュアルページを置いておけば、しかるべき日本語対応 man コマンドがあり さえすれば man kterm で日本語マニュアルが読める、という寸法 です。

注意してほしいのが、オリジナルの kterm.jman の日本 語は JIS コードで書かれている、ということです。ですから、大抵のシ ステムでは、単に kterm.jmankterm.1 とい う名前でコピーするだけでは不十分です(JIS コード中に含まれる、ASCII コードと共通のコード部分が、nroff の特殊文字と解釈されて誤動作してしま う)。

ですから、あらかじめ、お使いの日本語システムの標準の日本語コードに 合わせて、kterm.jman を EUC コードか SJIS コードに変換し たものを kterm.1 にしましょう(日本語コードの変換には ack などのツールを用います)。

余談ですが、FreeBSD や HP-UX などの man コマンドは圧縮さ れたオンラインマニュアルページに対応していますから、 kterm.1gzipcompress で圧縮 しておくことをお勧めします(FreeBSD は gzip、compress いずれにも対応し、 HP-UX は compress のみに対応…だったはず)。

※注: FreeBSD の package や ports でも入らないようです。FreeBSD の日本語対応 man コマンドはシステ ム標準じゃなくて、package や ports として入れるものなので、それがない と役に立たない日本語マニュアルは最初からインストールしない方針なのでしょ う。[2008, 11/18] →いつの間にか、最近の FreeBSD の ports では入るようになっているようです。今まで大方手でコン パイルしてたから知らなかった…。

kterm で Home・End キーを使おう

kterm 内で emacs -nw として -nw オプション をつけて emacs を起動しても、termcap の設定さえ正しければ、 ちゃんとファンクションキーは解釈され、F1F2Page UpPage Down のような特殊キーが emacs に認識されます。

ところが、なぜか Home キーや End キーは例外で、 emacs には非常に不完全な key sequence しか渡されません。 以前から不思議に思っていたのですが、先日何気なく xterm を 起動してみて、xterm 内なら emacs にちゃんと HomeEnd キーが伝わるし、また、 less に対しても同じく HomeEnd キー が伝わる(文字列入力時)ことに気づきました。

「ということは、これは kterm がベースとしている xterm が少し古くて、最近の XFree86 付属の xterm ではそこが改良されているに違いない」と判断して、 kterm 6.2.0 と最近の xterm のソースコードを 比べてみました。試行錯誤の結果、どうやら kterm に正しく HomeEnd キーの escape sequence を発生させるこ とができているようですので、パッチを公開します。

kterm 6.2.0 に HomeEnd キーの escape sequence を発生させるパッチ

なお、このパッチに加えて、termcap の kterm の設定に 以下の項目を付け加えないと、emacsless に 解釈されませんのでご注意。


kh=\EOH:@7=\EOF

また、もと もとの kterm の termcap には不備があることも知られて いますので、この際ついでにそれも直した方がよいでしょう。

※ FreeBSD の場合、/usr/share/misc/termcap を直し ただけでは不十分で、/usr/share/misc で cap_mkdb termcap を 実行して termcap.db を更新する必要がある。

………ただ、わざわざソースに手を加えて再コンパイルしなくても、X window の Resource の設定で


kterm*VT100.Translations: #override <Key>Home: string("\033OH")\n\
				<Key>End: string("\033OF")

のようにする手もあるみたいですね。


コンピュータ関連のページ目次へ
トップページへ
井汲 景太 <ikumikeita@home.jcom.ne.jp.NOSPAM.>(迷惑メールお断り)
最終更新日: 2002年9月 9日