UNIX/Linuxの部屋 ktermコマンドの使い方

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




コマンド kterm ターミナルエミュレータ。xterm の日本語対応版 このエントリーをはてなブックマークに追加

普通はこの上でシェル (tcsh や bash など) を実行し、いろいろなコマンドを実行する。要は、kterm は画面上に文字列を表示するためのプログラムである。これを端末エミュレータと言う。

Ctrl キーを押しながら、マウスの各ボタンを押すことでメニューが出てくる。知らないと困るのが、「Ctrl+マウスの真ん中ボタン」で表示される「VT Options」の中の「Do Full Reset」。バイナリファイルを表示すると (例えば誤って cat /bin/ls を実行した場合)、画面が化けたままになってしまうことがある。こういうときに「Do Full Reset」を行うことで、回復することができる。

-T str ウィンドウのタイトルを指定する。省略すると「kterm」となる。
-fn fontname フォント名
-fb fontname 太字 (bold) のフォント名
-fk fontname 漢字フォント名
-fkb fontname 太字 (bold) の漢字フォント名
-fr fontname JIS X 0201 のフォント。
JIS X 0201 はASCII コードと似ているが微妙に違う。よくわからない場合は -fn と同じフォントを指定すること。指定可能なフォントは xlsfonts などで調べることができる。
-km kanjimode
漢字コードを指定する。kterm は JIS コード (ISO-2022-JP) はいつでも出力できるが、EUC と SJIS の自動判別は難しいため、EUC と SJIS のどちらを表示できるようにするかはユーザが選ばなくてはいけない。
% kterm -km euc
とすると、JIS と EUC を表示できる。一方
% kterm -km sjis
だと、JIS と SJIS が表示できる。この漢字モードは kterm 上で
「Ctrl+マウスの真ん中ボタン」
で開くメニューの中で、「Japanese EUC Mode」「Shift-JIS Mode」を選択することで kterm 実行中に変更することができる。

UNIX 上では EUC を使うことの方が多いので、普通は EUC モードにしておくとよいだろう。ただしその場合は SJIS のファイルを cat コマンドなどで表示すると化けてしまうので、
% cat sjis-flie | nkf -e
とするか、cat を使わず mule や less コマンドでファイルを見るとよい。
-C コンソールのメッセージを表示する (/dev/console 宛に出力された文字も出力されるようになる)
-cr colorname カーソル部分の色を指定する。
-hc colorname マウスでドラッグした部分の色を指定する。
このオプションは xterm のみ使用可で、kterm では使えないらしい。色の名前は showrgb・xcolors などで調べることができる。
-b 数字 kterm 内部の端から、ウィンドウ自体の端までのドット数。
-e コマンド
kterm を実行すると、そのウィンドウの中で指定したプログラムを実行する。
% kterm -e top
などと指定する。そのプログラムが終了すると自動的に kterm も閉じてしまうので、
% kterm -e cal
は、cal の実行が終ると一瞬で kterm も閉じてしまう。そういうときは、
% kterm -e sh -c 'cal; exec sh' (シェルが起動する)
% kterm -e sh -c 'cal; read line' (Enter キーを押すと終了)
とすればよい。

また、-e オプションは
% kterm -cr red -e top
のように最後に指定すること。
% kterm -e top -cr red
ではうまくいかない。
-mc 数字 マウスクリックの際に、ダブル/トリプルクリックと認識される最大時間を指定する。
% kterm -mc 300
とすると、300ミリ秒 (0.3秒) を越えると、ダブルクリックとは認識されない。
-sb スクロールバーを表示する
スクロールバーを操作することで、画面からスクロールしてしまった部分を参照することができる。スクロールバーが表示されていない場合は、「Ctrl+マウスの真ん中ボタン」を押して一番上の「Enable Scrollbar」を選択すると、スクロールバーが表示される。-sb オプションを付けると、最初からスクロールバーが表示される。

また、スクロールバーを操作しなくても、Shift+PageUp・Shift+PageDown で kterm の画面を遡ることができる。
-sl 数字 スクロールバーで戻ることができる行数を指定する。
たまに、もっと戻りたいのだが、これ以上戻れないという状況がある。最近のマシンは潤沢なメモリを積んでいるので、1000 行程度指定しておいた方がよいだろう。デフォルトは 64 行。
-r 文字色と背景色を逆にする

以下はリソース設定。~/.Xdefaults や ~/.Xresources に記述すること。
charClass
kterm の文字上でダブルクリックした場合、一定範囲の文字列がカットバッファに入る(反転表示される)。charClass を設定することで、どこまでを文字列として認識するかを設定できる。お勧めは
KTerm*VT100*charClass: 35:48,37-38:48,43:48,45-47:48,58:48,61:48,63-64:48,126:48
これだと、URL らしき文字列の上でダブルクリックすることで、カットバッファに格納できる。
EightBitInput
kterm + mule -nw 上で、Alt-v で上方向に1画面スクロールせず、わざわざ ESC-v とタイプしている人はこれを false にするとよい。Alt-v が Esc-v と同等に扱われる。ただし、kterm + emacs-20.7 -nw ではこれがなくても Alt-v が使える模様。なぜ?

お勧めオプションは、
% kterm -fn 8x16 -fr 8x16 -fk kanji16 -km euc -sl 1000
である。フォントは16ドット。漢字モードは EUC。スクロールバーで戻れる行数は 1000 行。オプションでなくリソース設定で行うなら、~/.Xdefaults や ~/.Xresources に
*VT100*font: 8x16
*VT100*romanKanaFont: 8x16
*VT100*kanjiFont: kanji16
*VT100*kanjiMode: euc
*VT100*saveLines: 1000
*VT100*charClass: 35:48,37-38:48,43:48,45-47:48,58:48,61:48,63-64:48,126:48
*VT100*EightBitInput: false
と書いておくとよい。