デフォルトのままでは日本語入力をすると文字化けてしまう。
PuTTY 編
言わずもがなことですが、言語設定をしましょう。私の環境は UTF-8 なので、かつ日本語が通る必要があるので「UTF-8 (CJK)」にしておきます。
ターミナル編
続いてターミナルの設定を行う。私の環境 (Debian etch) では大丈夫でしたが、以下のコマンドを実行し、文字の 8 ビット目が正しく入力できるようにする。
8 ビット文字を入力できるようにする
% stty pass8
設定状況は -a オプションで見ることができる。このとき -parenb -istrip cs8 が含まれていれば良い。
stty -a したところ
% stty -a speed 38400 baud; rows 50; columns 80; line = 0; intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0; -parenb -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8 opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke
この段階で、ターミナル上から日本語文字が入力できるはずである。仮に cat > test とかやって日本語が正しく入力でき、更に入力した日本語が正しく表示できるか確かめておく。
日本語入力の確認
% cat > test # 入力を終わらせるときは Ctrl-D 日本語OK % cat test 日本語OK
設定が必要だった環境では stty pass8 が毎回必要になってしまう。これでは面倒なので、シェルの .profile*1 に記述しておくと良い。
screen 編
上でも書いたとおり、ターミナルは 7 ビットしか通さないように設定してあるものが多く、screen も同様である。つまるところ、screen の設定を変更することで 8 ビット文字を正しく入力すれば良いのである。
その設定とは defc1 off である。これを .screenrc 辺りに書き加えて screen を再起動すれば良い。
.screenrc に加える 1 行
defc1 off
因みに再起動できないような screen は [cmd] : defc1 off と、全てのウィンドウで [cmd] : c1 off を行えば良い*2。
因みに c1 の設定を切替えて試したスクリーンキャプチャは以下の通り。
そんなわけで、無事にリモートホスト上の vim に日本語入力できるようになりました。
This article is modified at 2008-08-09 00:17:35.
Related Entries
There is not related articles.
Trackbacks
Trackback URI: http://blog.c--v.net/trackback/2008/08/09/1
There is no trackback.


There is no comment.